Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM

En el ámbito del desarrollo de aplicaciones web, se enfrenta uno de los desafíos más recurrentes: la creación manual de código para operaciones CRUD (Crear, Leer, Actualizar, Eliminar), un proceso propenso a errores que consume recursos considerables. Ante esta problemática, surge la interrogante so...

Full description

Autores:
Chaparro Hurtado, Luis Felipe
Robles Arias, Juan Pablo
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad Santo Tomás
Repositorio:
Repositorio Institucional USTA
Idioma:
spa
OAI Identifier:
oai:repository.usta.edu.co:11634/55643
Acceso en línea:
http://hdl.handle.net/11634/55643
Palabra clave:
CRUD, TypeORM, Metadatos, Backend
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 2.5 Colombia
id SANTOTOMAS_0763e60f94ddaf9b64e9d6ae4445f000
oai_identifier_str oai:repository.usta.edu.co:11634/55643
network_acronym_str SANTOTOMAS
network_name_str Repositorio Institucional USTA
repository_id_str
dc.title.spa.fl_str_mv Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
title Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
spellingShingle Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
CRUD, TypeORM, Metadatos, Backend
title_short Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
title_full Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
title_fullStr Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
title_full_unstemmed Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
title_sort Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM
dc.creator.fl_str_mv Chaparro Hurtado, Luis Felipe
Robles Arias, Juan Pablo
dc.contributor.advisor.none.fl_str_mv Vela Beltrán, Diego Alejandro
dc.contributor.author.none.fl_str_mv Chaparro Hurtado, Luis Felipe
Robles Arias, Juan Pablo
dc.contributor.orcid.Spa.fl_str_mv https://orcid.org/0009-0009-7525-9459
https://orcid.org/0009-0009-8875-0466
https://orcid.org/0009-0003-1809-4033
dc.contributor.googlescholar.Spa.fl_str_mv https://scholar.google.com/citations?hl=es&user=o-A8ASAAAAAJ
dc.contributor.cvlac.Spa.fl_str_mv https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0001977029
dc.contributor.corporatename.spa.fl_str_mv Universidad Santo Tomás
dc.subject.proposal.spa.fl_str_mv CRUD, TypeORM, Metadatos, Backend
topic CRUD, TypeORM, Metadatos, Backend
description En el ámbito del desarrollo de aplicaciones web, se enfrenta uno de los desafíos más recurrentes: la creación manual de código para operaciones CRUD (Crear, Leer, Actualizar, Eliminar), un proceso propenso a errores que consume recursos considerables. Ante esta problemática, surge la interrogante sobre cómo mejorar la eficiencia y la productividad en este contexto, reduciendo el tiempo dedicado a la codificación manual de dichas operaciones. El objetivo general del proyecto radica en la implementación de un generador de código eficiente para estas tareas, utilizando mapeadores en bases de datos PostgreSQL y la librería TypeORM, con el propósito de optimizar el proceso de desarrollo y minimizar errores. La metodología adoptada se fundamenta en el análisis de la literatura para la revisión documental y un enfoque en cascada, el cual posibilitó una planificación detallada y una ejecución organizada del proyecto. Se desarrollo un módulo de autenticación multiplataforma para garantizar un acceso seguro y eficiente a la herramienta propuesta. Los resultados preliminares evidencian un potencial significativo de mejora en la eficiencia y la productividad del desarrollo de software.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-06-19T16:23:32Z
dc.date.available.none.fl_str_mv 2024-06-19T16:23:32Z
dc.date.issued.none.fl_str_mv 2024
dc.type.local.spa.fl_str_mv Trabajo de grado
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.drive.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.citation.spa.fl_str_mv Chaparro Hurtado., L. y Robles Arias, J.(2024). Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM. [Trabajo de Grado, Universidad Santo Tomás]. Repositorio Institucional.
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11634/55643
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional Universidad Santo Tomás
dc.identifier.instname.spa.fl_str_mv instname:Universidad Santo Tomás
dc.identifier.repourl.spa.fl_str_mv repourl:https://repository.usta.edu.co
identifier_str_mv Chaparro Hurtado., L. y Robles Arias, J.(2024). Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM. [Trabajo de Grado, Universidad Santo Tomás]. Repositorio Institucional.
reponame:Repositorio Institucional Universidad Santo Tomás
instname:Universidad Santo Tomás
repourl:https://repository.usta.edu.co
url http://hdl.handle.net/11634/55643
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv P. Malo-Perisé and J. Merseguer, “The ‘Socialized Architecture’: A Software Engineering Approach for a New Cloud,” Sustainability, vol. 14, no. 4, p. 2020, Feb. 2022, doi: 10.3390/su14042020.
E. Maida and J. Pacienzia, “Metodologías de desarrollo de software,” Bibl. Digit. la Univ. Católica Argentina, p. 117, 2018, [Online]. Available: http://bibliotecadigital.uca.edu.ar/repositorio/tesis/metodologias-desarrollo-software.pdf
A. Marin Diaz, Y. Trujillo Casañola, and D. Buedo Hidalgo, “Apuntes para gestionar actividades de calidad en proyectos de desarrollo de software para disminuir los costos de corrección de defectos,” Ingeniare. Rev. Chil. Ing., vol. 27, no. 2, pp. 319–327, 2019, doi: 10.4067/s0718-33052019000200319.
N. J. van Eck and L. Waltman, “Software survey: VOSviewer, a computer program for bibliometric mapping,” Scientometrics, vol. 84, no. 2, pp. 523–538, 2010, doi: 10.1007/s11192-009-0146-3.
S. Miguel, “P u c p e p,” 2020.
TreeView Webgen, “Softonic,” TreeView Webgen, 2001. https://treeview-webgen.softonic.com/
“Ruby on Rails.” https://rubyonrails.org/
“Django.” https://www.djangoproject.com/
“LaRavel - the PHP framework for web artisans.” https://laravel.com/docs/11.x
“Spring boot.” https://spring.io/projects/spring-boot
“Express - Node.js web application framework.” https://expressjs.com/
“Sequelize.” https://sequelize.org/
“Información general de ASP.NET Core,” 2023. https://learn.microsoft.com/es-es/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-8.0
“Documentation | NestJS - A progressive Node.js framework.” https://docs.nestjs.com/
“Backend Generator by Duomly - Build backend in minutes without coding,” 2020. https://www.backendgenerator.com/
“Auto backend.” https://www.autobackend.dev
“Turn your team into a customer-obsessed, NRR driving machine | BackEngine: The Product for Customer-Obsessed Teams.” https://www.backengine.com/
“Dynaboard – Collaborative low-code IDE for developers.” https://dynaboard.com
E. A. Meyer, “Casos de uso,” p. 2014, 2004.
Sitio Bizagi, “Sitio de Bizagi,” 2022. https://www.bizagi.com/es/plataforma/pruebe-modeler
“Diagrama de procesos,” no. 16, pp. 4–6, 2024.
“Diagrama de secuencia (Administrador)”.
“Diagrama de secuencia (Usuario)”.
“Introduction to node.Js,” 2024. https://nodejs.org/en/learn/getting-started/introduction-to-nodejs
“Node.Js with TypeScript,” 2024. https://nodejs.org/en/learn/getting-started/nodejs-with-typescript
“About,” 2024. https://www.postgresql.org/about/
“Angular,” 2024. https://angular.io/guide/what-is-angular
“Jest.” https://jestjs.io
“MixPanel Marketing Analytics - MixPanel,” 2024. https://mixpanel.com/m/mixpanel-marketing-analytics?utm_source=google&utm_medium=cpc&utm_campaign=LATAM-Non-Brand-Search-Marketing-Analytics-EN-Phrase-Desktop&utm_content=Platform-Phrase&utm_ad=676745289274&utm_term=marketing analytics platform&matchtype=
“Google Lighthouse: Qué es y Cómo Utilizarlo,” 2023. https://es.semrush.com/blog/como-utilizar-google-lighthouse/?kw=&cmp=LM_SRCH_DSA_Blog_ES&label=dsa_pagefeed&Network=g&Device=c&utm_content=678247163034&kwid=dsa-2232567167021&cmpid=19249322807&agpid=152775994777&BU=Core&extid=109486340859&adpos=&gad_sourc
Connor (C.) Lahey, “Conceptos básicos de SEO: cómo hacer SEO para principiantes.” https://es.semrush.com/blog/seo-basico/?kw=&cmp=LM_SRCH_DSA_Blog_ES&label=dsa_pagefeed&Network=g&Device=c&utm_content=678247163691&kwid=dsa-2232567167701&cmpid=19249322807&agpid=152775995697&BU=Core&extid=123532550104&adpos=&gad_source=1&gclid=CjwKCAjwrIi
dc.rights.*.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.local.spa.fl_str_mv Abierto (Texto Completo)
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.coverage.campus.spa.fl_str_mv CRAI-USTA Tunja
dc.publisher.spa.fl_str_mv Universidad Santo Tomás
dc.publisher.program.spa.fl_str_mv Ingeniería Informática
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería de Sistemas
institution Universidad Santo Tomás
bitstream.url.fl_str_mv https://repository.usta.edu.co/bitstream/11634/55643/7/2024luischaparro
https://repository.usta.edu.co/bitstream/11634/55643/6/2024cartaderechosdeautor
https://repository.usta.edu.co/bitstream/11634/55643/8/2024cartaaprobaci%c3%b3nfacultad
https://repository.usta.edu.co/bitstream/11634/55643/9/2024luischaparro.jpg
https://repository.usta.edu.co/bitstream/11634/55643/10/2024cartaderechosdeautor.jpg
https://repository.usta.edu.co/bitstream/11634/55643/11/2024cartaaprobaci%c3%b3nfacultad.jpg
https://repository.usta.edu.co/bitstream/11634/55643/4/license.txt
https://repository.usta.edu.co/bitstream/11634/55643/3/license_rdf
https://repository.usta.edu.co/bitstream/11634/55643/2/2024luischaparro
https://repository.usta.edu.co/bitstream/11634/55643/1/2024cartaderechosdeautor
https://repository.usta.edu.co/bitstream/11634/55643/5/2024cartaaprobaci%c3%b3nfacultad
bitstream.checksum.fl_str_mv 147c580dad424decd804a7d6d6b0d6f5
3e365606b456f7da337dbe289d5486cc
8938f577ebc7ee9156b54b154f086580
147c580dad424decd804a7d6d6b0d6f5
3e365606b456f7da337dbe289d5486cc
8938f577ebc7ee9156b54b154f086580
aedeaf396fcd827b537c73d23464fc27
217700a34da79ed616c2feb68d4c5e06
e09e836f146b329c287a29dfea8a8164
58ef14d394560054fb3289d7328f8c36
5b2f06556f18eb6a37158ee5f5257231
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Santo Tomás
repository.mail.fl_str_mv repositorio@usta.edu.co
_version_ 1860881679074197504
spelling Vela Beltrán, Diego AlejandroChaparro Hurtado, Luis FelipeRobles Arias, Juan Pablohttps://orcid.org/0009-0009-7525-9459https://orcid.org/0009-0009-8875-0466https://orcid.org/0009-0003-1809-4033https://scholar.google.com/citations?hl=es&user=o-A8ASAAAAAJhttps://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0001977029Universidad Santo Tomás2024-06-19T16:23:32Z2024-06-19T16:23:32Z2024Chaparro Hurtado., L. y Robles Arias, J.(2024). Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORM. [Trabajo de Grado, Universidad Santo Tomás]. Repositorio Institucional.http://hdl.handle.net/11634/55643reponame:Repositorio Institucional Universidad Santo Tomásinstname:Universidad Santo Tomásrepourl:https://repository.usta.edu.coEn el ámbito del desarrollo de aplicaciones web, se enfrenta uno de los desafíos más recurrentes: la creación manual de código para operaciones CRUD (Crear, Leer, Actualizar, Eliminar), un proceso propenso a errores que consume recursos considerables. Ante esta problemática, surge la interrogante sobre cómo mejorar la eficiencia y la productividad en este contexto, reduciendo el tiempo dedicado a la codificación manual de dichas operaciones. El objetivo general del proyecto radica en la implementación de un generador de código eficiente para estas tareas, utilizando mapeadores en bases de datos PostgreSQL y la librería TypeORM, con el propósito de optimizar el proceso de desarrollo y minimizar errores. La metodología adoptada se fundamenta en el análisis de la literatura para la revisión documental y un enfoque en cascada, el cual posibilitó una planificación detallada y una ejecución organizada del proyecto. Se desarrollo un módulo de autenticación multiplataforma para garantizar un acceso seguro y eficiente a la herramienta propuesta. Los resultados preliminares evidencian un potencial significativo de mejora en la eficiencia y la productividad del desarrollo de software.In the field of web application development, one of the most recurring challenges is the manual creation of code for CRUD (Create, Read, Update, Delete) operations, an error-prone process that consumes considerable resources. Faced with this problem, the question arises as to how to improve efficiency and productivity in this context, reducing the time spent on manual coding of such operations. The general objective of the project is the implementation of an efficient code generator for these tasks, using PostgreSQL database mappers and the TypeORM library, in order to optimize the development process and minimize errors. The adopted methodology is based on the literature analysis for the document review and a cascade approach, which allowed a detailed planning and an organized execution of the project. A multiplatform authentication module was developed to ensure secure and efficient access to the proposed tool. Preliminary results show a significant potential for improvement in the efficiency and productivity of software development.Ingeniero InformáticoPregradoapplication/pdfspaUniversidad Santo TomásIngeniería InformáticaFacultad de Ingeniería de SistemasAtribución-NoComercial-SinDerivadas 2.5 Colombiahttp://creativecommons.org/licenses/by-nc-nd/2.5/co/Abierto (Texto Completo)info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Generador de Backends a Partir de Mapeadores en Bases de Datos PostgreSQL con la Librería TYPEORMTrabajo de gradoinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:eu-repo/semantics/bachelorThesisCRAI-USTA TunjaP. Malo-Perisé and J. Merseguer, “The ‘Socialized Architecture’: A Software Engineering Approach for a New Cloud,” Sustainability, vol. 14, no. 4, p. 2020, Feb. 2022, doi: 10.3390/su14042020.E. Maida and J. Pacienzia, “Metodologías de desarrollo de software,” Bibl. Digit. la Univ. Católica Argentina, p. 117, 2018, [Online]. Available: http://bibliotecadigital.uca.edu.ar/repositorio/tesis/metodologias-desarrollo-software.pdfA. Marin Diaz, Y. Trujillo Casañola, and D. Buedo Hidalgo, “Apuntes para gestionar actividades de calidad en proyectos de desarrollo de software para disminuir los costos de corrección de defectos,” Ingeniare. Rev. Chil. Ing., vol. 27, no. 2, pp. 319–327, 2019, doi: 10.4067/s0718-33052019000200319.N. J. van Eck and L. Waltman, “Software survey: VOSviewer, a computer program for bibliometric mapping,” Scientometrics, vol. 84, no. 2, pp. 523–538, 2010, doi: 10.1007/s11192-009-0146-3.S. Miguel, “P u c p e p,” 2020.TreeView Webgen, “Softonic,” TreeView Webgen, 2001. https://treeview-webgen.softonic.com/“Ruby on Rails.” https://rubyonrails.org/“Django.” https://www.djangoproject.com/“LaRavel - the PHP framework for web artisans.” https://laravel.com/docs/11.x“Spring boot.” https://spring.io/projects/spring-boot“Express - Node.js web application framework.” https://expressjs.com/“Sequelize.” https://sequelize.org/“Información general de ASP.NET Core,” 2023. https://learn.microsoft.com/es-es/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-8.0“Documentation | NestJS - A progressive Node.js framework.” https://docs.nestjs.com/“Backend Generator by Duomly - Build backend in minutes without coding,” 2020. https://www.backendgenerator.com/“Auto backend.” https://www.autobackend.dev“Turn your team into a customer-obsessed, NRR driving machine | BackEngine: The Product for Customer-Obsessed Teams.” https://www.backengine.com/“Dynaboard – Collaborative low-code IDE for developers.” https://dynaboard.comE. A. Meyer, “Casos de uso,” p. 2014, 2004.Sitio Bizagi, “Sitio de Bizagi,” 2022. https://www.bizagi.com/es/plataforma/pruebe-modeler“Diagrama de procesos,” no. 16, pp. 4–6, 2024.“Diagrama de secuencia (Administrador)”.“Diagrama de secuencia (Usuario)”.“Introduction to node.Js,” 2024. https://nodejs.org/en/learn/getting-started/introduction-to-nodejs“Node.Js with TypeScript,” 2024. https://nodejs.org/en/learn/getting-started/nodejs-with-typescript“About,” 2024. https://www.postgresql.org/about/“Angular,” 2024. https://angular.io/guide/what-is-angular“Jest.” https://jestjs.io“MixPanel Marketing Analytics - MixPanel,” 2024. https://mixpanel.com/m/mixpanel-marketing-analytics?utm_source=google&utm_medium=cpc&utm_campaign=LATAM-Non-Brand-Search-Marketing-Analytics-EN-Phrase-Desktop&utm_content=Platform-Phrase&utm_ad=676745289274&utm_term=marketing analytics platform&matchtype=“Google Lighthouse: Qué es y Cómo Utilizarlo,” 2023. https://es.semrush.com/blog/como-utilizar-google-lighthouse/?kw=&cmp=LM_SRCH_DSA_Blog_ES&label=dsa_pagefeed&Network=g&Device=c&utm_content=678247163034&kwid=dsa-2232567167021&cmpid=19249322807&agpid=152775994777&BU=Core&extid=109486340859&adpos=&gad_sourcConnor (C.) Lahey, “Conceptos básicos de SEO: cómo hacer SEO para principiantes.” https://es.semrush.com/blog/seo-basico/?kw=&cmp=LM_SRCH_DSA_Blog_ES&label=dsa_pagefeed&Network=g&Device=c&utm_content=678247163691&kwid=dsa-2232567167701&cmpid=19249322807&agpid=152775995697&BU=Core&extid=123532550104&adpos=&gad_source=1&gclid=CjwKCAjwrIiCRUD, TypeORM, Metadatos, BackendTHUMBNAIL2024luischaparro2024luischaparroIM Thumbnailimage/jpeg5322https://repository.usta.edu.co/bitstream/11634/55643/7/2024luischaparro147c580dad424decd804a7d6d6b0d6f5MD57open access2024cartaderechosdeautor2024cartaderechosdeautorIM Thumbnailimage/jpeg9624https://repository.usta.edu.co/bitstream/11634/55643/6/2024cartaderechosdeautor3e365606b456f7da337dbe289d5486ccMD56metadata only access2024cartaaprobaciónfacultad2024cartaaprobaciónfacultadIM Thumbnailimage/jpeg10479https://repository.usta.edu.co/bitstream/11634/55643/8/2024cartaaprobaci%c3%b3nfacultad8938f577ebc7ee9156b54b154f086580MD58metadata only access2024luischaparro.jpg2024luischaparro.jpgIM Thumbnailimage/jpeg5322https://repository.usta.edu.co/bitstream/11634/55643/9/2024luischaparro.jpg147c580dad424decd804a7d6d6b0d6f5MD59open access2024cartaderechosdeautor.jpg2024cartaderechosdeautor.jpgIM Thumbnailimage/jpeg9624https://repository.usta.edu.co/bitstream/11634/55643/10/2024cartaderechosdeautor.jpg3e365606b456f7da337dbe289d5486ccMD510open access2024cartaaprobaciónfacultad.jpg2024cartaaprobaciónfacultad.jpgIM Thumbnailimage/jpeg10479https://repository.usta.edu.co/bitstream/11634/55643/11/2024cartaaprobaci%c3%b3nfacultad.jpg8938f577ebc7ee9156b54b154f086580MD511open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-8807https://repository.usta.edu.co/bitstream/11634/55643/4/license.txtaedeaf396fcd827b537c73d23464fc27MD54open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repository.usta.edu.co/bitstream/11634/55643/3/license_rdf217700a34da79ed616c2feb68d4c5e06MD53open accessORIGINAL2024luischaparro2024luischaparroapplication/pdf9759376https://repository.usta.edu.co/bitstream/11634/55643/2/2024luischaparroe09e836f146b329c287a29dfea8a8164MD52open access2024cartaderechosdeautor2024cartaderechosdeautorapplication/pdf725007https://repository.usta.edu.co/bitstream/11634/55643/1/2024cartaderechosdeautor58ef14d394560054fb3289d7328f8c36MD51metadata only access2024cartaaprobaciónfacultad2024cartaaprobaciónfacultadapplication/pdf287351https://repository.usta.edu.co/bitstream/11634/55643/5/2024cartaaprobaci%c3%b3nfacultad5b2f06556f18eb6a37158ee5f5257231MD55metadata only access11634/55643oai:repository.usta.edu.co:11634/556432024-11-29 03:01:21.436open accessRepositorio Universidad Santo Tomásrepositorio@usta.edu.coQXV0b3Jpem8gYWwgQ2VudHJvIGRlIFJlY3Vyc29zIHBhcmEgZWwgQXByZW5kaXphamUgeSBsYSBJbnZlc3RpZ2FjacOzbiwgQ1JBSS1VU1RBCmRlIGxhIFVuaXZlcnNpZGFkIFNhbnRvIFRvbcOhcywgcGFyYSBxdWUgY29uIGZpbmVzIGFjYWTDqW1pY29zIGFsbWFjZW5lIGxhCmluZm9ybWFjacOzbiBpbmdyZXNhZGEgcHJldmlhbWVudGUuCgpTZSBwZXJtaXRlIGxhIGNvbnN1bHRhLCByZXByb2R1Y2Npw7NuIHBhcmNpYWwsIHRvdGFsIG8gY2FtYmlvIGRlIGZvcm1hdG8gY29uCmZpbmVzIGRlIGNvbnNlcnZhY2nDs24sIGEgbG9zIHVzdWFyaW9zIGludGVyZXNhZG9zIGVuIGVsIGNvbnRlbmlkbyBkZSBlc3RlCnRyYWJham8sIHBhcmEgdG9kb3MgbG9zIHVzb3MgcXVlIHRlbmdhbiBmaW5hbGlkYWQgYWNhZMOpbWljYSwgc2llbXByZSB5IGN1YW5kbwptZWRpYW50ZSBsYSBjb3JyZXNwb25kaWVudGUgY2l0YSBiaWJsaW9ncsOhZmljYSBzZSBsZSBkw6kgY3LDqWRpdG8gYWwgdHJhYmFqbyBkZQpncmFkbyB5IGEgc3UgYXV0b3IuIERlIGNvbmZvcm1pZGFkIGNvbiBsbyBlc3RhYmxlY2lkbyBlbiBlbCBhcnTDrWN1bG8gMzAgZGUgbGEKTGV5IDIzIGRlIDE5ODIgeSBlbCBhcnTDrWN1bG8gMTEgZGUgbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5Mywg4oCcTG9zIGRlcmVjaG9zCm1vcmFsZXMgc29icmUgZWwgdHJhYmFqbyBzb24gcHJvcGllZGFkIGRlIGxvcyBhdXRvcmVz4oCdLCBsb3MgY3VhbGVzIHNvbgppcnJlbnVuY2lhYmxlcywgaW1wcmVzY3JpcHRpYmxlcywgaW5lbWJhcmdhYmxlcyBlIGluYWxpZW5hYmxlcy4K