Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas

Los trabajos de geomática que involucran un posicionamiento GNSS y la navegación de los puntos de la red pasiva implican identificar la ubicación geográfica de cada punto materializado para obtener sus coordenadas MAGNA SIRGAS y su respectiva cota geométrica. En el caso de la red activa, implica con...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2020
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/25820
Acceso en línea:
http://hdl.handle.net/11349/25820
Palabra clave:
Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Conversión de Coordenadas, GeoRED, GNSS.
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Aplicaciones móviles
Geodesia
Topografía
Medición de superficies
Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Coordinate Conversion System, GeoRED, GNSS.
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_8bac56dff46c161dd14b36f25a2048e7
oai_identifier_str oai:repository.udistrital.edu.co:11349/25820
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
dc.title.titleenglish.spa.fl_str_mv Design and implementation of an android mobile application for navigation and use of the IGAC geodetic network and coordinate conversion in the Magna Sirgas system
title Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
spellingShingle Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Conversión de Coordenadas, GeoRED, GNSS.
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Aplicaciones móviles
Geodesia
Topografía
Medición de superficies
Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Coordinate Conversion System, GeoRED, GNSS.
title_short Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
title_full Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
title_fullStr Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
title_full_unstemmed Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
title_sort Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna Sirgas
dc.contributor.advisor.spa.fl_str_mv Madera Arteaga, Evelio Luis
dc.subject.spa.fl_str_mv Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Conversión de Coordenadas, GeoRED, GNSS.
topic Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Conversión de Coordenadas, GeoRED, GNSS.
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Aplicaciones móviles
Geodesia
Topografía
Medición de superficies
Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Coordinate Conversion System, GeoRED, GNSS.
dc.subject.lemb.spa.fl_str_mv Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Aplicaciones móviles
Geodesia
Topografía
Medición de superficies
dc.subject.keyword.spa.fl_str_mv Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Coordinate Conversion System, GeoRED, GNSS.
description Los trabajos de geomática que involucran un posicionamiento GNSS y la navegación de los puntos de la red pasiva implican identificar la ubicación geográfica de cada punto materializado para obtener sus coordenadas MAGNA SIRGAS y su respectiva cota geométrica. En el caso de la red activa, implica conocer la distancia de la estación más cercana al punto del levantamiento topográfico. Un problema recurrente es la falta de señal en zonas rurales para consultar la información de los datos abiertos del IGAC. Así mismo, la consulta del tiempo de rastreo según diferentes normas de las empresas institucionales puede ser compleja si no hubo planeación anticipada de los trabajos en campo. Es importante tener alternativas locales para estas consultas. Por esta razón, se plantea diseñar e implementar una aplicación móvil que permita la navegación y cálculo de tiempos de rastreo usando la red de referencia geodésica del IGAC y la conversión de coordenadas dentro del datum MAGNA SIRGAS con tres objetivos: 1. Implementar un módulo para la navegación de puntos pertenecientes a la red Pasiva del IGAC. 2. Diseñar un módulo dentro de la aplicación para determinar los tiempos de rastreo mediante la observación GNSS en estático diferencial usando como puntos de referencia las estaciones de rastreo continuo del IGAC. 3. Desarrollar un módulo que permita la conversión de coordenadas dentro del datum MAGNA SIRGAS entre las proyecciones planas Cartesianas, Planas Gauss Krüger, Elipsoidales, Geocéntricas y el sistema plano CTM12.
publishDate 2020
dc.date.created.spa.fl_str_mv 2020-02-25
dc.date.accessioned.none.fl_str_mv 2021-03-16T23:44:42Z
dc.date.available.none.fl_str_mv 2021-03-16T23:44:42Z
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/25820
url http://hdl.handle.net/11349/25820
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/25820/1/SanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdf
http://repository.udistrital.edu.co/bitstream/11349/25820/2/AplicacionMeasureBook.zip
http://repository.udistrital.edu.co/bitstream/11349/25820/5/Licencia%20de%20uso%20y%20publicacion.pdf
http://repository.udistrital.edu.co/bitstream/11349/25820/6/C%c3%a9dula%20de%20Ciudadan%c3%ada%20Autores.pdf
http://repository.udistrital.edu.co/bitstream/11349/25820/7/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/25820/8/license.txt
http://repository.udistrital.edu.co/bitstream/11349/25820/9/SanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/25820/10/Licencia%20de%20uso%20y%20publicacion.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/25820/11/C%c3%a9dula%20de%20Ciudadan%c3%ada%20Autores.pdf.jpg
bitstream.checksum.fl_str_mv c038f447fe96dbe8f8ffefbc4cae9635
cacbd9c03ace8fc21d2881382e2c8a21
bc7512e8ec1882f64a312742d5ef00af
f3a9e1cf86580baaa89777047b6e8698
217700a34da79ed616c2feb68d4c5e06
997daf6c648c962d566d7b082dac908d
177e8daa13ff1083b623f55cb081f4d0
9f75ba266978cd8e2630768f31553e06
ec52417291e84a58ccb6fc5ce03f83e9
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
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_ 1803712753784848384
spelling Madera Arteaga, Evelio LuisGil Angel, Layda YanethSánchez Osorio, Rafael Fabian2021-03-16T23:44:42Z2021-03-16T23:44:42Z2020-02-25http://hdl.handle.net/11349/25820Los trabajos de geomática que involucran un posicionamiento GNSS y la navegación de los puntos de la red pasiva implican identificar la ubicación geográfica de cada punto materializado para obtener sus coordenadas MAGNA SIRGAS y su respectiva cota geométrica. En el caso de la red activa, implica conocer la distancia de la estación más cercana al punto del levantamiento topográfico. Un problema recurrente es la falta de señal en zonas rurales para consultar la información de los datos abiertos del IGAC. Así mismo, la consulta del tiempo de rastreo según diferentes normas de las empresas institucionales puede ser compleja si no hubo planeación anticipada de los trabajos en campo. Es importante tener alternativas locales para estas consultas. Por esta razón, se plantea diseñar e implementar una aplicación móvil que permita la navegación y cálculo de tiempos de rastreo usando la red de referencia geodésica del IGAC y la conversión de coordenadas dentro del datum MAGNA SIRGAS con tres objetivos: 1. Implementar un módulo para la navegación de puntos pertenecientes a la red Pasiva del IGAC. 2. Diseñar un módulo dentro de la aplicación para determinar los tiempos de rastreo mediante la observación GNSS en estático diferencial usando como puntos de referencia las estaciones de rastreo continuo del IGAC. 3. Desarrollar un módulo que permita la conversión de coordenadas dentro del datum MAGNA SIRGAS entre las proyecciones planas Cartesianas, Planas Gauss Krüger, Elipsoidales, Geocéntricas y el sistema plano CTM12.The Geomatic works involves GNSS positioning and navigation system of the passive Instituto Geográfico Agustín Codazzi (IGAC) network. The system needs to identify the geographical location of each materialized point to obtain its coordinates and its respective geometric elevation. In the case of the active network, it implies knowing the distance from the closest station to the point of the topographic survey. A recurring problem is a poor signal in rural areas to consult IGAC open data information. Besides, consulting the tracking time according to different standards of institutional companies can be difficult if there was no planning work before going to the land work. It is important to have alternatives for these problems at a surveyor’s work. For this reason, we proposed to design and implement a mobile application for navigation and calculation of tracking times using the IGAC geodetic reference network and the conversion of coordinates in the MAGNA SIRGAS datum with three objectives: 1. Implement a module to navigation of points for the IGAC Passive network. 2. Design a module to determine tracking times by GNSS position system using the IGAC continuous tracking stations. 3. Develop a module that allows the conversion of coordinates in the MAGNA SIRGAS datum between Cartesian Plane Projections, Gauss Krüger Coordinates, Ellipsoidal Coordinates, Geocentric Coordinates, and the CTM12 UTM system.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_abf2Android, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Conversión de Coordenadas, GeoRED, GNSS.Ingeniería Catastral y Geodesia - Tesis y disertaciones académicasAplicaciones móvilesGeodesiaTopografíaMedición de superficiesAndroid, Visual Studio Code, Flutter, Dart, SQLite, Scrum, Git, GitHub, AdobeXD, User Experience, User Interface, IGAC, Coordinate Conversion System, GeoRED, GNSS.Diseño e implementación de una aplicación móvil Android para la navegación y aprovechamiento de la red geodésica del IGAC y conversión de coordenadas dentro del sistema Magna SirgasDesign and implementation of an android mobile application for navigation and use of the IGAC geodetic network and coordinate conversion in the Magna Sirgas systemMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALSanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdfSanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdfArticulo principalapplication/pdf3535012http://repository.udistrital.edu.co/bitstream/11349/25820/1/SanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdfc038f447fe96dbe8f8ffefbc4cae9635MD51open accessAplicacionMeasureBook.zipAplicacionMeasureBook.zipAplicación Androidapplication/zip12884612http://repository.udistrital.edu.co/bitstream/11349/25820/2/AplicacionMeasureBook.zipcacbd9c03ace8fc21d2881382e2c8a21MD52open accessLicencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicación Autoresapplication/pdf480381http://repository.udistrital.edu.co/bitstream/11349/25820/5/Licencia%20de%20uso%20y%20publicacion.pdfbc7512e8ec1882f64a312742d5ef00afMD55metadata only accessCédula de Ciudadanía Autores.pdfCédula de Ciudadanía Autores.pdfCédula de ciudadanía autoresapplication/pdf924506http://repository.udistrital.edu.co/bitstream/11349/25820/6/C%c3%a9dula%20de%20Ciudadan%c3%ada%20Autores.pdff3a9e1cf86580baaa89777047b6e8698MD56metadata only accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811http://repository.udistrital.edu.co/bitstream/11349/25820/7/license_rdf217700a34da79ed616c2feb68d4c5e06MD57open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/25820/8/license.txt997daf6c648c962d566d7b082dac908dMD58open accessTHUMBNAILSanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdf.jpgSanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdf.jpgIM Thumbnailimage/jpeg6396http://repository.udistrital.edu.co/bitstream/11349/25820/9/SanchezOsorioRafaelFabian2020_GilAngelLaydaYaneth2020.pdf.jpg177e8daa13ff1083b623f55cb081f4d0MD59open accessLicencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13148http://repository.udistrital.edu.co/bitstream/11349/25820/10/Licencia%20de%20uso%20y%20publicacion.pdf.jpg9f75ba266978cd8e2630768f31553e06MD510open accessCédula de Ciudadanía Autores.pdf.jpgCédula de Ciudadanía Autores.pdf.jpgIM Thumbnailimage/jpeg12920http://repository.udistrital.edu.co/bitstream/11349/25820/11/C%c3%a9dula%20de%20Ciudadan%c3%ada%20Autores.pdf.jpgec52417291e84a58ccb6fc5ce03f83e9MD511open access11349/25820oai:repository.udistrital.edu.co:11349/258202023-06-13 14:03:05.7open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK