Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales

En este documento se presenta la propuesta de un algoritmo de razonamiento inductivo, el cual se incorpora en la simulación de un robot móvil, que realiza diferentes trayectorias por medio del método de campos potenciales artificiales, esto con el fin de poder minimizar el problema de mínimos locale...

Full description

Autores:
Espitia Cuervo, Juan Gabriel
Tipo de recurso:
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
OAI Identifier:
oai:repository.udistrital.edu.co:11349/40484
Acceso en línea:
http://hdl.handle.net/11349/40484
Palabra clave:
Arboles de decisión
Dataframe
Campo potencial artificial
Razonamiento
Razonamiento inductivo
Robótica móvil
Tecnología en Electrónica -- Tesis y disertaciones académicas
Inducción (Razonamiento)
Robótica móvil -- Investigaciones
Reasoning
Artificial potential
Dataframe
Decisión trees
Inductive reasoning
Mobile robotics
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_8a06d3beca0dcd4d45545ff98b5e2519
oai_identifier_str oai:repository.udistrital.edu.co:11349/40484
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
dc.title.titleenglish.spa.fl_str_mv Inductive reasoning the minimize the response to local minima in an artificial potential field algorithm
title Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
spellingShingle Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
Arboles de decisión
Dataframe
Campo potencial artificial
Razonamiento
Razonamiento inductivo
Robótica móvil
Tecnología en Electrónica -- Tesis y disertaciones académicas
Inducción (Razonamiento)
Robótica móvil -- Investigaciones
Reasoning
Artificial potential
Dataframe
Decisión trees
Inductive reasoning
Mobile robotics
title_short Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
title_full Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
title_fullStr Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
title_full_unstemmed Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
title_sort Razonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificiales
dc.creator.fl_str_mv Espitia Cuervo, Juan Gabriel
dc.contributor.advisor.none.fl_str_mv Infante Moreno, Willson
dc.contributor.author.none.fl_str_mv Espitia Cuervo, Juan Gabriel
dc.contributor.orcid.none.fl_str_mv https://orcid.org/0000-0003-2668-0086
dc.subject.spa.fl_str_mv Arboles de decisión
Dataframe
Campo potencial artificial
Razonamiento
Razonamiento inductivo
Robótica móvil
topic Arboles de decisión
Dataframe
Campo potencial artificial
Razonamiento
Razonamiento inductivo
Robótica móvil
Tecnología en Electrónica -- Tesis y disertaciones académicas
Inducción (Razonamiento)
Robótica móvil -- Investigaciones
Reasoning
Artificial potential
Dataframe
Decisión trees
Inductive reasoning
Mobile robotics
dc.subject.lemb.none.fl_str_mv Tecnología en Electrónica -- Tesis y disertaciones académicas
Inducción (Razonamiento)
Robótica móvil -- Investigaciones
dc.subject.keyword.spa.fl_str_mv Reasoning
Artificial potential
Dataframe
Decisión trees
Inductive reasoning
Mobile robotics
description En este documento se presenta la propuesta de un algoritmo de razonamiento inductivo, el cual se incorpora en la simulación de un robot móvil, que realiza diferentes trayectorias por medio del método de campos potenciales artificiales, esto con el fin de poder minimizar el problema de mínimos locales que presenta este método de planeación de trayectorias. El campo potencial artificial es simulado con modelos matemáticos que provee el área de vectores, y se desarrolla en el entorno de Python, el algoritmo de razonamiento se hace por medio de árboles de decisiones, ya que esta técnica funciona de forma parecida a como se genera el razonamiento inductivo. Se obtienen resultados que deja en evidencia que un algoritmo de razonamiento es un modelo que ofrece diferentes soluciones según la situación en la que se incorpore, en este caso en un campo potencial artificial, y que tomara las mejores decisiones sin importar el contexto en el que se encuentre.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-05-15
dc.date.accessioned.none.fl_str_mv 2024-09-06T21:05:34Z
dc.date.available.none.fl_str_mv 2024-09-06T21:05:34Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.spa.fl_str_mv Monografía
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/40484
url http://hdl.handle.net/11349/40484
dc.relation.references.none.fl_str_mv Nilsson, “SHAKEY THE ROBOT”, SRI internacional, abr 1984 https://red.uao.edu.co/bitstream/handle/10614/6373/T04375.pdf?sequence=1&isAllowed=y
Carlos, “TECNICAS DE NAVEGACION PARA UN ROBOT MOVIL UTILIZANDO SISTEMAS DE RAZONAMIENTO ESPACIAL”, U. Salamanca, sep 2012 https://www.academia.edu/16299640/T%C3%A9cnicas_de_navegaci%C3%B3n_para_un_robot_m% C3%B3vil_utilizando_sistemas_de_razonamiento_espacial
Alfredo, “El razonamiento deductivo e inductivo: diferencias e integración desde ejemplos empresariales”. PHAINOMENON. jul 2021 https://repositorio.ulima.edu.pe/bitstream/handle/20.500.12724/15290/Galdo_Razon%20amie nto-deductivo.pdf?sequence=1&isAllowed=y
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/d0f2f1b6-e9db-4301-b1fd-3c060e49753b/download
https://repository.udistrital.edu.co/bitstreams/a415b6f9-1147-4e2d-afae-f877eba45ae4/download
https://repository.udistrital.edu.co/bitstreams/af9fc139-df5f-4773-821f-2b1669a6edd1/download
https://repository.udistrital.edu.co/bitstreams/4afe94e0-7ff9-4bc2-9d3b-bc56f40627a5/download
https://repository.udistrital.edu.co/bitstreams/38584fe1-55c6-4bfe-9a57-c5198243bad8/download
https://repository.udistrital.edu.co/bitstreams/6815a5f2-2ace-4977-ac10-360d56de181d/download
bitstream.checksum.fl_str_mv 4460e5956bc1d1639be9ae6146a50347
997daf6c648c962d566d7b082dac908d
d1bd4fa2fa077991cd11dd4fd4339c88
8f57cf5fc59b4e075ef22dd553bc547b
7c63ea060b396a2732d014edf3df71a6
a2299e9223394881e3100010e7097bb4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165598175035392
spelling Infante Moreno, WillsonEspitia Cuervo, Juan Gabrielhttps://orcid.org/0000-0003-2668-00862024-09-06T21:05:34Z2024-09-06T21:05:34Z2023-05-15http://hdl.handle.net/11349/40484En este documento se presenta la propuesta de un algoritmo de razonamiento inductivo, el cual se incorpora en la simulación de un robot móvil, que realiza diferentes trayectorias por medio del método de campos potenciales artificiales, esto con el fin de poder minimizar el problema de mínimos locales que presenta este método de planeación de trayectorias. El campo potencial artificial es simulado con modelos matemáticos que provee el área de vectores, y se desarrolla en el entorno de Python, el algoritmo de razonamiento se hace por medio de árboles de decisiones, ya que esta técnica funciona de forma parecida a como se genera el razonamiento inductivo. Se obtienen resultados que deja en evidencia que un algoritmo de razonamiento es un modelo que ofrece diferentes soluciones según la situación en la que se incorpore, en este caso en un campo potencial artificial, y que tomara las mejores decisiones sin importar el contexto en el que se encuentre.This document presents the proposal of an inductive reasoning algorithm, which was incorporated into the simulation of a mobile robot, which performs different trajectories through the method of artificial potential fields, this in order to minimize the problem of minimums locations presented by this trajectory planning method. The artificial potential field was simulated with mathematical models provided by the vector area, and it was developed in the Python environment, the reasoning algorithm was made through decision trees, since this technique works in a similar way to how it is generated inductive reasoning. Results were obtained that show that a reasoning algorithm is a model that offers different solutions depending on the situation in which it is incorporated, in this case in an artificial potential field, and that it will make the best decisions regardless of the context in which it is applied.pdfUniversidad Distrital Francisco José de CaldasAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Arboles de decisiónDataframeCampo potencial artificialRazonamientoRazonamiento inductivoRobótica móvilTecnología en Electrónica -- Tesis y disertaciones académicasInducción (Razonamiento)Robótica móvil -- InvestigacionesReasoningArtificial potentialDataframeDecisión treesInductive reasoningMobile roboticsRazonamiento inductivo para minimizar respuesta a mínimos locales en algoritmo de campos potenciales artificialesInductive reasoning the minimize the response to local minima in an artificial potential field algorithmbachelorThesisMonografíahttp://purl.org/coar/resource_type/c_7a1fNilsson, “SHAKEY THE ROBOT”, SRI internacional, abr 1984 https://red.uao.edu.co/bitstream/handle/10614/6373/T04375.pdf?sequence=1&isAllowed=yCarlos, “TECNICAS DE NAVEGACION PARA UN ROBOT MOVIL UTILIZANDO SISTEMAS DE RAZONAMIENTO ESPACIAL”, U. Salamanca, sep 2012 https://www.academia.edu/16299640/T%C3%A9cnicas_de_navegaci%C3%B3n_para_un_robot_m% C3%B3vil_utilizando_sistemas_de_razonamiento_espacialAlfredo, “El razonamiento deductivo e inductivo: diferencias e integración desde ejemplos empresariales”. PHAINOMENON. jul 2021 https://repositorio.ulima.edu.pe/bitstream/handle/20.500.12724/15290/Galdo_Razon%20amie nto-deductivo.pdf?sequence=1&isAllowed=yCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/d0f2f1b6-e9db-4301-b1fd-3c060e49753b/download4460e5956bc1d1639be9ae6146a50347MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/a415b6f9-1147-4e2d-afae-f877eba45ae4/download997daf6c648c962d566d7b082dac908dMD54ORIGINALEspitiaCuervoJuanGabriel2023.pdfEspitiaCuervoJuanGabriel2023.pdfTrabajo de gradoapplication/pdf7585953https://repository.udistrital.edu.co/bitstreams/af9fc139-df5f-4773-821f-2b1669a6edd1/downloadd1bd4fa2fa077991cd11dd4fd4339c88MD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de usoapplication/pdf227525https://repository.udistrital.edu.co/bitstreams/4afe94e0-7ff9-4bc2-9d3b-bc56f40627a5/download8f57cf5fc59b4e075ef22dd553bc547bMD52THUMBNAILEspitiaCuervoJuanGabriel2023.pdf.jpgEspitiaCuervoJuanGabriel2023.pdf.jpgIM Thumbnailimage/jpeg9690https://repository.udistrital.edu.co/bitstreams/38584fe1-55c6-4bfe-9a57-c5198243bad8/download7c63ea060b396a2732d014edf3df71a6MD55Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg9499https://repository.udistrital.edu.co/bitstreams/6815a5f2-2ace-4977-ac10-360d56de181d/downloada2299e9223394881e3100010e7097bb4MD5611349/40484oai:repository.udistrital.edu.co:11349/404842024-12-10 01:06:27.726http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK