Analizador de código como extensión de Visual Studio Code
En este artículo, presentamos una herramienta de apoyo al proceso de desarrollo de software en forma de una extensión para Visual Studio Code, diseñada para facilitar el análisis de código y la atribución de autoría. Esta herramienta utiliza una arquitectura remota para llevar a cabo un análisis det...
- Autores:
-
Bedoya De la Cruz, Felipe
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/73216
- Acceso en línea:
- https://hdl.handle.net/1992/73216
- Palabra clave:
- Git
SonarQube
Análisis
Extensión
Visual Studio Code
Ingeniería
- Rights
- openAccess
- License
- Attribution-NonCommercial 4.0 International
id |
UNIANDES2_f5ba5d3ce0acadeaa636f512169cadbf |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/73216 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Analizador de código como extensión de Visual Studio Code |
title |
Analizador de código como extensión de Visual Studio Code |
spellingShingle |
Analizador de código como extensión de Visual Studio Code Git SonarQube Análisis Extensión Visual Studio Code Ingeniería |
title_short |
Analizador de código como extensión de Visual Studio Code |
title_full |
Analizador de código como extensión de Visual Studio Code |
title_fullStr |
Analizador de código como extensión de Visual Studio Code |
title_full_unstemmed |
Analizador de código como extensión de Visual Studio Code |
title_sort |
Analizador de código como extensión de Visual Studio Code |
dc.creator.fl_str_mv |
Bedoya De la Cruz, Felipe |
dc.contributor.advisor.none.fl_str_mv |
Bocanegra García, José Joaquín |
dc.contributor.author.none.fl_str_mv |
Bedoya De la Cruz, Felipe |
dc.subject.keyword.spa.fl_str_mv |
Git SonarQube Análisis Extensión |
topic |
Git SonarQube Análisis Extensión Visual Studio Code Ingeniería |
dc.subject.keyword.eng.fl_str_mv |
Visual Studio Code |
dc.subject.themes.spa.fl_str_mv |
Ingeniería |
description |
En este artículo, presentamos una herramienta de apoyo al proceso de desarrollo de software en forma de una extensión para Visual Studio Code, diseñada para facilitar el análisis de código y la atribución de autoría. Esta herramienta utiliza una arquitectura remota para llevar a cabo un análisis detallado de repositorios de código y aprovecha las capacidades de SonarQube y GitInspector para identificar problemas y presentar métricas de código. El artículo tiene como objetivo explorar las contribuciones de este desarrollo original, proporcionar una visión general de herramientas similares existentes y exponer los resultados de la herramienta en términos de usabilidad y eficacia con una prueba orientada a desarrolladores. |
publishDate |
2023 |
dc.date.issued.none.fl_str_mv |
2023-12-20 |
dc.date.accessioned.none.fl_str_mv |
2024-01-12T20:45:49Z |
dc.date.available.none.fl_str_mv |
2024-01-12T20:45:49Z |
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/73216 |
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/73216 |
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 |
spa |
language |
spa |
dc.relation.references.none.fl_str_mv |
[1] Waldenberg, A. (2020, octubre 19). gitinspector: A statistical analysis tool for git repositories. [GitHub repository]. https://github.com/ejwa/gitinspector [2] Waldenberg, A. (2015, diciembre 13). Documentation. [GitHub repository wiki]. https://github.com/ejwa/gitinspector/wiki/Documentation [3] SonarQube. (n.d.). SonarQube 9.9 LTS. [Online]. Available: https://www.sonarqube.org [4] Sonarqube. SonarQube 9.9 LTS Documentation. (n.d.). https://docs.sonarsource.com/sonarqube/latest/ [5] SonarSource. (2023, agosto 4). SonarScanner 5.0.1 – SonarQube Docs. [https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/] [6] Docker. (n.d.). Get started with Docker | Docker Docs. [Online]. Available: https://docs.docker.com/get-started/: https://docs.docker.com/get-started/. [7] Keypup. (n.d.). Keypup: Software Dev. Analytics to Accelerate Delivery. Recuperado noviembre 27, 2023, from https://www.keypup.io/ [8] GitClear. (n.d.). GitClear: The first Developer-Friendly Analytics tool. Recuperado noviembre 27, 2023, from https://www.gitclear.com/ [9] Aguiar, V. (2023, July 21). Analyzing Git Activity with Gitstats. [Medium]. Retrieved November 27, 2023, from https://medium.com/geekculture/analyzing-git-activity-with-gitstats-159f75719bab [10] Keen. (2017, octubre 16). keen/github-analytics. [GitHub repository]. Retrieved November 27, 2023, from https://github.com/keen/github-analytics: https://github.com/keen/github-analytics [11] Juanjo. (2022, septiembre 20). SonarCloud: Mejora el código con SAST. [Platzi Blog]. Retrieved November 27, 2023, from https://platzi.com/blog/sonarcloud-mejora-codigo-sast/: https://platzi.com/blog/sonarcloud-mejora-codigo-sast/ [12] Hernández, M. (2021, enero 26). ¿Qué es Linting y ESLint? ¿Cómo empezar?. freeCodeCamp.org. Recuperado noviembre 27, 2023, from https://www.freecodecamp.org/espanol/news/que-es-linting-y-eslint/ [13] Bedoya, F (2023, diciembre 4). Prueba guiada remota [Imagen digital] [14] Bedoya, F (2023, diciembre 4). Gráfica de líneas de resultados [Imagen digital] |
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 |
4843 palabras |
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 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/dde72c1e-885b-472c-810f-a100db07d211/download https://repositorio.uniandes.edu.co/bitstreams/389fed91-680f-4e92-b999-5423985dd74a/download https://repositorio.uniandes.edu.co/bitstreams/283f507d-adbe-4cf7-bb6b-bd3b6f141da6/download https://repositorio.uniandes.edu.co/bitstreams/d522a2ab-51f5-4cf9-94aa-9cb9b6cbf283/download https://repositorio.uniandes.edu.co/bitstreams/12e5c40e-5f7e-4573-b363-bfb406bcd065/download https://repositorio.uniandes.edu.co/bitstreams/dc87ba39-6bb6-4eba-bd71-bbac23a28d84/download https://repositorio.uniandes.edu.co/bitstreams/02ffb3b3-288b-4c9a-a11f-7e81b4e84170/download https://repositorio.uniandes.edu.co/bitstreams/9c6e508f-49c0-473b-a1f4-5e059db7d156/download |
bitstream.checksum.fl_str_mv |
24013099e9e6abb1575dc6ce0855efd5 ee1638dd7d73854c22f9385e92bf6416 2d597d886ff6489a32e4396a634cc2b2 ae9e573a68e7f92501b6913cc846c39f 087a604efc83676db5f72992e2387382 45bdbe806f534d07e4afd28a2aab14f8 ebf6a747cabbea3aff7928053143fdf7 6e2587d94f7e9b5a877bdb17bd7d6fae |
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_ |
1812133982770298880 |
spelling |
Bocanegra García, José JoaquínBedoya De la Cruz, Felipe2024-01-12T20:45:49Z2024-01-12T20:45:49Z2023-12-20https://hdl.handle.net/1992/73216instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/En este artículo, presentamos una herramienta de apoyo al proceso de desarrollo de software en forma de una extensión para Visual Studio Code, diseñada para facilitar el análisis de código y la atribución de autoría. Esta herramienta utiliza una arquitectura remota para llevar a cabo un análisis detallado de repositorios de código y aprovecha las capacidades de SonarQube y GitInspector para identificar problemas y presentar métricas de código. El artículo tiene como objetivo explorar las contribuciones de este desarrollo original, proporcionar una visión general de herramientas similares existentes y exponer los resultados de la herramienta en términos de usabilidad y eficacia con una prueba orientada a desarrolladores.Ingeniero de Sistemas y ComputaciónPregrado4843 palabrasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería 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_abf2Analizador de código como extensión de Visual Studio CodeTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPGitSonarQubeAnálisisExtensiónVisual Studio CodeIngeniería[1] Waldenberg, A. (2020, octubre 19). gitinspector: A statistical analysis tool for git repositories. [GitHub repository]. https://github.com/ejwa/gitinspector[2] Waldenberg, A. (2015, diciembre 13). Documentation. [GitHub repository wiki]. https://github.com/ejwa/gitinspector/wiki/Documentation[3] SonarQube. (n.d.). SonarQube 9.9 LTS. [Online]. Available: https://www.sonarqube.org[4] Sonarqube. SonarQube 9.9 LTS Documentation. (n.d.). https://docs.sonarsource.com/sonarqube/latest/[5] SonarSource. (2023, agosto 4). SonarScanner 5.0.1 – SonarQube Docs. [https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/][6] Docker. (n.d.). Get started with Docker | Docker Docs. [Online]. Available: https://docs.docker.com/get-started/: https://docs.docker.com/get-started/.[7] Keypup. (n.d.). Keypup: Software Dev. Analytics to Accelerate Delivery. Recuperado noviembre 27, 2023, from https://www.keypup.io/[8] GitClear. (n.d.). GitClear: The first Developer-Friendly Analytics tool. Recuperado noviembre 27, 2023, from https://www.gitclear.com/[9] Aguiar, V. (2023, July 21). Analyzing Git Activity with Gitstats. [Medium]. Retrieved November 27, 2023, from https://medium.com/geekculture/analyzing-git-activity-with-gitstats-159f75719bab[10] Keen. (2017, octubre 16). keen/github-analytics. [GitHub repository]. Retrieved November 27, 2023, from https://github.com/keen/github-analytics: https://github.com/keen/github-analytics[11] Juanjo. (2022, septiembre 20). SonarCloud: Mejora el código con SAST. [Platzi Blog]. Retrieved November 27, 2023, from https://platzi.com/blog/sonarcloud-mejora-codigo-sast/: https://platzi.com/blog/sonarcloud-mejora-codigo-sast/[12] Hernández, M. (2021, enero 26). ¿Qué es Linting y ESLint? ¿Cómo empezar?. freeCodeCamp.org. Recuperado noviembre 27, 2023, from https://www.freecodecamp.org/espanol/news/que-es-linting-y-eslint/[13] Bedoya, F (2023, diciembre 4). Prueba guiada remota [Imagen digital][14] Bedoya, F (2023, diciembre 4). Gráfica de líneas de resultados [Imagen digital]201921898PublicationCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.uniandes.edu.co/bitstreams/dde72c1e-885b-472c-810f-a100db07d211/download24013099e9e6abb1575dc6ce0855efd5MD51ORIGINALAnalizador de código como extensión de Visual Studio Code.pdfAnalizador de código como extensión de Visual Studio Code.pdfapplication/pdf1180592https://repositorio.uniandes.edu.co/bitstreams/389fed91-680f-4e92-b999-5423985dd74a/downloadee1638dd7d73854c22f9385e92bf6416MD52autorizacion tesis_signed.pdfautorizacion tesis_signed.pdfHIDEapplication/pdf439203https://repositorio.uniandes.edu.co/bitstreams/283f507d-adbe-4cf7-bb6b-bd3b6f141da6/download2d597d886ff6489a32e4396a634cc2b2MD54LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/d522a2ab-51f5-4cf9-94aa-9cb9b6cbf283/downloadae9e573a68e7f92501b6913cc846c39fMD53TEXTAnalizador de código como extensión de Visual Studio Code.pdf.txtAnalizador de código como extensión de Visual Studio Code.pdf.txtExtracted texttext/plain37260https://repositorio.uniandes.edu.co/bitstreams/12e5c40e-5f7e-4573-b363-bfb406bcd065/download087a604efc83676db5f72992e2387382MD55autorizacion tesis_signed.pdf.txtautorizacion tesis_signed.pdf.txtExtracted texttext/plain1969https://repositorio.uniandes.edu.co/bitstreams/dc87ba39-6bb6-4eba-bd71-bbac23a28d84/download45bdbe806f534d07e4afd28a2aab14f8MD57THUMBNAILAnalizador de código como extensión de Visual Studio Code.pdf.jpgAnalizador de código como extensión de Visual Studio Code.pdf.jpgGenerated Thumbnailimage/jpeg8370https://repositorio.uniandes.edu.co/bitstreams/02ffb3b3-288b-4c9a-a11f-7e81b4e84170/downloadebf6a747cabbea3aff7928053143fdf7MD56autorizacion tesis_signed.pdf.jpgautorizacion tesis_signed.pdf.jpgGenerated Thumbnailimage/jpeg10992https://repositorio.uniandes.edu.co/bitstreams/9c6e508f-49c0-473b-a1f4-5e059db7d156/download6e2587d94f7e9b5a877bdb17bd7d6faeMD581992/73216oai:repositorio.uniandes.edu.co:1992/732162024-01-13 03:07:19.046http://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 |