Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019

Con el tiempo el Congreso Internacional de Computación CICOM ha crecido en popularidad y la necesidad de digitalizar sus procesos ha ido aumentando. El siguiente documento presenta el desarrollo de un sistema conformado por una aplicación móvil y una aplicación web que tiene como objeto mejorar, opt...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/22423
Acceso en línea:
http://hdl.handle.net/11349/22423
Palabra clave:
Desarollo web
Ruby on rails
React
CICOM
Ingeniería Telemática - Tesis y disertaciones académicas
Aplicaciones para móviles
Desarrollo de sitios Web
Ruby on rails
Web development
React
CICOM
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_17d1939a8b408c0511358806863be3c6
oai_identifier_str oai:repository.udistrital.edu.co:11349/22423
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
dc.title.titleenglish.spa.fl_str_mv Development of Multiplatform System (Web and Mobile) for the Management of the Ninth International Computer Congress Cicom 2019
title Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
spellingShingle Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
Desarollo web
Ruby on rails
React
CICOM
Ingeniería Telemática - Tesis y disertaciones académicas
Aplicaciones para móviles
Desarrollo de sitios Web
Ruby on rails
Web development
React
CICOM
title_short Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
title_full Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
title_fullStr Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
title_full_unstemmed Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
title_sort Desarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019
dc.contributor.advisor.spa.fl_str_mv Miguel Angel, Leguizamon Paez
dc.subject.spa.fl_str_mv Desarollo web
Ruby on rails
React
CICOM
topic Desarollo web
Ruby on rails
React
CICOM
Ingeniería Telemática - Tesis y disertaciones académicas
Aplicaciones para móviles
Desarrollo de sitios Web
Ruby on rails
Web development
React
CICOM
dc.subject.lemb.spa.fl_str_mv Ingeniería Telemática - Tesis y disertaciones académicas
Aplicaciones para móviles
Desarrollo de sitios Web
dc.subject.keyword.spa.fl_str_mv Ruby on rails
Web development
React
CICOM
description Con el tiempo el Congreso Internacional de Computación CICOM ha crecido en popularidad y la necesidad de digitalizar sus procesos ha ido aumentando. El siguiente documento presenta el desarrollo de un sistema conformado por una aplicación móvil y una aplicación web que tiene como objeto mejorar, optimizar y agilizar los procesos relacionados con la organización del CICOM. Dichas aplicaciones fueron llevadas a cabo usando tecnologías como Ruby y Ruby on Rails para el backend, Javascript y React para el frontend, Postgresql y Docker, entre otras. Por otro lado se hizo uso de la metodología ágil Scrum para la planeación y ejecución del proyecto, siguiendo el principio de iteración constante y continua. El sistema hace uso de códigos QR como la herramienta principal para facilitar los procesos de organización del evento. Dicho códigos soportan algunas de las funcionalidades principales del sistema tales como la generación, consulta y verificación de certificados de asistencia, diplomas y escarapelas de ingreso al congreso. Otra de las funcionalidades del sistema es la de posibilitar por medio del mismo la gestión de las ponencias, la cual incluye poder enviar una ponencia por parte de un expositor o speaker y la verificación y posterior aceptación por parte de los jurados. Por último, se desarrolló un módulo para que los organizadores del evento o staff puedan verificar las entradas de los asistentes de manera rápida y oportuna. Dicho módulo hace uso de las escarapelas generadas automáticamente, lee el código QR en ellas, y verifica que sean válidas. Este es uno de las funcionalidades que mayores beneficios trae ya que llevarlo a cabo de manera manual requería una cantidad de tiempo considerable.
publishDate 2019
dc.date.accessioned.none.fl_str_mv 2019-12-03T20:18:11Z
dc.date.available.none.fl_str_mv 2019-12-03T20:18:11Z
dc.date.created.spa.fl_str_mv 2019-09-24
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/22423
url http://hdl.handle.net/11349/22423
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/22423/10/MedinaSarmientoJuanJose2019.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22423/11/MedinaSarmientoJuanJoseAnexosAnexo1.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22423/12/MedinaSarmientoJuanJoseAnexosAnexo2.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22423/13/MedinaSarmientoJuanJoseAnexosAnexo3.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22423/14/MedinaSarmientoJuanJoseAnexosAnexo4.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22423/1/MedinaSarmientoJuanJose2019.pdf
http://repository.udistrital.edu.co/bitstream/11349/22423/2/MedinaSarmientoJuanJoseAnexosAnexo1.pdf
http://repository.udistrital.edu.co/bitstream/11349/22423/3/MedinaSarmientoJuanJoseAnexosAnexo2.pdf
http://repository.udistrital.edu.co/bitstream/11349/22423/4/MedinaSarmientoJuanJoseAnexosAnexo3.pdf
http://repository.udistrital.edu.co/bitstream/11349/22423/5/MedinaSarmientoJuanJoseAnexosAnexo4.pdf
http://repository.udistrital.edu.co/bitstream/11349/22423/6/license_url
http://repository.udistrital.edu.co/bitstream/11349/22423/7/license_text
http://repository.udistrital.edu.co/bitstream/11349/22423/8/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/22423/9/license.txt
bitstream.checksum.fl_str_mv 1c92e9ec56f5eef48bd70da77c56fe93
25e17aa2ae8eb453974f56e62a029f23
b2bf5a1f94cb67061962e95283dbd5cf
31af6a940e5a19ab9f13ef616e540300
173a867248a14cd2f4c3852542df0841
54cf4aa2679f8394a2b0940dc5ee5f51
e48aaa594af35f2c4060a79eaf4a73c4
7d55353a0311f74152c46141a2ee2953
3adc16212c88d5a0ffe0c26ee3813569
972c1801e926bbea4e07521676d0a5ce
321f3992dd3875151d8801b773ab32ed
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
da5c6a3ca62d5dd4853000a60fee7083
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
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_ 1814110991341846528
spelling Miguel Angel, Leguizamon PaezMedina Sarmiento, Juan JoseVillamil Moreno, Johan Armando2019-12-03T20:18:11Z2019-12-03T20:18:11Z2019-09-24http://hdl.handle.net/11349/22423Con el tiempo el Congreso Internacional de Computación CICOM ha crecido en popularidad y la necesidad de digitalizar sus procesos ha ido aumentando. El siguiente documento presenta el desarrollo de un sistema conformado por una aplicación móvil y una aplicación web que tiene como objeto mejorar, optimizar y agilizar los procesos relacionados con la organización del CICOM. Dichas aplicaciones fueron llevadas a cabo usando tecnologías como Ruby y Ruby on Rails para el backend, Javascript y React para el frontend, Postgresql y Docker, entre otras. Por otro lado se hizo uso de la metodología ágil Scrum para la planeación y ejecución del proyecto, siguiendo el principio de iteración constante y continua. El sistema hace uso de códigos QR como la herramienta principal para facilitar los procesos de organización del evento. Dicho códigos soportan algunas de las funcionalidades principales del sistema tales como la generación, consulta y verificación de certificados de asistencia, diplomas y escarapelas de ingreso al congreso. Otra de las funcionalidades del sistema es la de posibilitar por medio del mismo la gestión de las ponencias, la cual incluye poder enviar una ponencia por parte de un expositor o speaker y la verificación y posterior aceptación por parte de los jurados. Por último, se desarrolló un módulo para que los organizadores del evento o staff puedan verificar las entradas de los asistentes de manera rápida y oportuna. Dicho módulo hace uso de las escarapelas generadas automáticamente, lee el código QR en ellas, y verifica que sean válidas. Este es uno de las funcionalidades que mayores beneficios trae ya que llevarlo a cabo de manera manual requería una cantidad de tiempo considerable.Over time the CICOM International Computer Congress has grown in popularity and the need to digitize its processes has been increasing. The following document presents the development of a system consisting of a mobile application and a web application that aims to improve, optimize and streamline processes related to the organization of CICOM. These applications were carried out using technologies such as Ruby and Ruby on Rails for backend, Javascript and React for frontend, Postgresql and Docker, among others. On the other hand, the Scrum agile methodology was used for project planning and execution, following the principle of constant and continuous iteration. The system makes use of QR codes as the main tool to facilitate the event organization processes. These codes support some of the main functionalities of the system such as the generation, consultation and verification of certificates of attendance, diplomas and entrance slippers to the congress. Another of the functionalities of the system is to enable through it the management of the presentations, which includes being able to send a paper by an exhibitor or speaker and the verification and subsequent acceptance by the jurors. Finally, a module was developed so that the organizers of the event or staff can verify the entrances of the attendees quickly and in a timely manner. This module makes use of the automatically generated rosettes, reads the QR code in them, and verifies that they are valid. This is one of the features that brings the greatest benefits since carrying it out manually required a considerable amount of time.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_abf2Desarollo webRuby on railsReactCICOMIngeniería Telemática - Tesis y disertaciones académicasAplicaciones para móvilesDesarrollo de sitios WebRuby on railsWeb developmentReactCICOMDesarrollo de sistema multiplataforma (web y móvil) para la gestión del noveno congreso Internacional De Computación Cicom 2019Development of Multiplatform System (Web and Mobile) for the Management of the Ninth International Computer Congress Cicom 2019Monografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILMedinaSarmientoJuanJose2019.pdf.jpgMedinaSarmientoJuanJose2019.pdf.jpgIM Thumbnailimage/jpeg5210http://repository.udistrital.edu.co/bitstream/11349/22423/10/MedinaSarmientoJuanJose2019.pdf.jpg1c92e9ec56f5eef48bd70da77c56fe93MD510open accessMedinaSarmientoJuanJoseAnexosAnexo1.pdf.jpgMedinaSarmientoJuanJoseAnexosAnexo1.pdf.jpgIM Thumbnailimage/jpeg3500http://repository.udistrital.edu.co/bitstream/11349/22423/11/MedinaSarmientoJuanJoseAnexosAnexo1.pdf.jpg25e17aa2ae8eb453974f56e62a029f23MD511open accessMedinaSarmientoJuanJoseAnexosAnexo2.pdf.jpgMedinaSarmientoJuanJoseAnexosAnexo2.pdf.jpgIM Thumbnailimage/jpeg3865http://repository.udistrital.edu.co/bitstream/11349/22423/12/MedinaSarmientoJuanJoseAnexosAnexo2.pdf.jpgb2bf5a1f94cb67061962e95283dbd5cfMD512open accessMedinaSarmientoJuanJoseAnexosAnexo3.pdf.jpgMedinaSarmientoJuanJoseAnexosAnexo3.pdf.jpgIM Thumbnailimage/jpeg6529http://repository.udistrital.edu.co/bitstream/11349/22423/13/MedinaSarmientoJuanJoseAnexosAnexo3.pdf.jpg31af6a940e5a19ab9f13ef616e540300MD513open accessMedinaSarmientoJuanJoseAnexosAnexo4.pdf.jpgMedinaSarmientoJuanJoseAnexosAnexo4.pdf.jpgIM Thumbnailimage/jpeg6859http://repository.udistrital.edu.co/bitstream/11349/22423/14/MedinaSarmientoJuanJoseAnexosAnexo4.pdf.jpg173a867248a14cd2f4c3852542df0841MD514open accessORIGINALMedinaSarmientoJuanJose2019.pdfMedinaSarmientoJuanJose2019.pdfapplication/pdf2740523http://repository.udistrital.edu.co/bitstream/11349/22423/1/MedinaSarmientoJuanJose2019.pdf54cf4aa2679f8394a2b0940dc5ee5f51MD51open accessMedinaSarmientoJuanJoseAnexosAnexo1.pdfMedinaSarmientoJuanJoseAnexosAnexo1.pdfapplication/pdf238369http://repository.udistrital.edu.co/bitstream/11349/22423/2/MedinaSarmientoJuanJoseAnexosAnexo1.pdfe48aaa594af35f2c4060a79eaf4a73c4MD52open accessMedinaSarmientoJuanJoseAnexosAnexo2.pdfMedinaSarmientoJuanJoseAnexosAnexo2.pdfapplication/pdf1697884http://repository.udistrital.edu.co/bitstream/11349/22423/3/MedinaSarmientoJuanJoseAnexosAnexo2.pdf7d55353a0311f74152c46141a2ee2953MD53open accessMedinaSarmientoJuanJoseAnexosAnexo3.pdfMedinaSarmientoJuanJoseAnexosAnexo3.pdfapplication/pdf150652http://repository.udistrital.edu.co/bitstream/11349/22423/4/MedinaSarmientoJuanJoseAnexosAnexo3.pdf3adc16212c88d5a0ffe0c26ee3813569MD54open accessMedinaSarmientoJuanJoseAnexosAnexo4.pdfMedinaSarmientoJuanJoseAnexosAnexo4.pdfapplication/pdf22344http://repository.udistrital.edu.co/bitstream/11349/22423/5/MedinaSarmientoJuanJoseAnexosAnexo4.pdf972c1801e926bbea4e07521676d0a5ceMD55open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-843http://repository.udistrital.edu.co/bitstream/11349/22423/6/license_url321f3992dd3875151d8801b773ab32edMD56open accesslicense_textlicense_texttext/html; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/22423/7/license_textd41d8cd98f00b204e9800998ecf8427eMD57open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/22423/8/license_rdfd41d8cd98f00b204e9800998ecf8427eMD58open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87163http://repository.udistrital.edu.co/bitstream/11349/22423/9/license.txtda5c6a3ca62d5dd4853000a60fee7083MD59open access11349/22423oai:repository.udistrital.edu.co:11349/224232023-06-13 14:22:39.795open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMClTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIHVzbyBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChSSVVEKQoKQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpCUVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSBlbiBxdWUgc2UgaW5jbHV5YSBlbiBlbCBSSVVEIHkgaGFzdGEgcG9yIHVuIHBsYXpvIGRlIGRpZXogKDEwKSBBw7FvcywgcHJvcnJvZ2FibGUgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7IGxhIGN1YWwgcG9kcsOhIGRhcnNlIHBvciB0ZXJtaW5hZGEgcHJldmlhIHNvbGljaXR1ZCBhIExBIFVOSVZFUlNJREFEIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICAKCmIpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgcG9yIGVsIFJJVUQgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgTEEgVU5JVkVSU0lEQUQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zIGRpZmVyZW50ZXMgYWwgUklVRCwgdW5hIHZleiBlbChvcykgYXV0b3IoZXMpIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJJVUQsIGRhZG8gcXVlIGxhIG1pc21hIHNlcsOhIHB1YmxpY2FkYSBlbiBJbnRlcm5ldC4gCgpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4KCmQpCUxvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUklVRCBzb24gb2JyYShzKSBvcmlnaW5hbChlcykgc29icmUgbGEgY3VhbChlcykgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IsIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgTEEgVU5JVkVSU0lEQUQgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gTEEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uCgplKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbyAJCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCiAKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8gIAoKaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELgoKbCkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCwgZGUgZXhjbHVzaXZhIGF1dG9yw61hLCB5IHNlIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zOyBkZSB0YWwgc3VlcnRlLCBlbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhLCBlbCAobG9zKSBlc3R1ZGlhbnRlKHMpIOKAkyBhdXRvcihlcykgYXN1bWlyw6EobikgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgeSBzYWxkcsOhKG4pIGVuIGRlZmVuc2EgZGUgbG9zIGRlcmVjaG9zIGFxdcOtIGF1dG9yaXphZG9zLiBQYXJhIHRvZG9zIGxvcyBlZmVjdG9zLCBMQSBVTklWRVJTSURBRCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAgIAoKCm0pCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGNvbm96Y28oY2Vtb3MpIGxhIGF1dG9ub23DrWEgeSBsb3MgZGVyZWNob3MsIHF1ZSBwb3NlZShtb3MpIHNvYnJlIGxhIG9icmEgeSwgY29tbyB0YWwsIGVzIChzb21vcykgcmVzcG9uc2FibGUocykgZGVsIGFsY2FuY2UganVyw61kaWNvIHkgbGVnYWwsIGRlIGVzY29nZXIgbGEgb3BjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gbyBkZSByZXN0cmljY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIGRlbCBkb2N1bWVudG8gcmVnaXN0cmFkbyBlbiBlbCBSSVVELgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgCkRFUkVDSE9TIFkgT0JMSUdBQ0lPTkVTIFJFUVVFUklET1MgUE9SIEVMIFJFU1BFQ1RJVk8gQ09OVFJBVE8gTyBBQ1VFUkRPLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyAKCgpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOgoKMQkKMgkKMwkKCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6CgpGYWN1bHRhZAlQcm95ZWN0byBDdXJyaWN1bGFyCgkKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEKCgo=