Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores
Due to the subjectivity involved currently in pulmonary auscultation process and its diagnostic to evaluate the condition of respiratory airways, this work pretends to evaluate the performance of clustering algorithms such as k-means and DBSCAN to perform a computational analysis of lung sounds aimi...
- Autores:
-
Sosa, Germán D
Velásquez Clavijo, Fabián
- Tipo de recurso:
- Article of journal
- Fecha de publicación:
- 2015
- Institución:
- Corporación Universidad de la Costa
- Repositorio:
- REDICUC - Repositorio CUC
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.cuc.edu.co:11323/1564
- Acceso en línea:
- https://hdl.handle.net/11323/1564
https://doi.org/10.17981/ingecuc.11.1.2015.05
https://repositorio.cuc.edu.co/
- Palabra clave:
- Sonido Pulmonar
Estertores
Sonidos Vesiculares
Sonidos Adventicios
Transformada Wavelet
Descomposición Wavelet
symlet
Clustering
k-means
DBSCAN
log-ennergy
Pulmonary sound
Rales
Vesicular sounds
Adventitious Sounds
Wavelet Transform
Wavelet decomposition
- Rights
- openAccess
- License
- http://purl.org/coar/access_right/c_abf2
id |
RCUC2_1694552d86d023398710a209411913d3 |
---|---|
oai_identifier_str |
oai:repositorio.cuc.edu.co:11323/1564 |
network_acronym_str |
RCUC2 |
network_name_str |
REDICUC - Repositorio CUC |
repository_id_str |
|
dc.title.eng.fl_str_mv |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
dc.title.translated.eng.fl_str_mv |
Application of clustering techniques for lung sounds to improve interpretability and detection of crackles |
title |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
spellingShingle |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores Sonido Pulmonar Estertores Sonidos Vesiculares Sonidos Adventicios Transformada Wavelet Descomposición Wavelet symlet Clustering k-means DBSCAN log-ennergy Pulmonary sound Rales Vesicular sounds Adventitious Sounds Wavelet Transform Wavelet decomposition |
title_short |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
title_full |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
title_fullStr |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
title_full_unstemmed |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
title_sort |
Aplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertores |
dc.creator.fl_str_mv |
Sosa, Germán D Velásquez Clavijo, Fabián |
dc.contributor.author.spa.fl_str_mv |
Sosa, Germán D Velásquez Clavijo, Fabián |
dc.subject.eng.fl_str_mv |
Sonido Pulmonar Estertores Sonidos Vesiculares Sonidos Adventicios Transformada Wavelet Descomposición Wavelet symlet Clustering k-means DBSCAN log-ennergy Pulmonary sound Rales Vesicular sounds Adventitious Sounds Wavelet Transform Wavelet decomposition |
topic |
Sonido Pulmonar Estertores Sonidos Vesiculares Sonidos Adventicios Transformada Wavelet Descomposición Wavelet symlet Clustering k-means DBSCAN log-ennergy Pulmonary sound Rales Vesicular sounds Adventitious Sounds Wavelet Transform Wavelet decomposition |
description |
Due to the subjectivity involved currently in pulmonary auscultation process and its diagnostic to evaluate the condition of respiratory airways, this work pretends to evaluate the performance of clustering algorithms such as k-means and DBSCAN to perform a computational analysis of lung sounds aiming to visualize a representation of such sounds that highlights the presence of crackles and the energy associated with them. In order to achieve that goal, Wavelet analysis techniques were used in contrast to traditional frequency analysis given the similarity between the typical waveform for a crackle and the wavelet sym4. Once the lung sound signal with isolated crackles is obtained, the clustering process groups crackles in regions of high density and provides visualization that might be useful for the diagnostic made by an expert. Evaluation suggests that k-means groups crackle more effective than DBSCAN in terms of generated clusters. |
publishDate |
2015 |
dc.date.issued.none.fl_str_mv |
2015-01-05 |
dc.date.accessioned.none.fl_str_mv |
2018-11-20T23:36:40Z |
dc.date.available.none.fl_str_mv |
2018-11-20T23:36:40Z |
dc.type.spa.fl_str_mv |
Artículo de revista |
dc.type.coar.fl_str_mv |
http://purl.org/coar/resource_type/c_2df8fbb1 |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_6501 |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/article |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/ART |
dc.type.version.spa.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
format |
http://purl.org/coar/resource_type/c_6501 |
status_str |
acceptedVersion |
dc.identifier.citation.spa.fl_str_mv |
Sosa Ramírez, G., & Velásquez Clavijo, F. (2015). Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores. INGE CUC, 11(1), 53-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/366 |
dc.identifier.issn.spa.fl_str_mv |
0122-6517, 2382-4700 electrónico |
dc.identifier.uri.spa.fl_str_mv |
https://hdl.handle.net/11323/1564 |
dc.identifier.url.spa.fl_str_mv |
https://doi.org/10.17981/ingecuc.11.1.2015.05 |
dc.identifier.doi.spa.fl_str_mv |
10.17981/ingecuc.11.1.2015.05 |
dc.identifier.eissn.spa.fl_str_mv |
2382-4700 |
dc.identifier.instname.spa.fl_str_mv |
Corporación Universidad de la Costa |
dc.identifier.pissn.spa.fl_str_mv |
0122-6517 |
dc.identifier.reponame.spa.fl_str_mv |
REDICUC - Repositorio CUC |
dc.identifier.repourl.spa.fl_str_mv |
https://repositorio.cuc.edu.co/ |
identifier_str_mv |
Sosa Ramírez, G., & Velásquez Clavijo, F. (2015). Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores. INGE CUC, 11(1), 53-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/366 0122-6517, 2382-4700 electrónico 10.17981/ingecuc.11.1.2015.05 2382-4700 Corporación Universidad de la Costa 0122-6517 REDICUC - Repositorio CUC |
url |
https://hdl.handle.net/11323/1564 https://doi.org/10.17981/ingecuc.11.1.2015.05 https://repositorio.cuc.edu.co/ |
dc.language.iso.none.fl_str_mv |
eng |
language |
eng |
dc.relation.ispartofseries.spa.fl_str_mv |
INGE CUC; Vol. 11, Núm. 1 (2015) |
dc.relation.ispartofjournal.spa.fl_str_mv |
INGE CUC INGE CUC |
dc.relation.references.spa.fl_str_mv |
[1] W. H. Organization et al., “The top 10 causes of death: The 10 leading causes of death in the world, 2000 and 2011,” 2013. [2] M. Munakata, H. Ukita, I. Doi, Y. Ohtsuka, Y. Masaki, Y. Homma, and Y. Kawakami, “Spectral and waveform characteristics of fine and coarse crackles.” Thorax, vol. 46, no. 9, pp. 651–657, 1991. DOI:10.1136/thx.46.9.651 [3] M. Yeginer and Y. P. Kahya, “Elimination of vesicular sounds from pulmonary crackle waveforms,” Computer methods and programs in biomedicine, vol. 89, no. 1, pp. 1–13, 2008. DOI:10.1016/j.cmpb.2007.10.002 [4] T. Kaisia, A. Sovijarvi, P. Piirila, H. Rajala, S. Haltsonen, and T. Rosqvist, “Validated method for automatic detection of lung sound crackles,” Medical and Biological Engineering and Computing, vol. 29, no. 5, pp. 517–521, 1991. DOI:10.1007/BF02442324 [5] M. Yeginer and Y. P. Kahya, “Probing the existence of medium pulmonary crackles via model-based clustering,” Computers in biology and medicine, vol. 40, no. 9, pp. 765–774, 2010. DOI:10.1016/j.compbiomed.2010.07.004 [6] M. Paoletti, G. Camiciottoli, E. Meoni, F. Bigazzi, L. Cestelli, M. Pistolesi, and C. Marchesi, “Explorative data analysis techniques and unsupervised clustering methods to support clinical assessment of chronic obstructive pulmonary disease (COPD) phenotypes,” Journal of biomedical informatics, vol. 42, no. 6, pp. 1013–1021, 2009. DOI:10.1016/j.jbi.2009.05.008 [7] X. Lu and M. Bahoura, “An automatic system for crackles detection and classification,” in Electrical and Computer Engineering, 2006. CCECE’06. Canadian Conference. IEEE, 2006, pp. 725–729. DOI:10.1109/CCECE.2006.277698 [8] M. Bahoura and X. Lu, “Separation of crackles from vesicular sounds using wavelet packet transform,” in Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference, vol. 2. IEEE, 2006, pp. II–II. DOI:10.1109/ICASSP.2006.1660533 [9] L. J. Hadjileontiadis and S. M. Panas, “Separation of discontinuous adventitious sounds from vesicular sounds using a wavelet-based filter,” Biomedical Engineering, IEEE Transactions on, vol. 44, no. 12, pp. 1269–1281, 1997. DOI:10.1109/10.649999 [10] S. Mallat, A wavelet tour of signal processing. Academic Press, 1999. [11] F. Pedregosa et al., “Scikit-learn: Machine learning in Python,” J Mach Learn Res, vol. 12, pp. 2825–2830, 2011. [12] E. Alpaydin, Introduction to machine learning. MIT press, 2004. [13] J. J. Ward, “Rale lung sounds 3.1 professional edition,” Respiratory Care, vol. 50, no. 10, pp. 1385–1388, 2005. [14] D. Mazzoni, M. Brubeck, and J. Haberman, “Audacity: Free audio editor and recorder”. [En línea] Disponible en: http://audacity.sourceforge.net, 2005. |
dc.relation.citationissue.spa.fl_str_mv |
1 |
dc.relation.citationvolume.spa.fl_str_mv |
11 |
dc.relation.ispartofjournalabbrev.spa.fl_str_mv |
INGE CUC |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.coar.spa.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.format.mimetype.spa.fl_str_mv |
application/pdf |
dc.publisher.spa.fl_str_mv |
Corporación Universidad de la Costa |
dc.source.spa.fl_str_mv |
INGE CUC |
institution |
Corporación Universidad de la Costa |
dc.source.url.spa.fl_str_mv |
https://revistascientificas.cuc.edu.co/ingecuc/article/view/366 |
bitstream.url.fl_str_mv |
https://repositorio.cuc.edu.co/bitstreams/6a9ee435-1e09-41a2-96d7-249752795249/download https://repositorio.cuc.edu.co/bitstreams/213ac4cd-1670-4afa-9f9e-f8f3d2be8cbd/download https://repositorio.cuc.edu.co/bitstreams/372cbdfd-83be-440a-bf7b-49aeb6fede58/download https://repositorio.cuc.edu.co/bitstreams/8e5bfd45-b98a-4349-97bb-a0990c74f57f/download |
bitstream.checksum.fl_str_mv |
62e66148cbacbfbd7f593752ddbbdbe2 8a4605be74aa9ea9d79846c1fba20a33 d3734efe2aa0057741a8d624cd183386 7ea04342be43cf4a5549bc61b4d8abc3 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio de la Universidad de la Costa CUC |
repository.mail.fl_str_mv |
repdigital@cuc.edu.co |
_version_ |
1811760816171515904 |
spelling |
Sosa, Germán DVelásquez Clavijo, Fabián2018-11-20T23:36:40Z2018-11-20T23:36:40Z2015-01-05Sosa Ramírez, G., & Velásquez Clavijo, F. (2015). Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores. INGE CUC, 11(1), 53-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/3660122-6517, 2382-4700 electrónicohttps://hdl.handle.net/11323/1564https://doi.org/10.17981/ingecuc.11.1.2015.0510.17981/ingecuc.11.1.2015.052382-4700Corporación Universidad de la Costa0122-6517REDICUC - Repositorio CUChttps://repositorio.cuc.edu.co/Due to the subjectivity involved currently in pulmonary auscultation process and its diagnostic to evaluate the condition of respiratory airways, this work pretends to evaluate the performance of clustering algorithms such as k-means and DBSCAN to perform a computational analysis of lung sounds aiming to visualize a representation of such sounds that highlights the presence of crackles and the energy associated with them. In order to achieve that goal, Wavelet analysis techniques were used in contrast to traditional frequency analysis given the similarity between the typical waveform for a crackle and the wavelet sym4. Once the lung sound signal with isolated crackles is obtained, the clustering process groups crackles in regions of high density and provides visualization that might be useful for the diagnostic made by an expert. Evaluation suggests that k-means groups crackle more effective than DBSCAN in terms of generated clusters.Debido a la subjetividad que involucra actualmente el proceso de auscultación pulmonar y su diagnóstico para evaluar la condición de las vías respiratorias de un paciente, este trabajo busca evaluar el desempeño de los algoritmos de clustering: k-means y DBSCAN para efectuar un análisis computacional de sonidos pulmonares con el objetivo de visualizar una representación de dichos sonidos que exalte la presencia de estertores y la energía contenida en ellos. Para este fin, se emplearon técnicas de descomposición y análisis Wavelet a diferencia del tradicional análisis en frecuencia dada la similitud entre la forma de onda de un estertor típico y la wavelet sym4. Obtenida la señal de sonido pulmonar con estertores aislados, el proceso de clustering agrupa estertores en regiones de alta presencia y ofrece una visualización que puede ser de utilidad para el diagnóstico hecho por un experto. La evaluación hecha sugiere que k-means agrupa conjuntos de estertores de forma más efectiva que DBSCAN en términos de clusters generados.Sosa, Germán DVelásquez Clavijo, Fabiánapplication/pdfengCorporación Universidad de la CostaINGE CUC; Vol. 11, Núm. 1 (2015)INGE CUCINGE CUC[1] W. H. Organization et al., “The top 10 causes of death: The 10 leading causes of death in the world, 2000 and 2011,” 2013.[2] M. Munakata, H. Ukita, I. Doi, Y. Ohtsuka, Y. Masaki, Y. Homma, and Y. Kawakami, “Spectral and waveform characteristics of fine and coarse crackles.” Thorax, vol. 46, no. 9, pp. 651–657, 1991. DOI:10.1136/thx.46.9.651[3] M. Yeginer and Y. P. Kahya, “Elimination of vesicular sounds from pulmonary crackle waveforms,” Computer methods and programs in biomedicine, vol. 89, no. 1, pp. 1–13, 2008. DOI:10.1016/j.cmpb.2007.10.002[4] T. Kaisia, A. Sovijarvi, P. Piirila, H. Rajala, S. Haltsonen, and T. Rosqvist, “Validated method for automatic detection of lung sound crackles,” Medical and Biological Engineering and Computing, vol. 29, no. 5, pp. 517–521, 1991. DOI:10.1007/BF02442324[5] M. Yeginer and Y. P. Kahya, “Probing the existence of medium pulmonary crackles via model-based clustering,” Computers in biology and medicine, vol. 40, no. 9, pp. 765–774, 2010. DOI:10.1016/j.compbiomed.2010.07.004[6] M. Paoletti, G. Camiciottoli, E. Meoni, F. Bigazzi, L. Cestelli, M. Pistolesi, and C. Marchesi, “Explorative data analysis techniques and unsupervised clustering methods to support clinical assessment of chronic obstructive pulmonary disease (COPD) phenotypes,” Journal of biomedical informatics, vol. 42, no. 6, pp. 1013–1021, 2009. DOI:10.1016/j.jbi.2009.05.008[7] X. Lu and M. Bahoura, “An automatic system for crackles detection and classification,” in Electrical and Computer Engineering, 2006. CCECE’06. Canadian Conference. IEEE, 2006, pp. 725–729. DOI:10.1109/CCECE.2006.277698[8] M. Bahoura and X. Lu, “Separation of crackles from vesicular sounds using wavelet packet transform,” in Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference, vol. 2. IEEE, 2006, pp. II–II. DOI:10.1109/ICASSP.2006.1660533[9] L. J. Hadjileontiadis and S. M. Panas, “Separation of discontinuous adventitious sounds from vesicular sounds using a wavelet-based filter,” Biomedical Engineering, IEEE Transactions on, vol. 44, no. 12, pp. 1269–1281, 1997. DOI:10.1109/10.649999[10] S. Mallat, A wavelet tour of signal processing. Academic Press, 1999.[11] F. Pedregosa et al., “Scikit-learn: Machine learning in Python,” J Mach Learn Res, vol. 12, pp. 2825–2830, 2011.[12] E. Alpaydin, Introduction to machine learning. MIT press, 2004.[13] J. J. Ward, “Rale lung sounds 3.1 professional edition,” Respiratory Care, vol. 50, no. 10, pp. 1385–1388, 2005.[14] D. Mazzoni, M. Brubeck, and J. Haberman, “Audacity: Free audio editor and recorder”. [En línea] Disponible en: http://audacity.sourceforge.net, 2005.111INGE CUCINGE CUChttps://revistascientificas.cuc.edu.co/ingecuc/article/view/366Sonido PulmonarEstertoresSonidos VesicularesSonidos AdventiciosTransformada WaveletDescomposición WaveletsymletClusteringk-meansDBSCANlog-ennergyPulmonary soundRalesVesicular soundsAdventitious Sounds Wavelet TransformWavelet decompositionAplicación de técnicas de clustering en sonidos adventicios para mejorar la interpretabilidad y detección de estertoresApplication of clustering techniques for lung sounds to improve interpretability and detection of cracklesArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/acceptedVersioninfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2PublicationORIGINAL5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdf5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdfapplication/pdf1697505https://repositorio.cuc.edu.co/bitstreams/6a9ee435-1e09-41a2-96d7-249752795249/download62e66148cbacbfbd7f593752ddbbdbe2MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.cuc.edu.co/bitstreams/213ac4cd-1670-4afa-9f9e-f8f3d2be8cbd/download8a4605be74aa9ea9d79846c1fba20a33MD52THUMBNAIL5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdf.jpg5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdf.jpgimage/jpeg55537https://repositorio.cuc.edu.co/bitstreams/372cbdfd-83be-440a-bf7b-49aeb6fede58/downloadd3734efe2aa0057741a8d624cd183386MD54TEXT5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdf.txt5. Aplicación de Técnicas de Clustering en Sonidos Adventicios para Mejorar la Interpretabilidad y Detección de Estertores.pdf.txttext/plain28307https://repositorio.cuc.edu.co/bitstreams/8e5bfd45-b98a-4349-97bb-a0990c74f57f/download7ea04342be43cf4a5549bc61b4d8abc3MD5511323/1564oai:repositorio.cuc.edu.co:11323/15642024-09-17 12:49:24.535open.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo= |