GEOUSO: plugin de QGIS para generar certificados de uso del suelo

Plugin de QGIS que automatiza la expedición de certificados de uso del suelo en el municipio de Zipaquirá. Integra bases de datos PostgreSQL/PostGIS, una interfaz diseñada en Qt Designer y funcionalidades programadas en Python, permitiendo agilizar tareas repetitivas, reducir errores y mejorar la ef...

Full description

Autores:
Nieto Rodríguez, Laura Marcela
Villarraga Forero, María Paz
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93912
Acceso en línea:
http://hdl.handle.net/11349/93912
Palabra clave:
Uso del Suelo
Certificado
Actividad Económica
Ordenamiento Territorial
Especialización en Sistemas de Información Geográfica -- Tesis y disertaciones académicas
Certificate
Land Use
Economic Activity
Territorial Planning
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_6f3036a80614ad03f6e3b030e25ea535
oai_identifier_str oai:repository.udistrital.edu.co:11349/93912
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv GEOUSO: plugin de QGIS para generar certificados de uso del suelo
dc.title.titleenglish.none.fl_str_mv GEOUSO: QGIS plugin for generating land use certificates
title GEOUSO: plugin de QGIS para generar certificados de uso del suelo
spellingShingle GEOUSO: plugin de QGIS para generar certificados de uso del suelo
Uso del Suelo
Certificado
Actividad Económica
Ordenamiento Territorial
Especialización en Sistemas de Información Geográfica -- Tesis y disertaciones académicas
Certificate
Land Use
Economic Activity
Territorial Planning
title_short GEOUSO: plugin de QGIS para generar certificados de uso del suelo
title_full GEOUSO: plugin de QGIS para generar certificados de uso del suelo
title_fullStr GEOUSO: plugin de QGIS para generar certificados de uso del suelo
title_full_unstemmed GEOUSO: plugin de QGIS para generar certificados de uso del suelo
title_sort GEOUSO: plugin de QGIS para generar certificados de uso del suelo
dc.creator.fl_str_mv Nieto Rodríguez, Laura Marcela
Villarraga Forero, María Paz
dc.contributor.advisor.none.fl_str_mv Ramírez Fernández, Salomón Einstein
dc.contributor.author.none.fl_str_mv Nieto Rodríguez, Laura Marcela
Villarraga Forero, María Paz
dc.subject.none.fl_str_mv Uso del Suelo
Certificado
Actividad Económica
Ordenamiento Territorial
topic Uso del Suelo
Certificado
Actividad Económica
Ordenamiento Territorial
Especialización en Sistemas de Información Geográfica -- Tesis y disertaciones académicas
Certificate
Land Use
Economic Activity
Territorial Planning
dc.subject.lemb.none.fl_str_mv Especialización en Sistemas de Información Geográfica -- Tesis y disertaciones académicas
dc.subject.keyword.none.fl_str_mv Certificate
Land Use
Economic Activity
Territorial Planning
description Plugin de QGIS que automatiza la expedición de certificados de uso del suelo en el municipio de Zipaquirá. Integra bases de datos PostgreSQL/PostGIS, una interfaz diseñada en Qt Designer y funcionalidades programadas en Python, permitiendo agilizar tareas repetitivas, reducir errores y mejorar la eficiencia operativa y la transparencia en la gestión pública. Este plugin facilita a los funcionarios la consulta de predios, la verificación de normativas y la generación de certificados en formato PDF de manera rápida y precisa.
publishDate 2024
dc.date.created.none.fl_str_mv 2024-12-03
dc.date.accessioned.none.fl_str_mv 2025-03-19T21:57:18Z
dc.date.available.none.fl_str_mv 2025-03-19T21:57:18Z
dc.type.none.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.none.fl_str_mv Monografía
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/93912
url http://hdl.handle.net/11349/93912
dc.relation.references.none.fl_str_mv Alcaldía Mayor de Bogotá. (2021). Manual de procedimientos para la expedición de certificados de uso del suelo. Secretaría de Planeación.
Cárdenas, J., y Ruiz, L. (2020). La certificación de uso del suelo y su importancia en la gestión urbana. Editorial Universitaria.
Congreso de la República de Colombia. (1997). Ley 388 de 1997. Diario Oficial.
Davenport, T. H., y Ronanki, R. (2018). Artificial Intelligence for the Real World. Harvard Business Review, 96(1), 108–116
ESRI. (2020). ArcGIS: The Mapping and Analytics Platform. Environmental Systems Research Institute.
Figueiredo, D., y Cunha, P. (2021). Automatización de procesos en la gestión pública. Revista de Administración Pública, 55(2), 250–270.
García, M. (2018). Sistemas de Información Geográfica aplicados a la planificación urbana. Editorial GIS Latinoamérica.
Goodchild, M. F. (2007). Citizens as sensors: The world of volunteered geography. GeoJournal, 69(4), 211-221.
González, P., Martínez, A., y López, M. (2020). Ordenamiento territorial en América Latina: Desafíos y oportunidades. Revista Latinoamericana de Estudios Urbanos, 35(1), 33–50.
Graser, A. (2013). Learning QGIS 2.0. Packt Publishing Ltd
Instituto Geográfico Agustín Codazzi. (s.f.). ¿Cómo consulto el uso del suelo de un predio? Colombia en Mapas. https://colombiaenmapas.gitbook.io
Marques, J. (2019). Automatización y su impacto en la eficiencia administrativa. Journal of Public Administration, 47(1), 90–112.
Molina, R. (2017). Planificación del uso del suelo en Colombia: Un enfoque multidimensional. Editorial Jurídica.
Ministerio de Vivienda, Ciudad y Territorio. (2015). Decreto 1077 de 2015. Diario Oficial.
Peña, V., y Rodríguez, S. (2018). Transparencia y trazabilidad en la gestión pública. Revista Internacional de Gestión Pública, 22(3), 45–60.
Pérez, L., y López, F. (2018). Gestión territorial y desarrollo sostenible. Fondo de Cultura Económica.
QGIS Project. (2022). QGIS User Guide. QGIS.org.
Ramírez, A. (2019). Uso del suelo y sostenibilidad urbana. Universidad Nacional de Colombia.
Ventanilla Única Empresarial. (s.f.). Formalización de empresas. Ventanilla Única Empresarial - VUE. https://www.vue.gov.co
Zarate, A., y Ayala, C. (2016). Gestión pública eficiente: Un análisis de casos en América Latina. Editorial EAFIT.
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/c4a03bcf-66c1-4ac5-bf03-bc1198296710/download
https://repository.udistrital.edu.co/bitstreams/f615cae1-a274-4e3d-9e78-0bd7f92bb89e/download
https://repository.udistrital.edu.co/bitstreams/89189c13-ea83-487a-b09c-80525f1d7f76/download
https://repository.udistrital.edu.co/bitstreams/a693280a-1c1c-45d2-81f3-adbec169f385/download
https://repository.udistrital.edu.co/bitstreams/dde383ab-5ca6-4b4e-84a0-015793c9f33a/download
https://repository.udistrital.edu.co/bitstreams/cc649405-fff3-4bd1-9efa-12fbeb6665d5/download
bitstream.checksum.fl_str_mv 997daf6c648c962d566d7b082dac908d
c14d315fa7be1047804be186738051ac
26cc9f9b30e290520ae80329de4eb336
82c23cd47567f83ac797dd6f746fd2f5
c457acd65f8043a3e6367064a54e9c64
8eda9d0a6a06ac9db38076fea0003094
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837006968152129536
spelling Ramírez Fernández, Salomón EinsteinNieto Rodríguez, Laura MarcelaVillarraga Forero, María Paz2025-03-19T21:57:18Z2025-03-19T21:57:18Z2024-12-03http://hdl.handle.net/11349/93912Plugin de QGIS que automatiza la expedición de certificados de uso del suelo en el municipio de Zipaquirá. Integra bases de datos PostgreSQL/PostGIS, una interfaz diseñada en Qt Designer y funcionalidades programadas en Python, permitiendo agilizar tareas repetitivas, reducir errores y mejorar la eficiencia operativa y la transparencia en la gestión pública. Este plugin facilita a los funcionarios la consulta de predios, la verificación de normativas y la generación de certificados en formato PDF de manera rápida y precisa.Plugin de QGIS que automatiza la expedición de certificados de uso del suelo en el municipio de Zipaquirá. Integra bases de datos PostgreSQL/PostGIS, una interfaz diseñada en Qt Designer y funcionalidades programadas en Python, permitiendo agilizar tareas repetitivas, reducir errores y mejorar la eficiencia operativa y la transparencia en la gestión pública. Este plugin facilita a los funcionarios la consulta de predios, la verificación de normativas y la generación de certificados en formato PDF de manera rápida y precisa.pdfUso del SueloCertificadoActividad EconómicaOrdenamiento TerritorialEspecialización en Sistemas de Información Geográfica -- Tesis y disertaciones académicasCertificateLand UseEconomic ActivityTerritorial PlanningGEOUSO: plugin de QGIS para generar certificados de uso del sueloGEOUSO: QGIS plugin for generating land use certificatesbachelorThesisMonografíahttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Alcaldía Mayor de Bogotá. (2021). Manual de procedimientos para la expedición de certificados de uso del suelo. Secretaría de Planeación.Cárdenas, J., y Ruiz, L. (2020). La certificación de uso del suelo y su importancia en la gestión urbana. Editorial Universitaria.Congreso de la República de Colombia. (1997). Ley 388 de 1997. Diario Oficial.Davenport, T. H., y Ronanki, R. (2018). Artificial Intelligence for the Real World. Harvard Business Review, 96(1), 108–116ESRI. (2020). ArcGIS: The Mapping and Analytics Platform. Environmental Systems Research Institute.Figueiredo, D., y Cunha, P. (2021). Automatización de procesos en la gestión pública. Revista de Administración Pública, 55(2), 250–270.García, M. (2018). Sistemas de Información Geográfica aplicados a la planificación urbana. Editorial GIS Latinoamérica.Goodchild, M. F. (2007). Citizens as sensors: The world of volunteered geography. GeoJournal, 69(4), 211-221.González, P., Martínez, A., y López, M. (2020). Ordenamiento territorial en América Latina: Desafíos y oportunidades. Revista Latinoamericana de Estudios Urbanos, 35(1), 33–50.Graser, A. (2013). Learning QGIS 2.0. Packt Publishing LtdInstituto Geográfico Agustín Codazzi. (s.f.). ¿Cómo consulto el uso del suelo de un predio? Colombia en Mapas. https://colombiaenmapas.gitbook.ioMarques, J. (2019). Automatización y su impacto en la eficiencia administrativa. Journal of Public Administration, 47(1), 90–112.Molina, R. (2017). Planificación del uso del suelo en Colombia: Un enfoque multidimensional. Editorial Jurídica.Ministerio de Vivienda, Ciudad y Territorio. (2015). Decreto 1077 de 2015. Diario Oficial.Peña, V., y Rodríguez, S. (2018). Transparencia y trazabilidad en la gestión pública. Revista Internacional de Gestión Pública, 22(3), 45–60.Pérez, L., y López, F. (2018). Gestión territorial y desarrollo sostenible. Fondo de Cultura Económica.QGIS Project. (2022). QGIS User Guide. QGIS.org.Ramírez, A. (2019). Uso del suelo y sostenibilidad urbana. Universidad Nacional de Colombia.Ventanilla Única Empresarial. (s.f.). Formalización de empresas. Ventanilla Única Empresarial - VUE. https://www.vue.gov.coZarate, A., y Ayala, C. (2016). Gestión pública eficiente: Un análisis de casos en América Latina. Editorial EAFIT.LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/c4a03bcf-66c1-4ac5-bf03-bc1198296710/download997daf6c648c962d566d7b082dac908dMD51ORIGINALNietoRodriguezLauraMarcela2024.pdfNietoRodriguezLauraMarcela2024.pdfapplication/pdf911020https://repository.udistrital.edu.co/bitstreams/f615cae1-a274-4e3d-9e78-0bd7f92bb89e/downloadc14d315fa7be1047804be186738051acMD52NietoRodriguezLauraMarcela2024Anexos.zipNietoRodriguezLauraMarcela2024Anexos.zipapplication/zip19462871https://repository.udistrital.edu.co/bitstreams/89189c13-ea83-487a-b09c-80525f1d7f76/download26cc9f9b30e290520ae80329de4eb336MD53Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf348522https://repository.udistrital.edu.co/bitstreams/a693280a-1c1c-45d2-81f3-adbec169f385/download82c23cd47567f83ac797dd6f746fd2f5MD54THUMBNAILNietoRodriguezLauraMarcela2024.pdf.jpgNietoRodriguezLauraMarcela2024.pdf.jpgIM Thumbnailimage/jpeg3659https://repository.udistrital.edu.co/bitstreams/dde383ab-5ca6-4b4e-84a0-015793c9f33a/downloadc457acd65f8043a3e6367064a54e9c64MD55Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg9502https://repository.udistrital.edu.co/bitstreams/cc649405-fff3-4bd1-9efa-12fbeb6665d5/download8eda9d0a6a06ac9db38076fea0003094MD5611349/93912oai:repository.udistrital.edu.co:11349/939122025-03-23 01:11:21.911open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK