Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral

Este artículo aborda el problema de regulación de tensión para convertidores DC-DC clásicos de segundo orden mediante una técnica de control no lineal basada en la teoría de control óptimo inverso. En la literatura hay pocos artículos que describen el control optimo inverso para convertidores DC-DC,...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/31582
Acceso en línea:
http://hdl.handle.net/11349/31582
Palabra clave:
Función de Lyapunov
Convertidores DC-DC
Sistemas de control no lineal
Sistema dinámico
Control óptimo inverso
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Convertidores de energía
Función de Lyapunov
Sistemas de control no lineal
Lyapunov Function
DC-DC Converter
Nonlinear control systems
Dynamical system approach
Reverse optimum control
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_27964f05dab6d1a64889218fd87398f3
oai_identifier_str oai:repository.udistrital.edu.co:11349/31582
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
dc.title.titleenglish.spa.fl_str_mv Voltage regulation in classic second-order DC-DC converters by applying inverse optimum control with proportional-integral action
title Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
spellingShingle Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
Función de Lyapunov
Convertidores DC-DC
Sistemas de control no lineal
Sistema dinámico
Control óptimo inverso
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Convertidores de energía
Función de Lyapunov
Sistemas de control no lineal
Lyapunov Function
DC-DC Converter
Nonlinear control systems
Dynamical system approach
Reverse optimum control
title_short Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
title_full Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
title_fullStr Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
title_full_unstemmed Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
title_sort Regulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integral
dc.contributor.advisor.none.fl_str_mv Montoya Giraldo, Oscar Danilo
dc.subject.spa.fl_str_mv Función de Lyapunov
Convertidores DC-DC
Sistemas de control no lineal
Sistema dinámico
Control óptimo inverso
topic Función de Lyapunov
Convertidores DC-DC
Sistemas de control no lineal
Sistema dinámico
Control óptimo inverso
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Convertidores de energía
Función de Lyapunov
Sistemas de control no lineal
Lyapunov Function
DC-DC Converter
Nonlinear control systems
Dynamical system approach
Reverse optimum control
dc.subject.lemb.none.fl_str_mv Ingeniería Eléctrica -- Tesis y disertaciones académicas
Convertidores de energía
Función de Lyapunov
Sistemas de control no lineal
dc.subject.keyword.spa.fl_str_mv Lyapunov Function
DC-DC Converter
Nonlinear control systems
Dynamical system approach
Reverse optimum control
description Este artículo aborda el problema de regulación de tensión para convertidores DC-DC clásicos de segundo orden mediante una técnica de control no lineal basada en la teoría de control óptimo inverso. En la literatura hay pocos artículos que describen el control optimo inverso para convertidores DC-DC, por tanto, este estudio es una contribución al estado del arte en técnica de control no lineal para convertidores DC-DC. En este orden de ideas, el objetivo principal de esta investigación fue implementar la teoría de control óptimo inverso con acción integral a las topologías típicas de conversión DC-DC para regular tensión, independientemente de las variaciones de la carga y de la aplicación. Las topologías de los convertidores analizados fueron: (i) Buck; (ii) Boost; (iii) Buck-Boost; y (iv) Buck-Boost No Inversor. Se planteó un modelo dinámico en función del error de las variables de estado, el cual ayudó a demostrar que la ley de control óptimo inverso con acción proporcional-integral implementada para los diferentes convertidores garantiza la estabilidad para operación en lazo cerrado mediante el teorema de Lyapunov. Se realizó la validación numérica mediante simulaciones en el software PSIM, comparando la ley de control establecida, la ley de control PI basada en pasividad y un control en lazo abierto. Como conclusión, se pudo determinar que el método propuesto es más sencillo de implementar y con mejor comportamiento dinámico que el PI-PBC, garantizando la estabilidad asintótica desde el diseño de control en lazo cerrado.
publishDate 2022
dc.date.created.none.fl_str_mv 2022-10
dc.date.accessioned.none.fl_str_mv 2023-06-16T21:47:02Z
dc.date.available.none.fl_str_mv 2023-06-16T21:47:02Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.fl_str_mv Producción Académica
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/31582
url http://hdl.handle.net/11349/31582
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Atribución 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/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Atribución 4.0 Internacional
http://creativecommons.org/licenses/by/4.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv http://repository.udistrital.edu.co/bitstream/11349/31582/2/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/31582/6/GomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf
http://repository.udistrital.edu.co/bitstream/11349/31582/5/8_Licencia_Uso_Publicacion_RIUD.pdf
http://repository.udistrital.edu.co/bitstream/11349/31582/7/license.txt
http://repository.udistrital.edu.co/bitstream/11349/31582/8/GomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/31582/9/8_Licencia_Uso_Publicacion_RIUD.pdf.jpg
bitstream.checksum.fl_str_mv 0175ea4a2d4caec4bbcc37e300941108
8add632561b0282a68792fcc73765ffa
5a130e2bac7a8e4ff67c9eac9a75e3ef
997daf6c648c962d566d7b082dac908d
f660cf16d5bd36835e15061b55a56ccd
df24e5e7352a04a8be84c7ba62256b9e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1814110996554317824
spelling Montoya Giraldo, Oscar Danilowill be generated::orcid::0000-0001-6051-4925600Gómez Chitiva, Juan SebastiánEscalante Sarrias, Andrés Felipe2023-06-16T21:47:02Z2023-06-16T21:47:02Z2022-10http://hdl.handle.net/11349/31582Este artículo aborda el problema de regulación de tensión para convertidores DC-DC clásicos de segundo orden mediante una técnica de control no lineal basada en la teoría de control óptimo inverso. En la literatura hay pocos artículos que describen el control optimo inverso para convertidores DC-DC, por tanto, este estudio es una contribución al estado del arte en técnica de control no lineal para convertidores DC-DC. En este orden de ideas, el objetivo principal de esta investigación fue implementar la teoría de control óptimo inverso con acción integral a las topologías típicas de conversión DC-DC para regular tensión, independientemente de las variaciones de la carga y de la aplicación. Las topologías de los convertidores analizados fueron: (i) Buck; (ii) Boost; (iii) Buck-Boost; y (iv) Buck-Boost No Inversor. Se planteó un modelo dinámico en función del error de las variables de estado, el cual ayudó a demostrar que la ley de control óptimo inverso con acción proporcional-integral implementada para los diferentes convertidores garantiza la estabilidad para operación en lazo cerrado mediante el teorema de Lyapunov. Se realizó la validación numérica mediante simulaciones en el software PSIM, comparando la ley de control establecida, la ley de control PI basada en pasividad y un control en lazo abierto. Como conclusión, se pudo determinar que el método propuesto es más sencillo de implementar y con mejor comportamiento dinámico que el PI-PBC, garantizando la estabilidad asintótica desde el diseño de control en lazo cerrado.This article addresses the problem regarding power regulation in classical DC-DC second-order converters by means of a nonlinear control technique based on inverse optimal control theory. There are few papers that describe inverse optimal control for DC-DC converters in the literature. Therefore, this study constitutes a contribution to the state of the art on nonlinear control techniques for DC-DC converters. In this vein, the main objective of this research was to implement inverse optimal control theory with integral action to the typical DC-DC conversion topologies for power regulation, regardless of the load variations and the application. The converter topologies analyzed were: (i) Buck; (ii) Boost; (iii) Buck-Boost; and (iv) Non-Inverting Buck-Boost. A dynamical model was proposed as a function of the state variable error, which helped to demonstrate that the inverse optimal control law with proportional-integral action implemented in the different converters ensures stability in each closed-loop operation via Lyapunov’s theorem. Numerical validations were carried out by means of simulations in the PSIM software, comparing the established control law, the passivity-based PI control law, and an open-loop control. As a conclusion, it was possible to determine that the proposed model is easier to implement and has a better dynamical behavior than the PI-PBC, ensuring asymptotic stability from the closed-loop control design.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAtribución 4.0 Internacionalhttp://creativecommons.org/licenses/by/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Función de LyapunovConvertidores DC-DCSistemas de control no linealSistema dinámicoControl óptimo inversoIngeniería Eléctrica -- Tesis y disertaciones académicasConvertidores de energíaFunción de LyapunovSistemas de control no linealLyapunov FunctionDC-DC ConverterNonlinear control systemsDynamical system approachReverse optimum controlRegulación de tensión en convertidores Dc-Dc clásicos de segundo orden mediante la aplicación del control óptimo inverso con acción proporcional-integralVoltage regulation in classic second-order DC-DC converters by applying inverse optimum control with proportional-integral actionbachelorThesisProducción Académicainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8908http://repository.udistrital.edu.co/bitstream/11349/31582/2/license_rdf0175ea4a2d4caec4bbcc37e300941108MD52open accessORIGINALGomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdfGomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdfTrabajo de gradoapplication/pdf795526http://repository.udistrital.edu.co/bitstream/11349/31582/6/GomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf8add632561b0282a68792fcc73765ffaMD56open access8_Licencia_Uso_Publicacion_RIUD.pdf8_Licencia_Uso_Publicacion_RIUD.pdfLicencia de uso y publicaciónapplication/pdf231809http://repository.udistrital.edu.co/bitstream/11349/31582/5/8_Licencia_Uso_Publicacion_RIUD.pdf5a130e2bac7a8e4ff67c9eac9a75e3efMD55metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/31582/7/license.txt997daf6c648c962d566d7b082dac908dMD57open accessTHUMBNAILGomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf.jpgGomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf.jpgIM Thumbnailimage/jpeg11552http://repository.udistrital.edu.co/bitstream/11349/31582/8/GomezChitivaJuanSebastian_EscalanteSarriasAndresFelipe_2022.pdf.jpgf660cf16d5bd36835e15061b55a56ccdMD58open access8_Licencia_Uso_Publicacion_RIUD.pdf.jpg8_Licencia_Uso_Publicacion_RIUD.pdf.jpgIM Thumbnailimage/jpeg13032http://repository.udistrital.edu.co/bitstream/11349/31582/9/8_Licencia_Uso_Publicacion_RIUD.pdf.jpgdf24e5e7352a04a8be84c7ba62256b9eMD59open access11349/31582oai:repository.udistrital.edu.co:11349/315822023-09-12 09:40:59.81open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK