Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.

En este estudio, se ha abordado el diseño de un método de optimización para la red matriz de acueducto en el municipio de Albán. El enfoque se basó en la implementación de algoritmos metaheurísticos en el entorno del software C#. Los objetivos específicos del estudio incluyeron la selección de un en...

Full description

Autores:
Guiza Ojeda, Bryan
Pacanchique Pérez, Daniel Ricardo
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/40541
Acceso en línea:
http://hdl.handle.net/11349/40541
Palabra clave:
Metaheurística
Heurística
Acueducto
Programación
Optimización
Ingeniería Civil -- Tesis y disertaciones
Optimización de redes de acueducto
Algoritmos metaheurísticos
Modelado y simulación en c #
Gestión de recursos hídricos en municipios
Metaheuristics
Heuristics
Aqueduct
Programming
Optimization
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_e4314103711f8908d008295e65a6e817
oai_identifier_str oai:repository.udistrital.edu.co:11349/40541
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
dc.title.titleenglish.none.fl_str_mv Optimization design of the main network of the aqueduct of the municipality of Albán Cundinamarca, through methods metaheuristics
title Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
spellingShingle Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
Metaheurística
Heurística
Acueducto
Programación
Optimización
Ingeniería Civil -- Tesis y disertaciones
Optimización de redes de acueducto
Algoritmos metaheurísticos
Modelado y simulación en c #
Gestión de recursos hídricos en municipios
Metaheuristics
Heuristics
Aqueduct
Programming
Optimization
title_short Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
title_full Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
title_fullStr Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
title_full_unstemmed Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
title_sort Diseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.
dc.creator.fl_str_mv Guiza Ojeda, Bryan
Pacanchique Pérez, Daniel Ricardo
dc.contributor.advisor.none.fl_str_mv Zamudio Huertas, Eduardo
dc.contributor.author.none.fl_str_mv Guiza Ojeda, Bryan
Pacanchique Pérez, Daniel Ricardo
dc.contributor.orcid.none.fl_str_mv Zamudio Huertas Eduardo [0000-0002-9698-5419]
dc.subject.none.fl_str_mv Metaheurística
Heurística
Acueducto
Programación
Optimización
topic Metaheurística
Heurística
Acueducto
Programación
Optimización
Ingeniería Civil -- Tesis y disertaciones
Optimización de redes de acueducto
Algoritmos metaheurísticos
Modelado y simulación en c #
Gestión de recursos hídricos en municipios
Metaheuristics
Heuristics
Aqueduct
Programming
Optimization
dc.subject.lemb.none.fl_str_mv Ingeniería Civil -- Tesis y disertaciones
Optimización de redes de acueducto
Algoritmos metaheurísticos
Modelado y simulación en c #
Gestión de recursos hídricos en municipios
dc.subject.keyword.none.fl_str_mv Metaheuristics
Heuristics
Aqueduct
Programming
Optimization
description En este estudio, se ha abordado el diseño de un método de optimización para la red matriz de acueducto en el municipio de Albán. El enfoque se basó en la implementación de algoritmos metaheurísticos en el entorno del software C#. Los objetivos específicos del estudio incluyeron la selección de un enfoque adecuado para optimizar la red de acueducto, teniendo en cuenta sus particularidades y restricciones. La implementación de este enfoque se logró mediante el lenguaje de programación de C#, lo que permitió modelar y analizar de manera precisa la complejidad de la red de distribución de agua en el municipio. El algoritmo metaheurístico se ejecutó en la red de acueducto de Albán, y los resultados demostraron la eficacia de este enfoque en la mejora de la eficiencia y la reducción de pérdidas de energía en el sistema. La comparación entre la red de acueducto existente y la optimizada reveló diferencias significativas en términos de costos y eficiencia, respaldando la viabilidad de la solución propuesta. En el contexto de la ingeniería, este estudio aporta una perspectiva innovadora para abordar los desafíos de optimización en sistemas de acueducto municipales. La aplicación exitosa de algoritmos metaheurísticos programados en el lenguaje del software C# para resolver problemas de diseño y eficiencia en la distribución de agua muestra un camino prometedor para la gestión más efectiva de los recursos hídricos en otras localidades con características similares a Albán. En cuanto a recomendaciones, se sugiere considerar la implementación práctica de la solución óptima en la red de acueducto de Albán, en coordinación con las autoridades locales y los expertos en ingeniería. Además, mantener una actualización constante de los datos relevantes es esencial para mantener la eficiencia del sistema optimizado. Dado el éxito de este enfoque en Albán, sería beneficioso explorar la posibilidad de aplicar métodos similares en otros municipios que enfrenten desafíos similares en la gestión de su red de acueducto.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-10-20
dc.date.accessioned.none.fl_str_mv 2024-09-09T16:29:11Z
dc.date.available.none.fl_str_mv 2024-09-09T16:29:11Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.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/40541
url http://hdl.handle.net/11349/40541
dc.language.iso.none.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 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 Attribution-NonCommercial-NoDerivatives 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 https://repository.udistrital.edu.co/bitstreams/46c0023c-0e2d-4069-9b8f-7ca6f06ba0e8/download
https://repository.udistrital.edu.co/bitstreams/112dc06b-bfdb-433c-bf61-d6a849615528/download
https://repository.udistrital.edu.co/bitstreams/20632bfe-7a01-4118-a372-9b4cdf98966f/download
https://repository.udistrital.edu.co/bitstreams/1cb9f2cc-0da3-4c5c-b021-eb2921d3218f/download
https://repository.udistrital.edu.co/bitstreams/271275a1-7257-48a4-9087-c4bf989281fe/download
https://repository.udistrital.edu.co/bitstreams/3b483e7d-b059-41fc-9280-23ad63d149c2/download
https://repository.udistrital.edu.co/bitstreams/f4bc3302-b32d-44b9-8c21-b4ae022d0c67/download
bitstream.checksum.fl_str_mv 4460e5956bc1d1639be9ae6146a50347
997daf6c648c962d566d7b082dac908d
b58b65a2d477c9f97ed935bf41f46f7c
f3e52f03190245655ae57e8e286f4adc
98fc66998bcc521951b255333277e311
f1c511ac6bcc2528230bbdfa1253bfb6
ec8a43dc9f28593a94d841ae03639b5a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828164856438587392
spelling Zamudio Huertas, EduardoGuiza Ojeda, BryanPacanchique Pérez, Daniel RicardoZamudio Huertas Eduardo [0000-0002-9698-5419]2024-09-09T16:29:11Z2024-09-09T16:29:11Z2023-10-20http://hdl.handle.net/11349/40541En este estudio, se ha abordado el diseño de un método de optimización para la red matriz de acueducto en el municipio de Albán. El enfoque se basó en la implementación de algoritmos metaheurísticos en el entorno del software C#. Los objetivos específicos del estudio incluyeron la selección de un enfoque adecuado para optimizar la red de acueducto, teniendo en cuenta sus particularidades y restricciones. La implementación de este enfoque se logró mediante el lenguaje de programación de C#, lo que permitió modelar y analizar de manera precisa la complejidad de la red de distribución de agua en el municipio. El algoritmo metaheurístico se ejecutó en la red de acueducto de Albán, y los resultados demostraron la eficacia de este enfoque en la mejora de la eficiencia y la reducción de pérdidas de energía en el sistema. La comparación entre la red de acueducto existente y la optimizada reveló diferencias significativas en términos de costos y eficiencia, respaldando la viabilidad de la solución propuesta. En el contexto de la ingeniería, este estudio aporta una perspectiva innovadora para abordar los desafíos de optimización en sistemas de acueducto municipales. La aplicación exitosa de algoritmos metaheurísticos programados en el lenguaje del software C# para resolver problemas de diseño y eficiencia en la distribución de agua muestra un camino prometedor para la gestión más efectiva de los recursos hídricos en otras localidades con características similares a Albán. En cuanto a recomendaciones, se sugiere considerar la implementación práctica de la solución óptima en la red de acueducto de Albán, en coordinación con las autoridades locales y los expertos en ingeniería. Además, mantener una actualización constante de los datos relevantes es esencial para mantener la eficiencia del sistema optimizado. Dado el éxito de este enfoque en Albán, sería beneficioso explorar la posibilidad de aplicar métodos similares en otros municipios que enfrenten desafíos similares en la gestión de su red de acueducto.In this study, the design of an optimization method for the main aqueduct network in the municipality of Albán has been addressed. The approach was based on the implementation of metaheuristic algorithms in the C# software environment. The specific objectives of the study included the selection of a suitable approach to 5 optimize the aqueduct network, taking into account its particularities and restrictions. The implementation of this approach was achieved through the C# programming language, which allowed to accurately model and analyze the complexity of the water distribution network in the municipality. The metaheuristic algorithm was run on the Albán aqueduct network, and the results demonstrated the effectiveness of this approach in improving efficiency and reducing energy losses in the system. The comparison between the existing aqueduct network and the optimized one revealed significant differences in terms of costs and efficiency, supporting the feasibility of the proposed solution. In the context of engineering, this study provides an innovative perspective to address optimization challenges in municipal aqueduct systems. The successful application of metaheuristic algorithms programmed in the C# software language to solve design and efficiency problems in water distribution shows a promising path for more effective management of water resources in other locations with similar characteristics to Albán. Regarding recommendations, it is suggested to consider the practical implementation of the optimal solution in the Albán aqueduct network, in coordination with local authorities and engineering experts. Furthermore, keeping a constant update of the relevant data is essential to maintain the efficiency of the optimized system. Given the success of this approach in Albán, it would be beneficial to explore the possibility of applying similar methods in other municipalities facing similar challenges in managing their aqueduct network.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2MetaheurísticaHeurísticaAcueductoProgramaciónOptimizaciónIngeniería Civil -- Tesis y disertacionesOptimización de redes de acueductoAlgoritmos metaheurísticosModelado y simulación en c #Gestión de recursos hídricos en municipiosMetaheuristicsHeuristicsAqueductProgrammingOptimizationDiseño de optimización de la red matriz del acueducto del municipio de Albán Cundinamarca, mediante métodos metaheurísticos.Optimization design of the main network of the aqueduct of the municipality of Albán Cundinamarca, through methods metaheuristicsbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/46c0023c-0e2d-4069-9b8f-7ca6f06ba0e8/download4460e5956bc1d1639be9ae6146a50347MD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/112dc06b-bfdb-433c-bf61-d6a849615528/download997daf6c648c962d566d7b082dac908dMD55ORIGINALGuizaOjedaBryan2023.pdfGuizaOjedaBryan2023.pdfTrabajo de gradoapplication/pdf713187https://repository.udistrital.edu.co/bitstreams/20632bfe-7a01-4118-a372-9b4cdf98966f/downloadb58b65a2d477c9f97ed935bf41f46f7cMD51GuizaOjedaBryan2023anexos.rarGuizaOjedaBryan2023anexos.rarAnexosapplication/octet-stream87https://repository.udistrital.edu.co/bitstreams/1cb9f2cc-0da3-4c5c-b021-eb2921d3218f/downloadf3e52f03190245655ae57e8e286f4adcMD52Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y autorizaciónapplication/pdf243533https://repository.udistrital.edu.co/bitstreams/271275a1-7257-48a4-9087-c4bf989281fe/download98fc66998bcc521951b255333277e311MD53THUMBNAILGuizaOjedaBryan2023.pdf.jpgGuizaOjedaBryan2023.pdf.jpgIM Thumbnailimage/jpeg5481https://repository.udistrital.edu.co/bitstreams/3b483e7d-b059-41fc-9280-23ad63d149c2/downloadf1c511ac6bcc2528230bbdfa1253bfb6MD56Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg9639https://repository.udistrital.edu.co/bitstreams/f4bc3302-b32d-44b9-8c21-b4ae022d0c67/downloadec8a43dc9f28593a94d841ae03639b5aMD5711349/40541oai:repository.udistrital.edu.co:11349/405412024-11-03 01:02:14.906http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK