Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR

En este documento se presenta un sistema telemático en el cual se da solución al control de asistencia mediante codificación QR, el cual se involucran mediante varias herramientas conformando una arquitectura que permite agilizar el proceso de registro y asistencia a uno o más eventos de manera ágil...

Full description

Autores:
Guevara Sierra, Deivy Geovany
Gamba Arizabaleta, Juan Camilo
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/41206
Acceso en línea:
http://hdl.handle.net/11349/41206
Palabra clave:
Evento
Codificación QR
Asistencia
Registro
Correo
Herramienta
Ingeniería Telemática -- Tesis y disertaciones académicas
Sistemas telemáticos de gestión
Control de asistencia mediante QR
Arquitectura de sistemas web
Desarrollo backend con Golang
Desarrollo frontend con Laravel
Event
QR Coding
Assistance
Registration
Mail
Tool
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_2571d286465058f72e9b8a4fea910ae5
oai_identifier_str oai:repository.udistrital.edu.co:11349/41206
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
dc.title.titleenglish.none.fl_str_mv Telematic system for the management and control of attendance at events by means of QR coding.
title Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
spellingShingle Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
Evento
Codificación QR
Asistencia
Registro
Correo
Herramienta
Ingeniería Telemática -- Tesis y disertaciones académicas
Sistemas telemáticos de gestión
Control de asistencia mediante QR
Arquitectura de sistemas web
Desarrollo backend con Golang
Desarrollo frontend con Laravel
Event
QR Coding
Assistance
Registration
Mail
Tool
title_short Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
title_full Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
title_fullStr Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
title_full_unstemmed Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
title_sort Sistema telemático para la gestión y control de asistencia a eventos mediante codificación QR
dc.creator.fl_str_mv Guevara Sierra, Deivy Geovany
Gamba Arizabaleta, Juan Camilo
dc.contributor.advisor.none.fl_str_mv Leguizamón Páez, Miguel Ángel
dc.contributor.author.none.fl_str_mv Guevara Sierra, Deivy Geovany
Gamba Arizabaleta, Juan Camilo
dc.contributor.orcid.none.fl_str_mv Leguizamón Páez,Miguel Ángel [0000-0003-0457-0126]
dc.subject.spa.fl_str_mv Evento
Codificación QR
Asistencia
Registro
Correo
Herramienta
topic Evento
Codificación QR
Asistencia
Registro
Correo
Herramienta
Ingeniería Telemática -- Tesis y disertaciones académicas
Sistemas telemáticos de gestión
Control de asistencia mediante QR
Arquitectura de sistemas web
Desarrollo backend con Golang
Desarrollo frontend con Laravel
Event
QR Coding
Assistance
Registration
Mail
Tool
dc.subject.lemb.none.fl_str_mv Ingeniería Telemática -- Tesis y disertaciones académicas
Sistemas telemáticos de gestión
Control de asistencia mediante QR
Arquitectura de sistemas web
Desarrollo backend con Golang
Desarrollo frontend con Laravel
dc.subject.keyword.spa.fl_str_mv Event
QR Coding
Assistance
Registration
Mail
Tool
description En este documento se presenta un sistema telemático en el cual se da solución al control de asistencia mediante codificación QR, el cual se involucran mediante varias herramientas conformando una arquitectura que permite agilizar el proceso de registro y asistencia a uno o más eventos de manera ágil para anfitriones y asistentes a participar. Para dicha construcción del sistema web se usaron 3 capas donde son el backend que mediante lambdas en golang y alojado en aws, permite el despliegue de las funcionalidades mediante serverless, el frontend que fue construido en laravel y la base de datos MYSQL para los administradores, así como la base de datos DynamoDB para los anfitriones, eventos y asistentes donde serán almacenados mediante AWS para realizar el consumo de las lambdas. El proceso consiste en que los administradores registran los eventos, los usuarios anfitriones y los asistentes, los cuales les llegará un código QR vía correo con el que podrán asistir y registrarse con dicho código para participar en el evento en cuestión. En este documento se detalla la metodología y procesos utilizados para el desarrollo del proyecto, así como los servicios arquitectónicos implementados.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-10-03T20:19:16Z
dc.date.available.none.fl_str_mv 2024-10-03T20:19:16Z
dc.date.created.none.fl_str_mv 2024-04-18
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/41206
url http://hdl.handle.net/11349/41206
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
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/838e11de-067f-4c37-96c2-db52a81258ba/download
https://repository.udistrital.edu.co/bitstreams/c5533c28-05d8-45aa-bcbb-dfa2197eb5a4/download
https://repository.udistrital.edu.co/bitstreams/a1885a6d-9067-4bb6-a77b-46dbb31c8eca/download
https://repository.udistrital.edu.co/bitstreams/1d78f14d-846e-4e2b-9277-9e0bb6b50f8e/download
https://repository.udistrital.edu.co/bitstreams/16f1116d-29d4-4b38-a98a-8cfc366d35d2/download
https://repository.udistrital.edu.co/bitstreams/2180c5ea-f950-434e-b78e-148bbe631a01/download
https://repository.udistrital.edu.co/bitstreams/d347378d-8d57-4392-9646-9fa96f0a5def/download
https://repository.udistrital.edu.co/bitstreams/e39d3485-360c-42af-ac4c-2fbdced27d78/download
bitstream.checksum.fl_str_mv 4460e5956bc1d1639be9ae6146a50347
e0583d586883d5a0c1dc0486d0828ea9
0fe848e8eca969b83f159bb4029e676d
3df4a1fbbb995226c1165ee5c8b8b1d7
997daf6c648c962d566d7b082dac908d
a6e5cfe111b39a4a1b9683daa5dab88e
14c55eb0a3ac787327caa58dbf707020
ecaf8f71859a31fc07986bf19a664a69
bitstream.checksumAlgorithm.fl_str_mv MD5
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_ 1828165523789053952
spelling Leguizamón Páez, Miguel ÁngelGuevara Sierra, Deivy GeovanyGamba Arizabaleta, Juan CamiloLeguizamón Páez,Miguel Ángel [0000-0003-0457-0126]2024-10-03T20:19:16Z2024-10-03T20:19:16Z2024-04-18http://hdl.handle.net/11349/41206En este documento se presenta un sistema telemático en el cual se da solución al control de asistencia mediante codificación QR, el cual se involucran mediante varias herramientas conformando una arquitectura que permite agilizar el proceso de registro y asistencia a uno o más eventos de manera ágil para anfitriones y asistentes a participar. Para dicha construcción del sistema web se usaron 3 capas donde son el backend que mediante lambdas en golang y alojado en aws, permite el despliegue de las funcionalidades mediante serverless, el frontend que fue construido en laravel y la base de datos MYSQL para los administradores, así como la base de datos DynamoDB para los anfitriones, eventos y asistentes donde serán almacenados mediante AWS para realizar el consumo de las lambdas. El proceso consiste en que los administradores registran los eventos, los usuarios anfitriones y los asistentes, los cuales les llegará un código QR vía correo con el que podrán asistir y registrarse con dicho código para participar en el evento en cuestión. En este documento se detalla la metodología y procesos utilizados para el desarrollo del proyecto, así como los servicios arquitectónicos implementados.This document presents a telematic system which provides a solution to the attendance control through QR coding, which is involved through various tools forming an architecture that streamlines the process of registration and attendance at one or more events in an agile way for hosts and attendees to participate. For the construction of the web system 3 layers were used where are the backend that through lambdas in golang and hosted in aws, allows the deployment of the functionalities through serverless, the frontend that was built in laravel and the MYSQL database for the administrators, as well as the DynamoDB database for the hosts, events and assistants where they will be stored through AWS to perform the consumption of the lambdas. The process consists of the administrators registering the events, the host users and the attendees, who will receive a QR code via email with which they can attend and register with this code to participate in the event in question. This document details the methodology and processes used for the development of the project, as well as the architectural services implemented.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2EventoCodificación QRAsistenciaRegistroCorreoHerramientaIngeniería Telemática -- Tesis y disertaciones académicasSistemas telemáticos de gestiónControl de asistencia mediante QRArquitectura de sistemas webDesarrollo backend con GolangDesarrollo frontend con LaravelEventQR CodingAssistanceRegistrationMailToolSistema telemático para la gestión y control de asistencia a eventos mediante codificación QRTelematic system for the management and control of attendance at events by means of QR coding.bachelorThesisMonografí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/838e11de-067f-4c37-96c2-db52a81258ba/download4460e5956bc1d1639be9ae6146a50347MD58ORIGINALGuevaraSierraDeivyGeovany2024.pdfGuevaraSierraDeivyGeovany2024.pdfTrabajo de gradoapplication/pdf2405172https://repository.udistrital.edu.co/bitstreams/c5533c28-05d8-45aa-bcbb-dfa2197eb5a4/downloade0583d586883d5a0c1dc0486d0828ea9MD52GuevaraSierraDeivyGeovany2024Anexo.ZipGuevaraSierraDeivyGeovany2024Anexo.ZipAnexosapplication/pdf3779842https://repository.udistrital.edu.co/bitstreams/a1885a6d-9067-4bb6-a77b-46dbb31c8eca/download0fe848e8eca969b83f159bb4029e676dMD53Licencia y autorización de los autores para publicar.pdfLicencia y autorización de los autores para publicar.pdfLicencia de uso y publicaciónapplication/pdf711094https://repository.udistrital.edu.co/bitstreams/1d78f14d-846e-4e2b-9277-9e0bb6b50f8e/download3df4a1fbbb995226c1165ee5c8b8b1d7MD56LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/16f1116d-29d4-4b38-a98a-8cfc366d35d2/download997daf6c648c962d566d7b082dac908dMD59THUMBNAILGuevaraSierraDeivyGeovany2024.pdf.jpgGuevaraSierraDeivyGeovany2024.pdf.jpgIM Thumbnailimage/jpeg5935https://repository.udistrital.edu.co/bitstreams/2180c5ea-f950-434e-b78e-148bbe631a01/downloada6e5cfe111b39a4a1b9683daa5dab88eMD510GuevaraSierraDeivyGeovany2024Anexo.Zip.jpgGuevaraSierraDeivyGeovany2024Anexo.Zip.jpgIM Thumbnailimage/jpeg6204https://repository.udistrital.edu.co/bitstreams/d347378d-8d57-4392-9646-9fa96f0a5def/download14c55eb0a3ac787327caa58dbf707020MD511Licencia y autorización de los autores para publicar.pdf.jpgLicencia y autorización de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg9583https://repository.udistrital.edu.co/bitstreams/e39d3485-360c-42af-ac4c-2fbdced27d78/downloadecaf8f71859a31fc07986bf19a664a69MD51211349/41206oai:repository.udistrital.edu.co:11349/412062024-12-02 01:05:05.747http://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