Generative AI for software architecture
This thesis explores the integration of Generative Artificial Intelligence (GenAI) tools, exemplified by ChatGPT, into software architecture practices, particularly focusing on Attribute Driven Design 3.0 (ADD 3.0). The goal is to develop a GenAI prototype that facilitates software architects in the...
- Autores:
-
Rivera Hernández, Brian Manuel
Santos Ayala, Juan Martín
Méndez Melo, Julián Andrés
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2024
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/74979
- Acceso en línea:
- https://hdl.handle.net/1992/74979
- Palabra clave:
- GenAI
Software Architecture
ADD 3.0
Attribute Driven Design
Inteligencia Artificial Generativa
Arquitectura de Software
Ingeniería
- Rights
- openAccess
- License
- Attribution-NonCommercial 4.0 International
id |
UNIANDES2_3d99bc92c117bd5f5559a2474d7ad0bc |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/74979 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.eng.fl_str_mv |
Generative AI for software architecture |
title |
Generative AI for software architecture |
spellingShingle |
Generative AI for software architecture GenAI Software Architecture ADD 3.0 Attribute Driven Design Inteligencia Artificial Generativa Arquitectura de Software Ingeniería |
title_short |
Generative AI for software architecture |
title_full |
Generative AI for software architecture |
title_fullStr |
Generative AI for software architecture |
title_full_unstemmed |
Generative AI for software architecture |
title_sort |
Generative AI for software architecture |
dc.creator.fl_str_mv |
Rivera Hernández, Brian Manuel Santos Ayala, Juan Martín Méndez Melo, Julián Andrés |
dc.contributor.advisor.none.fl_str_mv |
Correal Torres, Dario Ernesto |
dc.contributor.author.none.fl_str_mv |
Rivera Hernández, Brian Manuel Santos Ayala, Juan Martín Méndez Melo, Julián Andrés |
dc.contributor.jury.none.fl_str_mv |
Correal Torres, Dario Ernesto |
dc.subject.keyword.eng.fl_str_mv |
GenAI Software Architecture ADD 3.0 Attribute Driven Design |
topic |
GenAI Software Architecture ADD 3.0 Attribute Driven Design Inteligencia Artificial Generativa Arquitectura de Software Ingeniería |
dc.subject.keyword.spa.fl_str_mv |
Inteligencia Artificial Generativa Arquitectura de Software |
dc.subject.themes.spa.fl_str_mv |
Ingeniería |
description |
This thesis explores the integration of Generative Artificial Intelligence (GenAI) tools, exemplified by ChatGPT, into software architecture practices, particularly focusing on Attribute Driven Design 3.0 (ADD 3.0). The goal is to develop a GenAI prototype that facilitates software architects in the initial stages of design within the ADD 3.0 framework. By leveraging AI capabilities, the project aims to enhance the quality and efficiency of software architecture processes by providing intelligent support to architects. The resulting tool demonstrates expertise in ADD 3.0 methodology, offering recommendations on patterns, tactics, and styles tailored to the quality scenarios defined by users. Through this integration, GenAI becomes an asset in guiding architects through complex design decisions, ultimately streamlining the software architecture development process. |
publishDate |
2024 |
dc.date.accessioned.none.fl_str_mv |
2024-08-05T15:29:35Z |
dc.date.available.none.fl_str_mv |
2024-08-05T15:29:35Z |
dc.date.issued.none.fl_str_mv |
2024-08-02 |
dc.type.none.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
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.content.none.fl_str_mv |
Text |
dc.type.redcol.none.fl_str_mv |
http://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
status_str |
acceptedVersion |
dc.identifier.uri.none.fl_str_mv |
https://hdl.handle.net/1992/74979 |
dc.identifier.instname.none.fl_str_mv |
instname:Universidad de los Andes |
dc.identifier.reponame.none.fl_str_mv |
reponame:Repositorio Institucional Séneca |
dc.identifier.repourl.none.fl_str_mv |
repourl:https://repositorio.uniandes.edu.co/ |
url |
https://hdl.handle.net/1992/74979 |
identifier_str_mv |
instname:Universidad de los Andes reponame:Repositorio Institucional Séneca repourl:https://repositorio.uniandes.edu.co/ |
dc.language.iso.none.fl_str_mv |
eng |
language |
eng |
dc.relation.references.none.fl_str_mv |
Cervantes, H. & Kazman, R. (2016). Designing Software Architectures: A Practical Approach. Zhang, P., & Kamel Boulos, M. N. (2023). Generative AI in medicine and healthcare: Promises, opportunities, and challenges. Future Internet, 15(286). Zhang, E. Y., Cheok, A. D., Pan, Z., Cai, J., & Yan, Y. (2023). From Turing to Transformers: A comprehensive review and tutorial on the evolution and applications of generative transformer models. Sci, 5(46). https://doi.org/10.3390/sci5040046 Zhao, W. X., Zhou, K., Li, J., Tang, T., Wang, X., Hou, Y., Min, Y., Zhang, B., Zhang, J., Dong, Z., Du, Y., Yang, C., Chen, Y., Chen, Z., Jiang, J., Ren, R., Li, Y., Tang, X., Liu, Z., Liu, P., Nie, J.-Y., & Wen, J.-R. (2023). A survey of large language models. arXiv. https://arxiv.org/abs/2303.18223 Liu, Y., Han, T., Ma, S., Zhang, J., Yang, Y., Tian, J., ... & Ge, B. (2023). Summary of ChatGPT-related research and perspective towards the future of large language models. arXiv preprint arXiv:2304.01852v4. Meta. (2024). Introducing Meta Llama 3: The most capable openly available LLM to date. Retrieved from https://ai.meta.com/blog/meta-llama-3/ Vellum.ai. (2024). Llama 3 70B vs GPT-4: Comparison analysis. Retrieved from https://www.vellum.ai/articles/llama-3-70b-vs-gpt-4 Artificial Analysis. (2024). LLM Leaderboard - Comparison of over 30 AI models. Retrieved from https://artificialanalysis.ai/leaderboards/models Dataconomy. (2024). Llama 3 benchmark: Meta AI vs ChatGPT vs Gemini. Retrieved from https://dataconomy.com/2024/04/llama-3-benchmark-meta-ai-vs-chatgpt-vs-gemini/ Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., ... & Kiela, D. (2020). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv preprint arXiv:2005.11401. Zhou, Y., Muresanu, A. I., Han, Z., Paster, K., Pitis, S., Chan, H., & Ba, J. (2023). Large language models are human-level prompt engineers. In Proceedings of the International Conference on Learning Representations (ICLR 2023). https://arxiv.org/abs/2211.01910 Wooldridge, M., & Jennings, N. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10, 115-152. Andreas, J. (2022). Language models as agent models. arXiv. https://arxiv.org/abs/2211.01910 Context.ai. (2024). Llama 3 70B instruct model card. Retrieved from https://context.ai/model/llama3-70b-instruct-v1 Huggingface.co. (2024). Welcome Llama 3 - Meta's new open LLM. Retrieved from https://huggingface.co/models/meta-llama/Meta-Llama-3-70B-instruct Hacker News. (2024). Run Llama 3 locally with 1M token context. Retrieved from https://news.ycombinator.com/item?id=30820932 Shazeer, N., Mirhoseini, A., Maziarz, K., Davis, A., Le, Q., Hinton, G., & Dean, J. (2017). Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv. https://arxiv.org/abs/1701.06538 |
dc.rights.en.fl_str_mv |
Attribution-NonCommercial 4.0 International |
dc.rights.uri.none.fl_str_mv |
http://creativecommons.org/licenses/by-nc/4.0/ |
dc.rights.accessrights.none.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.coar.none.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
rights_invalid_str_mv |
Attribution-NonCommercial 4.0 International http://creativecommons.org/licenses/by-nc/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.none.fl_str_mv |
94 páginas |
dc.format.mimetype.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidad de los Andes |
dc.publisher.program.none.fl_str_mv |
Ingeniería de Sistemas y Computación |
dc.publisher.faculty.none.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.none.fl_str_mv |
Departamento de Ingeniería de Sistemas y Computación |
publisher.none.fl_str_mv |
Universidad de los Andes |
institution |
Universidad de los Andes |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/ad030b11-8043-4832-a59c-642d72f72948/download https://repositorio.uniandes.edu.co/bitstreams/9abda9f8-9523-4e38-997a-dcdffab4ce0c/download https://repositorio.uniandes.edu.co/bitstreams/19d8e021-48c5-44dd-996c-01fa4190eb25/download https://repositorio.uniandes.edu.co/bitstreams/6cd51770-655b-4d0d-ba03-f292c13fe691/download https://repositorio.uniandes.edu.co/bitstreams/abd64ba1-b2fb-4ccb-b7db-45a1f7378a5c/download https://repositorio.uniandes.edu.co/bitstreams/af7e08eb-fe8b-48ed-92b1-c8181ba4c1cb/download https://repositorio.uniandes.edu.co/bitstreams/e679df85-f8c5-46ab-ac72-d937d6e1162b/download https://repositorio.uniandes.edu.co/bitstreams/ba8e80bd-7662-4b04-83ec-4e55a2d1ecdf/download |
bitstream.checksum.fl_str_mv |
80bdd22f4c9fbcc22c7ccef6712d2d53 fc39f12b87e08f29a811923850797427 24013099e9e6abb1575dc6ce0855efd5 ae9e573a68e7f92501b6913cc846c39f 0163b08394145232c03e6fdd19ba48c4 c1ef7f43cf28a3c6a315fd9e804acd1f bb53c0142a6d200315b05e5f25fbb14d 327694fc3543d5fb773c87748cfb0402 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio institucional Séneca |
repository.mail.fl_str_mv |
adminrepositorio@uniandes.edu.co |
_version_ |
1812134068170522624 |
spelling |
Correal Torres, Dario Ernestovirtual::19758-1Rivera Hernández, Brian ManuelSantos Ayala, Juan MartínMéndez Melo, Julián AndrésCorreal Torres, Dario Ernesto2024-08-05T15:29:35Z2024-08-05T15:29:35Z2024-08-02https://hdl.handle.net/1992/74979instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/This thesis explores the integration of Generative Artificial Intelligence (GenAI) tools, exemplified by ChatGPT, into software architecture practices, particularly focusing on Attribute Driven Design 3.0 (ADD 3.0). The goal is to develop a GenAI prototype that facilitates software architects in the initial stages of design within the ADD 3.0 framework. By leveraging AI capabilities, the project aims to enhance the quality and efficiency of software architecture processes by providing intelligent support to architects. The resulting tool demonstrates expertise in ADD 3.0 methodology, offering recommendations on patterns, tactics, and styles tailored to the quality scenarios defined by users. Through this integration, GenAI becomes an asset in guiding architects through complex design decisions, ultimately streamlining the software architecture development process.Pregrado94 páginasapplication/pdfengUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y ComputaciónAttribution-NonCommercial 4.0 Internationalhttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Generative AI for software architectureTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPGenAISoftware ArchitectureADD 3.0Attribute Driven DesignInteligencia Artificial GenerativaArquitectura de SoftwareIngenieríaCervantes, H. & Kazman, R. (2016). Designing Software Architectures: A Practical Approach.Zhang, P., & Kamel Boulos, M. N. (2023). Generative AI in medicine and healthcare: Promises, opportunities, and challenges. Future Internet, 15(286).Zhang, E. Y., Cheok, A. D., Pan, Z., Cai, J., & Yan, Y. (2023). From Turing to Transformers: A comprehensive review and tutorial on the evolution and applications of generative transformer models. Sci, 5(46). https://doi.org/10.3390/sci5040046Zhao, W. X., Zhou, K., Li, J., Tang, T., Wang, X., Hou, Y., Min, Y., Zhang, B., Zhang, J., Dong, Z., Du, Y., Yang, C., Chen, Y., Chen, Z., Jiang, J., Ren, R., Li, Y., Tang, X., Liu, Z., Liu, P., Nie, J.-Y., & Wen, J.-R. (2023). A survey of large language models. arXiv. https://arxiv.org/abs/2303.18223Liu, Y., Han, T., Ma, S., Zhang, J., Yang, Y., Tian, J., ... & Ge, B. (2023). Summary of ChatGPT-related research and perspective towards the future of large language models. arXiv preprint arXiv:2304.01852v4.Meta. (2024). Introducing Meta Llama 3: The most capable openly available LLM to date. Retrieved from https://ai.meta.com/blog/meta-llama-3/Vellum.ai. (2024). Llama 3 70B vs GPT-4: Comparison analysis. Retrieved from https://www.vellum.ai/articles/llama-3-70b-vs-gpt-4Artificial Analysis. (2024). LLM Leaderboard - Comparison of over 30 AI models. Retrieved from https://artificialanalysis.ai/leaderboards/modelsDataconomy. (2024). Llama 3 benchmark: Meta AI vs ChatGPT vs Gemini. Retrieved from https://dataconomy.com/2024/04/llama-3-benchmark-meta-ai-vs-chatgpt-vs-gemini/Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., ... & Kiela, D. (2020). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv preprint arXiv:2005.11401.Zhou, Y., Muresanu, A. I., Han, Z., Paster, K., Pitis, S., Chan, H., & Ba, J. (2023). Large language models are human-level prompt engineers. In Proceedings of the International Conference on Learning Representations (ICLR 2023). https://arxiv.org/abs/2211.01910Wooldridge, M., & Jennings, N. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10, 115-152.Andreas, J. (2022). Language models as agent models. arXiv. https://arxiv.org/abs/2211.01910Context.ai. (2024). Llama 3 70B instruct model card. Retrieved from https://context.ai/model/llama3-70b-instruct-v1Huggingface.co. (2024). Welcome Llama 3 - Meta's new open LLM. Retrieved from https://huggingface.co/models/meta-llama/Meta-Llama-3-70B-instructHacker News. (2024). Run Llama 3 locally with 1M token context. Retrieved from https://news.ycombinator.com/item?id=30820932Shazeer, N., Mirhoseini, A., Maziarz, K., Davis, A., Le, Q., Hinton, G., & Dean, J. (2017). Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv. https://arxiv.org/abs/1701.06538202015320202013610201920623Publicationhttps://scholar.google.es/citations?user=Bo4lXDAtq9QCvirtual::19758-1https://scholar.google.es/citations?user=Bo4lXDAtq9QChttps://scholar.google.es/citations?user=Bo4lXDAtq9QC0000-0001-9502-4504virtual::19758-10000-0001-9502-45040000-0001-9502-4504https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000251631virtual::19758-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000251631https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=00002516311b8e646a-b3b6-4384-9e86-be6d0e4acadfvirtual::19758-11b8e646a-b3b6-4384-9e86-be6d0e4acadf1b8e646a-b3b6-4384-9e86-be6d0e4acadf1b8e646a-b3b6-4384-9e86-be6d0e4acadfvirtual::19758-1ORIGINALGenerative AI for software architecture.pdfGenerative AI for software architecture.pdfapplication/pdf6605476https://repositorio.uniandes.edu.co/bitstreams/ad030b11-8043-4832-a59c-642d72f72948/download80bdd22f4c9fbcc22c7ccef6712d2d53MD52autorizacion tesis.pdfautorizacion tesis.pdfHIDEapplication/pdf223015https://repositorio.uniandes.edu.co/bitstreams/9abda9f8-9523-4e38-997a-dcdffab4ce0c/downloadfc39f12b87e08f29a811923850797427MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.uniandes.edu.co/bitstreams/19d8e021-48c5-44dd-996c-01fa4190eb25/download24013099e9e6abb1575dc6ce0855efd5MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/6cd51770-655b-4d0d-ba03-f292c13fe691/downloadae9e573a68e7f92501b6913cc846c39fMD54TEXTGenerative AI for software architecture.pdf.txtGenerative AI for software architecture.pdf.txtExtracted texttext/plain100130https://repositorio.uniandes.edu.co/bitstreams/abd64ba1-b2fb-4ccb-b7db-45a1f7378a5c/download0163b08394145232c03e6fdd19ba48c4MD55autorizacion tesis.pdf.txtautorizacion tesis.pdf.txtExtracted texttext/plain1503https://repositorio.uniandes.edu.co/bitstreams/af7e08eb-fe8b-48ed-92b1-c8181ba4c1cb/downloadc1ef7f43cf28a3c6a315fd9e804acd1fMD57THUMBNAILGenerative AI for software architecture.pdf.jpgGenerative AI for software architecture.pdf.jpgGenerated Thumbnailimage/jpeg8050https://repositorio.uniandes.edu.co/bitstreams/e679df85-f8c5-46ab-ac72-d937d6e1162b/downloadbb53c0142a6d200315b05e5f25fbb14dMD56autorizacion tesis.pdf.jpgautorizacion tesis.pdf.jpgGenerated Thumbnailimage/jpeg10368https://repositorio.uniandes.edu.co/bitstreams/ba8e80bd-7662-4b04-83ec-4e55a2d1ecdf/download327694fc3543d5fb773c87748cfb0402MD581992/74979oai:repositorio.uniandes.edu.co:1992/749792024-09-12 16:20:18.804http://creativecommons.org/licenses/by-nc/4.0/Attribution-NonCommercial 4.0 Internationalopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K |