Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua

This work presents a GPU algorithm to calculate the acoustic field generated by a circular ultrasonic transducer radiating in water a continuous wave. The acoustic pressure in a space point in front of the transducer is calculated by Rayleigh integral, which uses the Huygens principle to compose the...

Full description

Autores:
Lemos Durán, Alberto
Sato, André K.
Silva Jr, Agesinaldo M.
Franco Guzmán, Ediguer Enrique
Buiochi, Flávio
Martins, Thiago C.
Adamowski, Julio C.
Marcos S. G., Tsuzuki
Tipo de recurso:
Documento de conferencia en no proceso
Fecha de publicación:
2020
Institución:
Universidad Autónoma de Occidente
Repositorio:
RED: Repositorio Educativo Digital UAO
Idioma:
por
OAI Identifier:
oai:red.uao.edu.co:10614/13756
Acceso en línea:
https://hdl.handle.net/10614/13756
Palabra clave:
Transductores ultrasónicos
Ultrasonic transducers
Ultrasound
Acoustic field
GPU
Rayleigh integral
GFLOPS
Rights
openAccess
License
Derechos reservados - Universidad Autónoma de Occidente
id REPOUAO2_4a8c618ed16ee0b790515971374a88b7
oai_identifier_str oai:red.uao.edu.co:10614/13756
network_acronym_str REPOUAO2
network_name_str RED: Repositorio Educativo Digital UAO
repository_id_str
dc.title.por.fl_str_mv Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
title Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
spellingShingle Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
Transductores ultrasónicos
Ultrasonic transducers
Ultrasound
Acoustic field
GPU
Rayleigh integral
GFLOPS
title_short Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
title_full Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
title_fullStr Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
title_full_unstemmed Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
title_sort Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua
dc.creator.fl_str_mv Lemos Durán, Alberto
Sato, André K.
Silva Jr, Agesinaldo M.
Franco Guzmán, Ediguer Enrique
Buiochi, Flávio
Martins, Thiago C.
Adamowski, Julio C.
Marcos S. G., Tsuzuki
dc.contributor.author.none.fl_str_mv Lemos Durán, Alberto
Sato, André K.
Silva Jr, Agesinaldo M.
Franco Guzmán, Ediguer Enrique
Buiochi, Flávio
Martins, Thiago C.
Adamowski, Julio C.
Marcos S. G., Tsuzuki
dc.subject.armarc.spa.fl_str_mv Transductores ultrasónicos
topic Transductores ultrasónicos
Ultrasonic transducers
Ultrasound
Acoustic field
GPU
Rayleigh integral
GFLOPS
dc.subject.armarc.eng.fl_str_mv Ultrasonic transducers
dc.subject.proposal.eng.fl_str_mv Ultrasound
Acoustic field
GPU
Rayleigh integral
GFLOPS
description This work presents a GPU algorithm to calculate the acoustic field generated by a circular ultrasonic transducer radiating in water a continuous wave. The acoustic pressure in a space point in front of the transducer is calculated by Rayleigh integral, which uses the Huygens principle to compose the field as the sum of contributions from an infinite number of point sources. Because the pressure at each spatial point can be calculated independently, the solution algorithm can run in parallel, taking advantage of the GPU cores. Some experiments were performed in a frequency range from 0.25 to 5.0 MHz. The radiating surface was discretized in order to have a fixed number of elemental areas per wavelength. Results showed the validity of the acoustic fields simulated. In addition, a performance analysis showed that the GPU was 50 times faster than CPU for the most demanding problems.
publishDate 2020
dc.date.issued.none.fl_str_mv 2020-12-17
dc.date.accessioned.none.fl_str_mv 2022-04-08T19:04:55Z
dc.date.available.none.fl_str_mv 2022-04-08T19:04:55Z
dc.type.spa.fl_str_mv Documento de Conferencia
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_c94f
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_b1a7d7d4d402bcce
http://purl.org/coar/version/c_dc82b40f9837b551
dc.type.coar.eng.fl_str_mv http://purl.org/coar/resource_type/c_18cp
dc.type.content.eng.fl_str_mv Text
dc.type.driver.eng.fl_str_mv info:eu-repo/semantics/conferenceObject
format http://purl.org/coar/resource_type/c_18cp
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10614/13756
url https://hdl.handle.net/10614/13756
dc.language.iso.spa.fl_str_mv por
language por
dc.relation.conferencedate.spa.fl_str_mv 23 - 26 de noviembre de 2020
dc.relation.conferenceplace.spa.fl_str_mv Evento virtual
dc.relation.ispartofconference.spa.fl_str_mv Congresso Brasileiro de Automática - CBA
dc.relation.references.none.fl_str_mv Adamowski, J.C., Buiochi, F., Tsuzuki, M.S.G., P erez, N., Camerini, C.S., and Patusco, C. (2013). Ultrasonic measurement of micrometric wall-thickness loss due to corrosion inside pipes. In IEEE Int Ultrasonics Symp (IUS), 1881-1884.
Diaz, M.A., Solovchuk, M.A., and Sheu, T.W.H. (2018). High-performance multi-GPU solver for describing nonlinear acoustic waves in homogeneous thermoviscous media. Comput Fluids, 173, 195-205.
Franco, E.E., Andrade, M.A.B., Adamowski, J.C., and Buiochi, F. (2011). Acoustic Beam Modeling of Ultrasonic Transducers and Arrays Using the Impulse Response and the Discrete Representation Methods. J Braz Soc Mech Sci, XXXIII(4), 408-416.
Franco, E.E., Barrera, H.M., and La n, S. (2015). 2d liddriven cavity ow simulation using GPU-CUDA with a high-order nite di erence scheme. J Braz Soc Mech Sci, 37(4), 1329-1338.
Greenspan, M. (1979). Piston radiator: Some extensions of the theory. J Acoust Soc Am, 65(3), 608-621.
He, C. and Hay, A.E. (1993). Near- eld characteristics of circular piston radiators with simple support. J Acoust Soc Am, 94(1), 554-561.
Johnson, J., Douze, M., and J egou, H. (2019). Billion-scale similarity search with GPUs. IEEE T Big Data, 1-1.
Kinsler, L.E., Frey, A.R., Coppens, A.B., and Sanders, J.V. (1999). Fundamentals of Acoustics, 4th Edition.
John Wiley & Sons. Kirkup, S.M. (1994). Computational solution of the acoustic eld surrounding a ba ed panel by the Rayleigh integral method. Appl Math Model, 18(7), 403-407.
Lebedev, G., Klimenko, H., Kachkovskiy, S., Konushin, V., Ryabkov, I., and Gromov, A. (2018). Application of arti cial intelligence methods to recognize pathologies on medical images. Procedia Comput Sci, 126, 1171- 1177.
Mehra, R., Raghuvanshi, N., Savioja, L., Lin, M.C., and Manocha, D. (2012). An e cient GPU-based time domain solver for the acoustic wave equation. Appl Acoust, 73(2), 83-94.
Nvidia (2018). CUDA C programming guide. Technical Report PG-02829-001 v9.1, Nvidia.
Patr cio, D.I. and Rieder, R. (2018). Computer vision and arti cial intelligence in precision agriculture for grain crops: A systematic review. Comput Electron Agr, 153, 69-81.
Piwakowski, B. and Delannoy, B. (1989). Method for computing spatial pulse response: Time-domain approach. J Acoust Soc Am, 86(6), 2422-2432.
San, J.E., Medina, M., Buiochi, F., and Adamowski, J.C. (2006). Numerical modeling of a circular piezoelectric ultrasonic transducer radiating in water. In ABCM Symposium Serie in Mechatronics, volume 2, 458-464.
Treeby, B.E. and Cox, B.T. (2010). k-Wave: MATLAB toolbox for the simulation and reconstruction of photoacoustic wave elds. J Biomed Opt, 15(2), 021314.
Tsiakas, K.T., Trompoukis, X.S., Asouti, V.G., and Giannakoglou, K.C. (2019). Shape optimization of wind turbine blades using the continuous adjoint method and volumetric NURBS on a GPU cluster. In E. Minisci, M. Vasile, J. Periaux, N.R. Gauger, K.C. Giannakoglou, and D. Quagliarella (eds.), Advances in Evolutionary and Deterministic Methods for Design, Optimization and Control in Engineering and Sciences, 131-144. Springer International Publishing, Cham.
Wang, L., Spurzem, R., Aarseth, S., Nitadori, K., Berczik, P., Kouwenhoven, M.B.N., and Naab, T. (2015). nbody6++gpu: ready for the gravitational million-body problem. Monthly Notices of the Royal Astronomical Society, 450(4), 4070-4080.
Wang, X., Yin, H., Li, K., and Zhang, C.H. (2018). Implementing acoustic radiation force imaging on GPU using OpenCL. In ICNC-FSKD 2017 - 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery, 832-836.
Weight, J.P. (1984). Ultrasonic beam structures in uid media. J Acoust Soc Am, 76(4), 1184-1191
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Autónoma de Occidente
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.eng.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.eng.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
rights_invalid_str_mv Derechos reservados - Universidad Autónoma de Occidente
https://creativecommons.org/licenses/by-nc-nd/4.0/
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.eng.fl_str_mv .pdf
dc.format.mimetype.eng.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Sociedade Brasileira de Automática (SBA)
dc.publisher.place.spa.fl_str_mv Campinas/SP Brasil
dc.source.spa.fl_str_mv https://doi.org/10.48011/asba.v2i1.1633
institution Universidad Autónoma de Occidente
bitstream.url.fl_str_mv https://red.uao.edu.co/bitstreams/4d2dcf0e-a49a-4020-a634-d23de4bad006/download
https://red.uao.edu.co/bitstreams/c7ae17f4-1643-4d10-82d4-d0acab5b6f43/download
https://red.uao.edu.co/bitstreams/78e0e295-98de-47cc-a79c-671fcf96c5e1/download
https://red.uao.edu.co/bitstreams/396e1f93-bed1-4315-b158-3c4a63b362aa/download
bitstream.checksum.fl_str_mv 20b5ba22b1117f71589c7318baa2c560
74eeca915fc4668b436521547efe26d5
203527f496b1d2e34a9aa6e6e6620e7d
18d4f409b6deeb2d17df33da4b543043
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital Universidad Autonoma de Occidente
repository.mail.fl_str_mv repositorio@uao.edu.co
_version_ 1828230174338973696
spelling Lemos Durán, Albertofbf4ad7894fb45118f72b654eba42e17Sato, André K.4fa1bd111e90a8939cbffd75a8ca7b9dSilva Jr, Agesinaldo M.f4129f0d7f7959249291979d2bb95cd6Franco Guzmán, Ediguer Enriquevirtual::1803-1Buiochi, Fláviob1bdb982d63e34285277106ac50141c5Martins, Thiago C.c8d11993f3b50dc7db5ef5913cbf03eeAdamowski, Julio C.8f3bf0b79b65be0c6fc79021c90651f4Marcos S. G., Tsuzuki0f01fa15b3ca4d6a8b0a942171bef27c2022-04-08T19:04:55Z2022-04-08T19:04:55Z2020-12-17https://hdl.handle.net/10614/13756This work presents a GPU algorithm to calculate the acoustic field generated by a circular ultrasonic transducer radiating in water a continuous wave. The acoustic pressure in a space point in front of the transducer is calculated by Rayleigh integral, which uses the Huygens principle to compose the field as the sum of contributions from an infinite number of point sources. Because the pressure at each spatial point can be calculated independently, the solution algorithm can run in parallel, taking advantage of the GPU cores. Some experiments were performed in a frequency range from 0.25 to 5.0 MHz. The radiating surface was discretized in order to have a fixed number of elemental areas per wavelength. Results showed the validity of the acoustic fields simulated. In addition, a performance analysis showed that the GPU was 50 times faster than CPU for the most demanding problems.Este trabalho apresenta um algoritmo implementado em GPU, para calcular o campo acústico produzido por um transdutor ultrassônico com excitação contı́nua, emitindo em água. A pressão acústica em um ponto do espaço, na frente do transdutor, é calculada mediante a integral de Rayleigh, a qual utiliza o princı́pio de Huygens para considerar o campo de pressão como a soma da contribuição de um número infinito de fontes pontuais. Dado que a pressão em cada ponto do espaço pode ser calculada de forma independente, o algoritmo pode ser executado em paralelo, aproveitando a vantagem dos núcleos da GPU. Foi analisado o desempenho do algoritmo proposto realizando alguns testes na faixa de frequência de 0,25 a 5,0 MHz. A superfı́cie de emissão foi discretizada com a finalidade de obter um determinado número de elementos finitos de área. Foi possı́vel validar os campos acústicos simulados usando o valor teórico da pressão ao longo do eixo de simetria do transdutor. Adicionalmente, a análise de desempenho mostrou que a GPU foi 50 vezes mais rápida que a CPU, para os problemas mais demandantes..pdfapplication/pdfporSociedade Brasileira de Automática (SBA)Campinas/SP BrasilDerechos reservados - Universidad Autónoma de Occidentehttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2https://doi.org/10.48011/asba.v2i1.1633Algoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação ContínuaDocumento de Conferenciahttp://purl.org/coar/resource_type/c_18cphttp://purl.org/coar/resource_type/c_c94fTextinfo:eu-repo/semantics/conferenceObjecthttp://purl.org/coar/version/c_b1a7d7d4d402bccehttp://purl.org/coar/version/c_dc82b40f9837b551Transductores ultrasónicosUltrasonic transducersUltrasoundAcoustic fieldGPURayleigh integralGFLOPS23 - 26 de noviembre de 2020Evento virtualCongresso Brasileiro de Automática - CBAAdamowski, J.C., Buiochi, F., Tsuzuki, M.S.G., P erez, N., Camerini, C.S., and Patusco, C. (2013). Ultrasonic measurement of micrometric wall-thickness loss due to corrosion inside pipes. In IEEE Int Ultrasonics Symp (IUS), 1881-1884.Diaz, M.A., Solovchuk, M.A., and Sheu, T.W.H. (2018). High-performance multi-GPU solver for describing nonlinear acoustic waves in homogeneous thermoviscous media. Comput Fluids, 173, 195-205.Franco, E.E., Andrade, M.A.B., Adamowski, J.C., and Buiochi, F. (2011). Acoustic Beam Modeling of Ultrasonic Transducers and Arrays Using the Impulse Response and the Discrete Representation Methods. J Braz Soc Mech Sci, XXXIII(4), 408-416.Franco, E.E., Barrera, H.M., and La n, S. (2015). 2d liddriven cavity ow simulation using GPU-CUDA with a high-order nite di erence scheme. J Braz Soc Mech Sci, 37(4), 1329-1338.Greenspan, M. (1979). Piston radiator: Some extensions of the theory. J Acoust Soc Am, 65(3), 608-621.He, C. and Hay, A.E. (1993). Near- eld characteristics of circular piston radiators with simple support. J Acoust Soc Am, 94(1), 554-561.Johnson, J., Douze, M., and J egou, H. (2019). Billion-scale similarity search with GPUs. IEEE T Big Data, 1-1.Kinsler, L.E., Frey, A.R., Coppens, A.B., and Sanders, J.V. (1999). Fundamentals of Acoustics, 4th Edition.John Wiley & Sons. Kirkup, S.M. (1994). Computational solution of the acoustic eld surrounding a ba ed panel by the Rayleigh integral method. Appl Math Model, 18(7), 403-407.Lebedev, G., Klimenko, H., Kachkovskiy, S., Konushin, V., Ryabkov, I., and Gromov, A. (2018). Application of arti cial intelligence methods to recognize pathologies on medical images. Procedia Comput Sci, 126, 1171- 1177.Mehra, R., Raghuvanshi, N., Savioja, L., Lin, M.C., and Manocha, D. (2012). An e cient GPU-based time domain solver for the acoustic wave equation. Appl Acoust, 73(2), 83-94.Nvidia (2018). CUDA C programming guide. Technical Report PG-02829-001 v9.1, Nvidia.Patr cio, D.I. and Rieder, R. (2018). Computer vision and arti cial intelligence in precision agriculture for grain crops: A systematic review. Comput Electron Agr, 153, 69-81.Piwakowski, B. and Delannoy, B. (1989). Method for computing spatial pulse response: Time-domain approach. J Acoust Soc Am, 86(6), 2422-2432.San, J.E., Medina, M., Buiochi, F., and Adamowski, J.C. (2006). Numerical modeling of a circular piezoelectric ultrasonic transducer radiating in water. In ABCM Symposium Serie in Mechatronics, volume 2, 458-464.Treeby, B.E. and Cox, B.T. (2010). k-Wave: MATLAB toolbox for the simulation and reconstruction of photoacoustic wave elds. J Biomed Opt, 15(2), 021314.Tsiakas, K.T., Trompoukis, X.S., Asouti, V.G., and Giannakoglou, K.C. (2019). Shape optimization of wind turbine blades using the continuous adjoint method and volumetric NURBS on a GPU cluster. In E. Minisci, M. Vasile, J. Periaux, N.R. Gauger, K.C. Giannakoglou, and D. Quagliarella (eds.), Advances in Evolutionary and Deterministic Methods for Design, Optimization and Control in Engineering and Sciences, 131-144. Springer International Publishing, Cham.Wang, L., Spurzem, R., Aarseth, S., Nitadori, K., Berczik, P., Kouwenhoven, M.B.N., and Naab, T. (2015). nbody6++gpu: ready for the gravitational million-body problem. Monthly Notices of the Royal Astronomical Society, 450(4), 4070-4080.Wang, X., Yin, H., Li, K., and Zhang, C.H. (2018). Implementing acoustic radiation force imaging on GPU using OpenCL. In ICNC-FSKD 2017 - 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery, 832-836.Weight, J.P. (1984). Ultrasonic beam structures in uid media. J Acoust Soc Am, 76(4), 1184-1191Comunidad generalPublicationff78380a-274b-4973-8760-dee857b38a0dvirtual::1803-1ff78380a-274b-4973-8760-dee857b38a0dvirtual::1803-1https://scholar.google.com/citations?user=4paPIoAAAAAJ&hl=esvirtual::1803-10000-0001-7518-704Xvirtual::1803-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0001243730virtual::1803-1LICENSElicense.txtlicense.txttext/plain; charset=utf-81665https://red.uao.edu.co/bitstreams/4d2dcf0e-a49a-4020-a634-d23de4bad006/download20b5ba22b1117f71589c7318baa2c560MD52ORIGINALAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdfAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdfTexto archivo completo del documento de conferencia, PDFapplication/pdf573026https://red.uao.edu.co/bitstreams/c7ae17f4-1643-4d10-82d4-d0acab5b6f43/download74eeca915fc4668b436521547efe26d5MD53TEXTAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdf.txtAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdf.txtExtracted texttext/plain22943https://red.uao.edu.co/bitstreams/78e0e295-98de-47cc-a79c-671fcf96c5e1/download203527f496b1d2e34a9aa6e6e6620e7dMD54THUMBNAILAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdf.jpgAlgoritmo em GPGPU para Acelerar a Determinação do Campo Acústico Produzido por Transdutor Ultrassônico Circular com Excitação Contínua.pdf.jpgGenerated Thumbnailimage/jpeg12493https://red.uao.edu.co/bitstreams/396e1f93-bed1-4315-b158-3c4a63b362aa/download18d4f409b6deeb2d17df33da4b543043MD5510614/13756oai:red.uao.edu.co:10614/137562024-03-05 10:50:46.995https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos reservados - Universidad Autónoma de Occidenteopen.accesshttps://red.uao.edu.coRepositorio Digital Universidad Autonoma de Occidenterepositorio@uao.edu.coRUwgQVVUT1IgYXV0b3JpemEgYSBsYSBVbml2ZXJzaWRhZCBBdXTDs25vbWEgZGUgT2NjaWRlbnRlLCBkZSBmb3JtYSBpbmRlZmluaWRhLCBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIGxhIERlY2lzacOzbiBhbmRpbmEgMzUxIGRlIDE5OTMsIGVsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbGV5ZXMgeSBqdXJpc3BydWRlbmNpYSB2aWdlbnRlIGFsIHJlc3BlY3RvLCBoYWdhIHB1YmxpY2FjacOzbiBkZSBlc3RlIGNvbiBmaW5lcyBlZHVjYXRpdm9zLiBQQVJBR1JBRk86IEVzdGEgYXV0b3JpemFjacOzbiBhZGVtw6FzIGRlIHNlciB2w6FsaWRhIHBhcmEgbGFzIGZhY3VsdGFkZXMgeSBkZXJlY2hvcyBkZSB1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIG8gc29wb3J0ZSBtYXRlcmlhbCwgdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbCwgcGFyYSB1c29zIGVuIHJlZCwgSW50ZXJuZXQsIGV4dHJhbmV0LCBpbnRyYW5ldCwgYmlibGlvdGVjYSBkaWdpdGFsIHkgZGVtw6FzIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gRUwgQVVUT1IsIGV4cHJlc2EgcXVlIGVsIGRvY3VtZW50byAodHJhYmFqbyBkZSBncmFkbywgcGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIGVsYWJvcsOzIHNpbiBxdWVicmFudGFyIG5pIHN1cGxhbnRhciBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHkgZGUgdGFsIGZvcm1hLCBlbCBkb2N1bWVudG8gKHRyYWJham8gZGUgZ3JhZG8sIHBhc2FudMOtYSwgY2Fzb3MgbyB0ZXNpcykgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgw6lzdGUuIFBBUkFHUkFGTzogZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBhbGd1bmEgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybywgcmVmZXJlbnRlIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGVsIGRvY3VtZW50byAoVHJhYmFqbyBkZSBncmFkbywgUGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBlbiBjdWVzdGnDs24sIEVMIEFVVE9SLCBhc3VtaXLDoSBsYSByZXNwb25zYWJpbGlkYWQgdG90YWwsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvczsgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgbGEgVW5pdmVyc2lkYWQgIEF1dMOzbm9tYSBkZSBPY2NpZGVudGUgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4gVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSB5YSBzZWEgZW4gbGEgYmlibGlvdGVjYSBvIGVuIG1lZGlvIGVsZWN0csOzbmljbyBwb2Ryw6EgY29waWFyIGFwYXJ0ZXMgZGVsIHRleHRvIGNpdGFuZG8gc2llbXByZSBsYSBmdWVudGUsIGVzIGRlY2lyIGVsIHTDrXR1bG8gZGVsIHRyYWJham8geSBlbCBhdXRvci4gRXN0YSBhdXRvcml6YWNpw7NuIG5vIGltcGxpY2EgcmVudW5jaWEgYSBsYSBmYWN1bHRhZCBxdWUgdGllbmUgRUwgQVVUT1IgZGUgcHVibGljYXIgdG90YWwgbyBwYXJjaWFsbWVudGUgbGEgb2JyYS4K