Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos

sin ilustraciones

Autores:
Garzón Gil, Kelly Johana
Tipo de recurso:
Tesis
Fecha de publicación:
2020
Institución:
Tecnológico de Antioquia
Repositorio:
Repositorio Tdea
Idioma:
spa
OAI Identifier:
oai:dspace.tdea.edu.co:tdea/923
Acceso en línea:
https://dspace.tdea.edu.co/handle/tdea/923
Palabra clave:
Arquitectura de software
Programas para computador
Ingeniería de software
Rights
openAccess
License
Tecnológico de Antioquia, Institución Universitaria, 2020
id RepoTdea2_0dc6db40e7a5343b9d532b959603241a
oai_identifier_str oai:dspace.tdea.edu.co:tdea/923
network_acronym_str RepoTdea2
network_name_str Repositorio Tdea
repository_id_str
dc.title.spa.fl_str_mv Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
title Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
spellingShingle Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
Arquitectura de software
Programas para computador
Ingeniería de software
title_short Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
title_full Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
title_fullStr Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
title_full_unstemmed Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
title_sort Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicos
dc.creator.fl_str_mv Garzón Gil, Kelly Johana
dc.contributor.advisor.none.fl_str_mv Giraldo Mejía, Juan Camilo
Vargas Agudelo, Fabio Alberto
dc.contributor.author.none.fl_str_mv Garzón Gil, Kelly Johana
dc.subject.armarc.none.fl_str_mv Arquitectura de software
topic Arquitectura de software
Programas para computador
Ingeniería de software
dc.subject.lemb.none.fl_str_mv Programas para computador
Ingeniería de software
description sin ilustraciones
publishDate 2020
dc.date.issued.none.fl_str_mv 2020-08-28
dc.date.accessioned.none.fl_str_mv 2021-03-02T21:59:50Z
dc.date.available.none.fl_str_mv 2021-03-02T21:59:50Z
dc.type.spa.fl_str_mv Trabajo de grado - Especialización
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_93fc
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_46ec
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/report
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/IFI
format http://purl.org/coar/resource_type/c_46ec
dc.identifier.uri.none.fl_str_mv https://dspace.tdea.edu.co/handle/tdea/923
url https://dspace.tdea.edu.co/handle/tdea/923
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.spa.fl_str_mv Tecnológico de Antioquia, Institución Universitaria, 2020
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
rights_invalid_str_mv Tecnológico de Antioquia, Institución Universitaria, 2020
https://creativecommons.org/licenses/by-nc/4.0/
Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 10 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Tecnológico de Antioquia, Institución Universitaria
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.program.spa.fl_str_mv Especialización en Seguridad de la Informacion
dc.publisher.place.spa.fl_str_mv Medellín
institution Tecnológico de Antioquia
bitstream.url.fl_str_mv https://dspace.tdea.edu.co/bitstream/tdea/923/1/Sintesis%20Proyecto%20de%20software.pdf
https://dspace.tdea.edu.co/bitstream/tdea/923/2/license.txt
https://dspace.tdea.edu.co/bitstream/tdea/923/3/Sintesis%20Proyecto%20de%20software.pdf.txt
https://dspace.tdea.edu.co/bitstream/tdea/923/4/Sintesis%20Proyecto%20de%20software.pdf.jpg
bitstream.checksum.fl_str_mv 9ad1dafc0e8a3f9cbe1d4dcf40c8aa04
2f9959eaf5b71fae44bbf9ec84150c7a
d553898befee840a84dba0a7f3575964
3da7421629528105ab8d45160a81ca71
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Tecnologico de Antioquia
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1812189213874978816
spelling Giraldo Mejía, Juan Camilo8847ca0a-6eb5-48e4-947f-fbcbb40d67bd-1Vargas Agudelo, Fabio Alberto430096c5-fb9c-4699-be17-5ff6154470ed-1Garzón Gil, Kelly Johana7076bd4b-a6be-45b5-9d29-1589b7770cf12021-03-02T21:59:50Z2021-03-02T21:59:50Z2020-08-28https://dspace.tdea.edu.co/handle/tdea/923sin ilustracionesExiste una serie de problemas de diseño de los productos de Software que se ven reflejados en el desacoplamiento de los diferentes aspectos de los proyectos, en la lógica de negocio, en la interfaz de usuario, en la navegación y en la arquitectura de información, afectando principalmente la calidad del producto resultante. Este documento identifica y caracteriza algunos patrones de Software, destinados a proporcionar un conjunto de soluciones comprobadas abarcando varios niveles de abstracción, desde arquitecturas de información y patrones de interoperabilidad hasta patrones de navegación, interacción y visualización. Lo anterior con el propósito de diseñar un marco de trabajo que permite seleccionar y aplicar el patrón de arquitectura de software apropiado según el contexto de la aplicación a desarrollar, soportado en los tipos desarrollo de software y variables identificadas en la literatura que permiten una mejor clasificación a la hora de desarrollar un proyecto de software. Mediante la aplicabilidad de una extensa revisión de la literatura y de la indagación a desarrolladores de algunas compañías con el fin de analizar los patrones de gran impacto en la actualidad, e identificando la taxonomía de los proyectos de desarrollo de software según el contexto de aplicación, se obtuvieron resultados por medio de una encuesta que presentó los siguientes datos: del 100% de los encuestados, del 40% se determinó que la arquitectura en la nube es el patrón más recomendado en la actualidad para desarrollo de proyectos de software, seguido por el patrón MVC con un porcentaje de 26,7% de los encuestados, y finalmente los microservicios con un 13,3%; Así mismo, se destacaron las arquitecturas MVP y MVC como potenciales para los dispositivos móviles y sitios web, los cuales ofrecen flexibilidad, independencia y usabilidad; mientras que para las aplicaciones y servicios web tiene un alto impacto la arquitectura en la nube y los microservicios, reduciendo las complejidades de los diseños en cada uno de los ámbitos que se desean implementar, permitiendo estructurar de manera correcta un proyecto, y reduciendo la probabilidad de riesgos a corto y a largo plazo.EspecializaciónEspecialista en Seguridad de la Informacion10 páginasapplication/pdfspaTecnológico de Antioquia, Institución UniversitariaFacultad de IngenieríaEspecialización en Seguridad de la InformacionMedellínTecnológico de Antioquia, Institución Universitaria, 2020https://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)http://purl.org/coar/access_right/c_abf2Marco de trabajo para la selección de la arquitectura de un proyecto de software mediante la aplicación de patrones arquitectónicosTrabajo de grado - Especializaciónhttp://purl.org/coar/resource_type/c_46echttp://purl.org/coar/resource_type/c_93fcTextinfo:eu-repo/semantics/reporthttps://purl.org/redcol/resource_type/IFIhttp://purl.org/coar/version/c_970fb48d4fbd8a85Arquitectura de softwareProgramas para computadorIngeniería de softwareAbdul, M., & Ibtisam, R. (2018). MVC Architecture: A Detailed Insight to the Modern Web Applications Development.Aderaldo, C. M., & Mendonça, N. C. (2017). Benchmark Requirements for Microservices Architecture ResearchAgarwal, M., & SanjoyMitter. (2011). Architecture for communication with a fidelity criterion in unknown networks. Science direct.Aljamea, M. (2018). MMVMi: A Validation Model for MVC and MVVM Design Patterns in iOS ApplicationsAmaral, M., & Polo, J. (2015). Performance Evaluation of Microservices Architectures Using Containers. IEEEAngelov, S. (2012). A framework for analysis and design of software reference architectures. Science directAnuar, S. M. (2017). Preliminary Review of Model-View-Presenter (MVP) and. Open INternational Journal of informatics. Obtenido de LinkedinAnuar, S. M. (2017). Preliminary Review of Model-View-Presenter (MVP) and Usability Design for the Development of Postgraduate Web PortalAparicio, O. K. (2015). Análisis de elasticidad y tolerancia a fallosArmstrong, D. (2005). User Management Tools and Login Controls for Forms Authentication. Springer linkArtem, S., & Danny, W. (2014). A Journey through the Land of Model-View-Design Patterns. IEEEB, U. N. (2014). Library automation and use of open source software to maximize library effectivenss. Indian journals. Obtenido de LibreriasBaker, F. B., & Kim, S.-H. (2017). The Item Characteristic Curve. Springer linkBarakat, S. (2017). Monitoring and Analysis of Microservices Performance. Research GateBermeo, V., & Alejandro, J. (2014). Estudio comparativo de los patrones para interfaces de usuario MVVM y MVC aplicado el desarrollo del sitio de gestión de ventas para VidrialumBerrocal, J. (2014). A Model-Driven Approach for Documenting Business and Requirements Interdependencies for Architectural Decision Making. IEEEBerrocal, J., Alonso, J. G., Chicote, C. V., & Murillo, J. M. (2014). A Model-Driven Approach for Documenting Business and Requirements Interdependencies for Architectural Decision Making. IEEEBogner, J., & Fritzsch, J. (2019). Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality. IEEE computer societyBoiko, T., & Bachelor. (2016). ARCHITECTURAL PATTERNS IN SOFTWARE DEVELOPMENTBrindescu, C., & Codoban, M. (Mayo de 2014). How do centralized and distributed version control systems impact software changes? ACM digital libraryBuchgeher, G., Weinreich, R., & T, K. (2015). Making the Case for Centralized Software Architecture ManagementCalifornia, U. o. (2019). Organizing Your Social Sciences Research Paper: Theoretical FrameworCamargo, A. d. (2016). An architecture to automate performance tests on microservicesCardacci, D. (2015). Arquitectura de software académica para la comprensión del desarrollo de software en capas. Universidad del CEMACardacci, D. G. (2015). Arquitectura de software académica para la comprensión del desarrollo de software en capasCarignano, M. (2015). Representación y razonamiento sobre las decisiones de diseño de arquitectura de softwareCasallas, A. T. (2016). Teniendo en cuenta los requisitos y restricciones se proporcionan los patrones de diseño arquitectónicos, ya que estos ayudan a resolver problemas de calidad, rendimiento y disponibilidadCasanovas, J. (2004). Usabilidad y arquitectura del softwareCastilla, L. R., Hernández, D. L., & González, Y. P. (2016). De la arquitectura de información a la experiencia de usuario: Su interrelación en el desarrollo de software de la Universidad de las Ciencias Informáticas. Obtenido de e-ciencias de la información: http://www.redalyc.org/jatsRepo/4768/476855013009/html/index.htmlCely, C. (2016). Integración de arquitectura de empresarial y arquitectura de seguridad metadata ingeniería colombiana s.a.s.Cervantes, H. (2017). Arquitectura de Software. Software gurú.Chavez, D. R., Naab, M., Lima, C., & Garcia, C. v. (2013). Software Architecture Documentation for Developers: A Survey.Cortellessa, V., Marco, A. D., & Inverardi, P. (2011). What Is Software Performance?Demange, A., Moha, N., & Tremblay, G. (2013). Detection of SOA Patterns.Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., & Mustafin, R. (2017). Microservices: Yesterday, Today, and Tomorrow. Springer.Dragos-Paul, & AdamAltar. (2014). Designing an MVC Model for Rapid Web Application Development.Eraso, M. R. (2015). Evaluación de Propuestas de Software: Flexibilidad. Obtenido de http://qualisys.com.co/articulo-evaluacion-propuestas-software-flexibilidadF, B. (1999). Pattern oriented software architecture: a system of patters.FranBVG. (2013). La falta de flexibilidad del software empresarial.Freedman, R. (1991). Testability of Software Components. IEEE computer society.Freeman, A. (2017). The MVC Pattern, Projects, and Conventions.Gabit. (2013). ¿Qué es iOS? Obtenido de http://www.gabit.org/gabit/?q=es/que-es-iosGallo, R. (Junio de 2015). Security and system architecture: comparison of Android customizations. ACM digital library.Garlan, D. (Mayo de 2014). Software architecture: a travelogue. ACM digital library.Garlan, D., & Shaw, M. (1993). An Introduction to Software Architecture. Technical Report CMU/SEI-94-TR-21, Software Engineering Institute, Carnegie Mellon University.github. (2016). Arquitecturas software para la nube. Obtenido de github: https://jj.github.io/CC/documentos/temas/Arquitecturas_para_la_nubeGoumas, G., & Fylaktopoulos, G. (2016). An overview of platforms for cloud based development.Goyal, P. (2018). Graph embedding techniques, applications, and performance: A survey. Science direct.Harper, K. E., & Zheng, J. (2015). Exploring Software Architecture Context. IEE society.Harper, K. E., & Zheng, J. (2015). Exploring Software Architecture Context. IEEE xplore.Hashem, I. A. (2015). The rise of “big data” on cloud computing: Review and open research issues.Haug, K. (2015). Cloud adaptiveness within industry sectors – Measurement and observations. Science Direct.Hernández, L. d. (2018). ¿ Qué es WPF ? un repaso por sus características. Obtenido de https://programarfacil.com/blog/programacion-net-blog/que-es-wpf/HONDA, M. (2018). The Art of Software Performance Testing. Obtenido de https://devops.com/the-art-of-software-performance-testing/Huda, D. M. (2015). Evaluating effectiveness factor of object oriented design: a testability perspective.Humberto, C. (2016). Arquitectura de Software. Obtenido de sg: https://sg.com.mx/revista/27/arquitectura-softwareHwang, G.-J. (2014). Definition, framework and research issues of smart learning environments - a context-aware ubiquitous learning perspective. Srpinger link.Ibrahim, F. A. (2018). Trusted Cloud Computing Architectures for infrastructure as a service: Survey and systematic literature review. Science direct.IEEE Std 1471-2000, A. 1.-2. (2001). IEEE Recommended Practice for Architectural Description for Software-Intensive Systems. IEEE.Incibe. (2015). Seguridad en la Nube. Obtenido de Arquitecturas de seguridad en la nube para la industria.instruments, N. (2012). Web Forms vs. Windows Forms. Obtenido de http://zone.ni.com/reference/en-XX/help/372636F-01/mstudiowebhelp/html/webformsvswindowsformswebforms/ISO/IEC/IEEE. (2013). Defining architecture. Obtenido de http://www.iso-architecture.org/ieee-1471/defining-architecture.htmlJaramillo, D., & Nguyen, D. V. (2016). Leveraging microservices architecture by using Docker technology. IEEE.Jeffers, J., & Reinders, J. (2013). Software Performance.Jimenez-Torres, & Hugo, V. (2014). Lenguajes de Patrones de Arquitectura de.Jinesh, & Varia. (2010). Arquitectura"para"la"nube:"Prácticas"recomendadas.Kashfi, H. (2017). Software Engineering Challenges in Cloud Environment : Software Development Lifecycle Perspective.kodytechnolab. (2017). An exposition of web application design - Modern trends and popular technologies. VGU.Kouraklis, J. (2016). MVVM as Design Pattern. Obtenido de https://www.researchgate.net/publication/310493153_MVVM_as_Design_PatternKritikos, K., & Skrzypek, P. (2018). A Review of Serverless Frameworks.Lappalainen, S., & Kobayashi, T. (2017). A Pattern Language for MVC Derivatives. Semantic schoolar.Lara, D. (2015). Modularidad en la programación orientada a objetos. Obtenido de styde.net: https://styde.net/modularidad-en-la-programacion-orientada-a-objetos/Li, X. (2015). Application of MVVM design pattern in MES. IEE xplore.Libardo, P. (2016). Evaluando la Facilidad de Aprendizaje de Frameworks mvc en el Desarrollo de Aplicaciones Web.López, D., & Maya, E. (2017). Arquitectura de Software basada en Microservicios para Desarrollo de Aplicaciones Web.Lou, T. (2016). A comparison of Android Native App Architecture.Lou, T. (2016). A comparison of Android Native App Architecture MVC, MVP and MVVM.Majeed, A., & Rauf, I. (2018). MVC Architecture: A Detailed Insight to the.Majeed, A., & Rauf, I. (2018). MVC Architecture: A Detailed Insight to theModern Web Applications Development.Manteuffel, C., & Hambergb, R. (2018). An exploratory case study on reusing architecture decisions in software-intensive system projects. Science Direct.Mantilla, M. C. (2014). Metodología para el desarrollo de aplicaciones móviles.Mariam, A., & Mohammad, A. (2018). MMVMi: A Validation Model for MVC and MVVM Design Patterns in iOS Applications.Martínez, R. A., Abel, A., & Hernández, G. (2013). Marco de trabajo para el desarrollo de herramientas orientadas a la gestión e integración de servicios telemáticos de infraestructura en GNU/Linux.Medina, G. A. (2018). Comparative Study of Performance and Productivity of MVC and MVVM design patterns.Meyer, A. N. (2014). Software developers' perceptions of productivity. Acm digital library.Microservices. (2015). IEEE.Microsoft. (s.f.). ¿Qué es la arquitectura de software? Obtenido de msdn: https://msdn.microsoft.com/es-es/hh144976.aspxmicrosoft. (2015). ¿Qué es la arquitectura de software? Obtenido de msdn: https://msdn.microsoft.com/es-es/hh144976.aspxMicrosoft. (2018). Crear servicio Simple con la API de ASP.NET MVC Web puedan tener acceso al almacén de Windows y aplicaciones de Windows Phone. Obtenido de https://support.microsoft.com/es-ec/help/2778398/creating-simple-service-with-asp-net-mvc-web-api-to-be-accessed-by-winMicrosoft. (2019). Obtenido de https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/adding-view?view=aspnetcore-3.0&tabs=visual-studio#change-the-title-footer-and-menu-link-in-the-layout-fileMicrosoft. (2019). Creación de un microservicio CRUD sencillo controlado por datos. Obtenido de https://docs.microsoft.com/es-es/dotnet/architecture/microservices/multi-container-microservice-net-applications/data-driven-crud-microserviceMistrik, I., Bahsoon, R., & Eeles, P. (2014). Relating System Quality and Software Architecture. Scopus.Monroy, M., Arciniegas, J., & Rodriguez, J. (2016). Recuperación de Arquitecturas de Software: Un Mapeo Sistemático de la Literatura.Mora, A. N. (2006). Proceso para el desarrollo de Arquitecturas de Software basado en DFSS.Moreno, M. S. (2015). Computación en la Nube PDF Logo.Muntenescu. (2016). Android-architecture-patterns-part-2.N.M.Villegas, G.Tamura, & H.A.Müller. (2017). Chapter 2 - Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges. Science direct.Nahar, N. (2016). An improved behavioral matching for anti-pattern based abstract factory recommendation. IEEE.Namiot, D. (2014). On Micro-services Architecture.Navarro, V. A. (2017). Desarrollo de aplicaciones en la nube.Neosoft. (2018). ¿Qué es una aplicación Web? Obtenido de https://www.neosoft.es/blog/que-es-una-aplicacion-web/O’Connor, R., & Elger, P. (2016). Exploring the Impact of Situational Context — A Case Study of a Software Development Process for a Microservices Architecture. IEEE.Ojeda-Guerra, C. N. (2015). A Simple Software Development Methodology Based on MVP for Android Applications in a Classroom Context. IEEE.Ojeda-Guerra, C. N. (2015). A Simple Software Development Methodology Based on MVP for Android Applications in a Classroom Context. IEEE computer society.Pantoja, L. (2017). Arquitectura orientada a servicios: Instalación y evaluación del ESB de WSO2.Papazoglou, M. P. (2007). Service oriented architectures: approaches, technologies and research issues.Parna, D. (2000). The Modular Structure of Complex Systems.Parnas, D. (1972). On the Criteria To Be Used in Decomposing Systems into ModulesParnas, D. (1979). Designing Software for Ease of Extension and Contraction.Paz, J., & Peña, A. (2017). Sistema de Recuperación de Decisiones de Diseño de Arquitectura de Software sobre Proyectos.Peláez, J. (2009). Arquitectura basada en capas.Pérez, A., Moltó, G., Caballer, M., & Calatrava, A. (2018). Serverless computing for container-based architectures. Science direct.Pop, D.-P., & Altar, A. (2014). Designing an MVC Model for Rapid Web Application Development. Science direct.Quinton, É. (2017). 6 - Using the MVC Model to Structure the Application. Science direct. Obtenido de MVC (Modelo-Vista-Controlador): ¿qué es y para qué sirve?: https://codingornot.com/mvc-modelo-vista-controlador-que-es-y-para-que-sirveQuinton, É. (2017). Using the MVC Model to Structure the Application. Science Direct.Qureshi, M. R., & Sabir, F. (2014). A comparison of model view controller and model view presenter.redHat. (2016). ¿Qué son los microservicios? Obtenido de redHat: https://www.redhat.com/es/topics/microservices/what-are-microserviReynoso, C. (2004). Estilos y Patrones en la Estrategia de Arquitectura de Microsoft.Richards, M. (2016). Microservices vs. Service-Oriented Architecture.Romero, M. J. (2016). Comparación de opciones para inteligencia de negocios en los principales sistemas gestores de bases de datos del mercado.Romero, Y. F. (2012). Patrón Modelo-Vista-ControladorRomero, Y. F., & González, Y. D. (2012). Patrón Modelo-Vista-Controlador. Telemáticarytewiki. (2015). Microsoft Silverlight. Obtenido de https://es.ryte.com/wiki/Microsoft_SilverlightSalazar, W. E. (2017). Implementación de arquitectura de microservicios utilizando virtualización por sistema operativoSandraSchröder, Soliman, M., & Riebisch, M. (2018). Journal of Systems and Software. Science directSarasty, H. F. (2015). DOCUMENTACIÓN Y ANÁLISIS DE LOS PRINCIPALES FRAMEWORKS DE ARQUITECTURA DE SOFTWARE EN APLICACIONES EMPRESARIALESScale rid. (2019). Obtenido de 2019 Database Trends – SQL vs. NoSQL, Top Databases, Single vs. Multiple Database Use: https://scalegrid.io/blog/2019-database-trends-sql-vs-nosql-top-databases-single-vs-multiple-database-use/seagate. (2019). Arquitecturas de computación en nube y almacenamiento en nube. Obtenido de seagate: https://www.seagate.com/la/es/tech-insights/cloud-compute-and-cloud-storage-architecture-master-ti/seagate;. (2019). Arquitecturas de computación en nube y almacenamiento en nube. Obtenido de https://www.seagate.com/la/es/tech-insights/cloud-compute-and-cloud-storage-architecture-master-ti/SEI. (2010). What Is Your Definition of Software Architecture. Obtenido de Software Engineering Institute: https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=513807SergeyOrlov. (2017). Decision Making for the Software Architecture Structure Based on the Criteria Importance Theory. Science direct.Seth, A., Singla, A. R., & Aggarwal, H. (2012). Service Oriented Architecture Adoption Trends: A Critical Survey.sg. (2011). Desarrollo de Aplicaciones con Silverlight. Obtenido de https://sg.com.mx/content/view/706Shang-PinMa. (2019). Graph-based and scenario-driven microservice analysis, retrieval, and testing.Shanin, M., & Ali, M. (2014). A systematic review of software architecture visualization techniques. ScienceDirect.Sharma, A. (2015). LA IMPORTANCIA DE LA ARQUITECTURA DE SOFTWARE. Science direct.Sharma, A., Kumar, M., & Agarval, S. (2015). A Complete Survey on Software Architectural Styles and Patterns. Science Direct.SINCOWS. (2015). Mantenimiento de Software . Obtenido de SINCOWS: http://www.sincows.com/sincows/index.php?option=com_content&view=article&id=70&Itemid=68Sinhal, A. (2017). Obtenido de MVC, MVP and MVVM Design Pattern: https://medium.com/@ankit.sinhal/mvc-mvp-and-mvvm-design-pattern-6e169567bbadsites.google. (2015). Modularidad. Obtenido de google: https://sites.google.com/site/lenguajedeprogramacionit3p1/iv-desarrollo-de-modularidad/unidad-iv-desarrollo-de-modularidadSoldani, J., & Tamburri, D. A. (2018). The pains and gains of microservices: A Systematic grey literature review. Science direct. Obtenido de https://www.javiergarzas.com/2015/06/microservicios.htmlSolis, O. (2017). Patrones de diseño.solvetic. (2014). A fondo ASP.NET MVC - Desarrollo Móvil. Obtenido de https://www.solvetic.com/tutoriales/article/1013-a-fondo-aspnet-mvc-desarrollo-movil/?_st=1Soral, R. (2018). Obtenido de Android Pub: https://android.jlelse.eu/architectural-guidelines-to-follow-for-mvp-pattern-in-android-2374848a0157Stadistics Solutions. (2019). How to Begin Writing your Theoretical Framework. Obtenido de https://www.statisticssolutions.com/how-to-begin-writing-your-theoretical-framework/Suárez, J., & Gutiérrez. (2016). Tipificación de Dominios de Requerimientos para la Aplicación de Patrones Arquitectónicos. Researchgate.Sun, W., Chen, H., & Yu, W. (2017). The Exploration and Practice of MVVM Pattern on Android Platform. Atlantis press.Syromiatnikov, A. (2014). A Journey Through the Land of Model-View-* Design Patterns. IEEE.TechTarget. (2017). Desarrollo de aplicaciones móviles. Obtenido de https://searchdatacenter.techtarget.com/es/definicion/Desarrollo-de-aplicaciones-movilesTechtarget. (2017). Desarrollo de aplicaciones móviles multiplataforma. cicdigital.Tecnologias-información. (2018). Obtenido de Bases de datos para Android y otros móviles: https://www.tecnologias-informacion.com/basedatosandroid.htmlTorres, O. (2015). Microservicios: Buenas prácticas y stacks tecnológicos.Verdecchia, R., Malavolta, I., & Lago, P. (2019). Guidelines for Architecting Android Apps A Mixed-Method Empirical Study. IEEE International conference on software architecture.Vo, L. (2018). The MVP architecture pattern in Flutter with simple demo. Obtenido de https://medium.com/flutterpub/the-mvp-architecture-pattern-in-flutter-with-simple-demo-65ab3282c54bWoodside, M. (2007). The Future of Software Performance Engineering. Obtenido de https://dl.acm.org/citation.cfm?id=1254717Xing, P. G., & Qi, T. (2013). "Flexibility" of Software Development Method. IEE computer society.Yoon, T. (2018). Service Oriented Architecture (SOA) Implementation: Success Factors and Realized Benefits. igi-global.Zlatanov, N. (2016). Computer Memory, Applications and Management .Guerrero, C. A., & Londoño, J. M. (2014). ESTUDIO COMPARATIVO DE MARCOS DE TRABAJO PARA EL DESARROLLO SOFTWARE ORIENTADO A ASPECTOS.Navarro, M. M., Moreno, M. M., Aranda, L. J., & Parra, L. L. (2017). Integración de Arquitectura de Software en el Ciclo de Vida de las Metodologías Ágiles. Una Perspectiva Basada en Requisitos. unlp.Peña, I. A., & Rojas, I. I. (2016). Arquitectura de software para el sistema de visualización médica Vismedic.Ríos, J. R., & Mora, N. M. (2016). Evaluación de los Frameworks en el Desarrollo de Aplicaciones Web con Python.Sarasty, H. (2015). DOCUMENTACIÓN Y ANÁLISIS DE LOS PRINCIPALES FRAMEWORKS DE ARQUITECTURA DE SOFTWARE EN APLICACIONES EMPRESARIALES.Upadhyay, N. (2016). SDMF: Systematic Decision-making Framework for Evaluation of Software Architecture. Science direct.ORIGINALSintesis Proyecto de software.pdfSintesis Proyecto de software.pdfSíntesisapplication/pdf382934https://dspace.tdea.edu.co/bitstream/tdea/923/1/Sintesis%20Proyecto%20de%20software.pdf9ad1dafc0e8a3f9cbe1d4dcf40c8aa04MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://dspace.tdea.edu.co/bitstream/tdea/923/2/license.txt2f9959eaf5b71fae44bbf9ec84150c7aMD52open accessTEXTSintesis Proyecto de software.pdf.txtSintesis Proyecto de software.pdf.txtExtracted texttext/plain24390https://dspace.tdea.edu.co/bitstream/tdea/923/3/Sintesis%20Proyecto%20de%20software.pdf.txtd553898befee840a84dba0a7f3575964MD53open accessTHUMBNAILSintesis Proyecto de software.pdf.jpgSintesis Proyecto de software.pdf.jpgGenerated Thumbnailimage/jpeg7315https://dspace.tdea.edu.co/bitstream/tdea/923/4/Sintesis%20Proyecto%20de%20software.pdf.jpg3da7421629528105ab8d45160a81ca71MD54open accesstdea/923oai:dspace.tdea.edu.co:tdea/9232021-05-01 00:45:40.541An error occurred on the license name.|||https://creativecommons.org/licenses/by-nc/4.0/open accessRepositorio Institucional Tecnologico de Antioquiabdigital@metabiblioteca.comTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=