Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales

En el desarrollo de este proyecto se abordaron aspectos técnicos avanzados y multidisciplinarios que convergen en un sistema robótico programado en Python, con la capacidad de realizar operaciones complejas guiadas por una interfaz gráfica. El sistema radica en la creación de un prototipo de robot a...

Full description

Autores:
Monroy Moya, David Fernando
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad ECCI
Repositorio:
Repositorio Institucional ECCI
Idioma:
spa
OAI Identifier:
oai:repositorio.ecci.edu.co:001/3927
Acceso en línea:
https://repositorio.ecci.edu.co/handle/001/3927
Palabra clave:
Plataforma omnidireccional
Visión artificial
Brazo robótico
Raspberry Pi
Pick and place
Robótica
Automatización
Industria 4.0
Detección de objetos
Interfaz gráfica
Python
Rights
openAccess
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id ECCI2_7e1c2ff0c72cafadbd6bf61d7e78eee3
oai_identifier_str oai:repositorio.ecci.edu.co:001/3927
network_acronym_str ECCI2
network_name_str Repositorio Institucional ECCI
repository_id_str
dc.title.spa.fl_str_mv Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
title Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
spellingShingle Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
Plataforma omnidireccional
Visión artificial
Brazo robótico
Raspberry Pi
Pick and place
Robótica
Automatización
Industria 4.0
Detección de objetos
Interfaz gráfica
Python
title_short Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
title_full Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
title_fullStr Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
title_full_unstemmed Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
title_sort Desarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materiales
dc.creator.fl_str_mv Monroy Moya, David Fernando
dc.contributor.advisor.none.fl_str_mv Barrera Prieto, Fabián
dc.contributor.author.none.fl_str_mv Monroy Moya, David Fernando
dc.subject.proposal.spa.fl_str_mv Plataforma omnidireccional
Visión artificial
Brazo robótico
Raspberry Pi
Pick and place
Robótica
Automatización
Industria 4.0
Detección de objetos
Interfaz gráfica
Python
topic Plataforma omnidireccional
Visión artificial
Brazo robótico
Raspberry Pi
Pick and place
Robótica
Automatización
Industria 4.0
Detección de objetos
Interfaz gráfica
Python
description En el desarrollo de este proyecto se abordaron aspectos técnicos avanzados y multidisciplinarios que convergen en un sistema robótico programado en Python, con la capacidad de realizar operaciones complejas guiadas por una interfaz gráfica. El sistema radica en la creación de un prototipo de robot autónomo móvil o fijo configurado para llevar a cabo tareas especializadas de pick and place, seguimiento de trayectorias y despacho de materiales. Su manejo facilita no solo la ejecución de dichas funciones, sino también la capacidad de seleccionar criterios específicos de detección durante la operación del robot gracias a la incorporación del componente de reconocimiento de objetos en tiempo real, aportando versatilidad y eficacia al robot. Finalmente se especifica un análisis detallado que incluye estudios cinemáticos exhaustivos tanto de la plataforma omnidireccional como del brazo robótico, con énfasis en pruebas de movimiento y trayectorias para garantizar buen rendimiento, proporcionando una idea integral para la automatización de tareas específicas mediante el uso de una interfaz que complementa el enfoque de este proyecto.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-02-26T14:46:18Z
dc.date.available.none.fl_str_mv 2024-02-26T14:46:18Z
dc.date.issued.none.fl_str_mv 2024
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_dc82b40f9837b551
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv https://repositorio.ecci.edu.co/handle/001/3927
url https://repositorio.ecci.edu.co/handle/001/3927
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv [ArriagaandBalpuesta,sf]Arriaga,A.E.S.andBalpuesta,A.M.S.(s˙ f).Plataformam´ Ovil omnidireccionaldecuatrollantassuecas(mecanum)enconfiguraci´ On?ab?
[Babuetal.,2021] Babu,B. S.,Priyadharshini,V., andPatel,P. (2021). Reviewof voicecontrolledroboticarm-raspberrypi. EuropeanJournal ofElectricalEngineeringand ComputerScience,5:1–4.
[Canny,1986] Canny,J.(1986).Acomputationalapproachtoedgedetection.IEEETransactionsonPatternAnalysisandMachineIntelligence,PAMI-8:679–698.
[CorkeandHaviland,2021] Corke, P. andHaviland, J. (2021). Not your grandmother’s toolbox- the robotics toolboxreinvented forpython. volume2021-May, pages1135711363. InstituteofElectricalandElectronicsEngineersInc.
[Guptaetal.,2017]Gupta,B.,Uttarakhand,P.,andChaube,I.A.(2017).Studyonobject detectionusingopencv-python.
[Infobae,2021] Infobae(2021).C´ omoesanymal:Elperrorobotquecompiteconspot.
[Jolles,2021] Jolles, J.W. (2021). Broad-scaleapplicationsof theraspberrypi:Areview andguideforbiologists.MethodsinEcologyandEvolution,12:1562–1579.
[K¨ olling,2016]K¨olling,M. (2016).Educationalprogrammingontheraspberrypi. Electronics(Switzerland),5.
[Menesesetal.,2022]Meneses,B.,Nu˜ nez-Tapia,L.,andAlvarado-D´ ıaz,W.(2022).Graphical interface to improvepython language teachingand imageprocessing. International JournalofEmergingTechnologyandAdvancedEngineering,12:92–98.
[Oltean,2019]Oltean,S.E.(2019).Mobilerobotplatformwitharduinounoandraspberry pi forautonomousnavigation. volume32,pages572–577.ElsevierB.V.
[OmniRobotic,2023]OmniRobotic(2023).Omnirobotic-descripci´ ondel robotm´ ovilomnidireccionalconbrazorob´ otico.
Patr´ onetal.,2013] Patr´on,J.S.,D´ıaz,L.V.,andSolano,M.V. (2013). Dise˜ noe implementaci´ ondealgoritmoparaelprocesamientodeim´agenesensistemasembebidos.Revista Ingenier´ıayRegi´on,pages41–53.
[Petrescuetal.,2017] Petrescu,R.V.V.,Aversa,R.,Apicella,A.,Mirsayar,M.,Kozaitis,S., Abu-Lebdeh,T.,andPetrescu,F.I.T.(2017).Theinversekinematicsoftheplanesystem 2-3inamechatronicmp2rsystem,byatrigonometricmethod. JournalofMechatronics andRobotics,1:75–87.
[Pullietal.,2012] Pulli,K.,Baksheev,A.,Kornyakov,K.,andEruhimov,V. (2012).Hci1 realtimecomputervisionwithopencv.
[Rebaza,2007]Rebaza,J.V. (2007).Detecci´ ondebordesmedianteelalgoritmodecanny.
[RoboSavvy,2018]RoboSavvy (2018). Turtlebot con brazo rob´ otico kobuki y openmanipulator-x.
[Robotnik,2023]Robotnik (2023). Summit-xl- robotm´ ovil omnidireccional conbrazo rob´ otico.
[SanabriaandArchila,2011] Sanabria, J. andArchila, J. (2011). Detecci´ onyan´ alisisde movimientousandovisi´ onartificial. ScientiaetTechnicaA˜ noXVI,49.
[Santill´ anetal.,2015] Santill´an,G.,Danilo, I.,S´anchez,C.,andManuel,V. (2015). Cienciaybiodiversidad lavisi´ Onartificial y losdeaplicaci´ Onartificial visionandfieldsof application.
[Siurana,2018] Siurana,A.C. (2018).Dise˜ Noeimplementaci´ Ondeunveh´ Iculodecuatro ruedasomnidireccionales.
[Valeraetal.,2014]Valera,A.,Soriano,A.,andVall´ es,M. (2014). Low-costplatforms for realizationofmechatronicsandroboticspracticalworks. RIAI-RevistaIberoamericana deAutomaticaeInformaticaIndustrial,11:363–376.
[Xuetal.,2017]Xu,Z.,Baojie,X.,andGuoxin,W.(2017).Cannyedgedetectionbasedon opencv. InstituteofElectricalandElectronicsEngineers.
[´ AlvarezArizaandGalvis,2023] ´ AlvarezAriza,J.andGalvis,C.N. (2023). Raspycontrol lab:Afullyopen-sourceandreal-timeremotelaboratoryforeducationinautomaticcontrol systemsusingraspberrypiandpython.HardwareX,13.
dc.rights.spa.fl_str_mv Derechos Reservados - Universidad ECCI, 2023
dc.rights.license.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
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
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Derechos Reservados - Universidad ECCI, 2023
http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 77 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad ECCI
dc.publisher.place.spa.fl_str_mv Colombia
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingenierías
institution Universidad ECCI
bitstream.url.fl_str_mv https://repositorio.ecci.edu.co/bitstream/001/3927/7/license.txt
https://repositorio.ecci.edu.co/bitstream/001/3927/4/Trabajo%20de%20grado.pdf
https://repositorio.ecci.edu.co/bitstream/001/3927/5/FR-DO-034.pdf
https://repositorio.ecci.edu.co/bitstream/001/3927/6/FR-IN-052.pdf
https://repositorio.ecci.edu.co/bitstream/001/3927/8/license_rdf
https://repositorio.ecci.edu.co/bitstream/001/3927/9/Trabajo%20de%20grado.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3927/11/FR-DO-034.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3927/13/FR-IN-052.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3927/10/Trabajo%20de%20grado.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3927/12/FR-DO-034.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3927/14/FR-IN-052.pdf.jpg
bitstream.checksum.fl_str_mv 88794144ff048353b359a3174871b0d5
2497805b0c43accfec161f0833cef220
60e0fa875c80f71ff751e3125fdf7ebd
bd2aa0c8ec1dbaae455dd9858da2b91d
4460e5956bc1d1639be9ae6146a50347
221321365c899730fce2df4865cfd739
e1c06d85ae7b8b032bef47e42e4c08f9
172b47daa4ac3b018f01833f807c280b
b2c711b0baa7f1c220a513f43098793d
058b7c5b2e562aa68b09d34cefdbdf5b
2b35a509fa062e54e7db3e3afaebac33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital Universidad ECCI
repository.mail.fl_str_mv repositorio.institucional@ecci.edu.co
_version_ 1808493098252107776
spelling Attribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 InternacionalDerechos Reservados - Universidad ECCI, 2023http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Barrera Prieto, Fabiána3d33d6d2406391cd9f342f1f48a9ec3Monroy Moya, David Fernando903d2e569519d55e39c2a808159718092024-02-26T14:46:18Z2024-02-26T14:46:18Z2024https://repositorio.ecci.edu.co/handle/001/3927En el desarrollo de este proyecto se abordaron aspectos técnicos avanzados y multidisciplinarios que convergen en un sistema robótico programado en Python, con la capacidad de realizar operaciones complejas guiadas por una interfaz gráfica. El sistema radica en la creación de un prototipo de robot autónomo móvil o fijo configurado para llevar a cabo tareas especializadas de pick and place, seguimiento de trayectorias y despacho de materiales. Su manejo facilita no solo la ejecución de dichas funciones, sino también la capacidad de seleccionar criterios específicos de detección durante la operación del robot gracias a la incorporación del componente de reconocimiento de objetos en tiempo real, aportando versatilidad y eficacia al robot. Finalmente se especifica un análisis detallado que incluye estudios cinemáticos exhaustivos tanto de la plataforma omnidireccional como del brazo robótico, con énfasis en pruebas de movimiento y trayectorias para garantizar buen rendimiento, proporcionando una idea integral para la automatización de tareas específicas mediante el uso de una interfaz que complementa el enfoque de este proyecto.PregradoIngeniero en MecatrónicaIngeniería Mecatrónica77 p.application/pdfspaUniversidad ECCIColombiaFacultad de IngenieríasDesarrollo de un prototipo de un robot móvil autónomo de bajo costo con Raspberry para realizar tareas de pick and place y trayectorias de despacho de materialesTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_970fb48d4fbd8a85http://purl.org/coar/version/c_dc82b40f9837b551[ArriagaandBalpuesta,sf]Arriaga,A.E.S.andBalpuesta,A.M.S.(s˙ f).Plataformam´ Ovil omnidireccionaldecuatrollantassuecas(mecanum)enconfiguraci´ On?ab?[Babuetal.,2021] Babu,B. S.,Priyadharshini,V., andPatel,P. (2021). Reviewof voicecontrolledroboticarm-raspberrypi. EuropeanJournal ofElectricalEngineeringand ComputerScience,5:1–4.[Canny,1986] Canny,J.(1986).Acomputationalapproachtoedgedetection.IEEETransactionsonPatternAnalysisandMachineIntelligence,PAMI-8:679–698.[CorkeandHaviland,2021] Corke, P. andHaviland, J. (2021). Not your grandmother’s toolbox- the robotics toolboxreinvented forpython. volume2021-May, pages1135711363. InstituteofElectricalandElectronicsEngineersInc.[Guptaetal.,2017]Gupta,B.,Uttarakhand,P.,andChaube,I.A.(2017).Studyonobject detectionusingopencv-python.[Infobae,2021] Infobae(2021).C´ omoesanymal:Elperrorobotquecompiteconspot.[Jolles,2021] Jolles, J.W. (2021). Broad-scaleapplicationsof theraspberrypi:Areview andguideforbiologists.MethodsinEcologyandEvolution,12:1562–1579.[K¨ olling,2016]K¨olling,M. (2016).Educationalprogrammingontheraspberrypi. Electronics(Switzerland),5.[Menesesetal.,2022]Meneses,B.,Nu˜ nez-Tapia,L.,andAlvarado-D´ ıaz,W.(2022).Graphical interface to improvepython language teachingand imageprocessing. International JournalofEmergingTechnologyandAdvancedEngineering,12:92–98.[Oltean,2019]Oltean,S.E.(2019).Mobilerobotplatformwitharduinounoandraspberry pi forautonomousnavigation. volume32,pages572–577.ElsevierB.V.[OmniRobotic,2023]OmniRobotic(2023).Omnirobotic-descripci´ ondel robotm´ ovilomnidireccionalconbrazorob´ otico.Patr´ onetal.,2013] Patr´on,J.S.,D´ıaz,L.V.,andSolano,M.V. (2013). Dise˜ noe implementaci´ ondealgoritmoparaelprocesamientodeim´agenesensistemasembebidos.Revista Ingenier´ıayRegi´on,pages41–53.[Petrescuetal.,2017] Petrescu,R.V.V.,Aversa,R.,Apicella,A.,Mirsayar,M.,Kozaitis,S., Abu-Lebdeh,T.,andPetrescu,F.I.T.(2017).Theinversekinematicsoftheplanesystem 2-3inamechatronicmp2rsystem,byatrigonometricmethod. JournalofMechatronics andRobotics,1:75–87.[Pullietal.,2012] Pulli,K.,Baksheev,A.,Kornyakov,K.,andEruhimov,V. (2012).Hci1 realtimecomputervisionwithopencv.[Rebaza,2007]Rebaza,J.V. (2007).Detecci´ ondebordesmedianteelalgoritmodecanny.[RoboSavvy,2018]RoboSavvy (2018). Turtlebot con brazo rob´ otico kobuki y openmanipulator-x.[Robotnik,2023]Robotnik (2023). Summit-xl- robotm´ ovil omnidireccional conbrazo rob´ otico.[SanabriaandArchila,2011] Sanabria, J. andArchila, J. (2011). Detecci´ onyan´ alisisde movimientousandovisi´ onartificial. ScientiaetTechnicaA˜ noXVI,49.[Santill´ anetal.,2015] Santill´an,G.,Danilo, I.,S´anchez,C.,andManuel,V. (2015). Cienciaybiodiversidad lavisi´ Onartificial y losdeaplicaci´ Onartificial visionandfieldsof application.[Siurana,2018] Siurana,A.C. (2018).Dise˜ Noeimplementaci´ Ondeunveh´ Iculodecuatro ruedasomnidireccionales.[Valeraetal.,2014]Valera,A.,Soriano,A.,andVall´ es,M. (2014). Low-costplatforms for realizationofmechatronicsandroboticspracticalworks. RIAI-RevistaIberoamericana deAutomaticaeInformaticaIndustrial,11:363–376.[Xuetal.,2017]Xu,Z.,Baojie,X.,andGuoxin,W.(2017).Cannyedgedetectionbasedon opencv. InstituteofElectricalandElectronicsEngineers.[´ AlvarezArizaandGalvis,2023] ´ AlvarezAriza,J.andGalvis,C.N. (2023). Raspycontrol lab:Afullyopen-sourceandreal-timeremotelaboratoryforeducationinautomaticcontrol systemsusingraspberrypiandpython.HardwareX,13.Plataforma omnidireccionalVisión artificialBrazo robóticoRaspberry PiPick and placeRobóticaAutomatizaciónIndustria 4.0Detección de objetosInterfaz gráficaPythonLICENSElicense.txtlicense.txttext/plain; charset=utf-814798https://repositorio.ecci.edu.co/bitstream/001/3927/7/license.txt88794144ff048353b359a3174871b0d5MD57ORIGINALTrabajo de grado.pdfTrabajo de grado.pdfapplication/pdf7914321https://repositorio.ecci.edu.co/bitstream/001/3927/4/Trabajo%20de%20grado.pdf2497805b0c43accfec161f0833cef220MD54FR-DO-034.pdfFR-DO-034.pdfapplication/pdf5905562https://repositorio.ecci.edu.co/bitstream/001/3927/5/FR-DO-034.pdf60e0fa875c80f71ff751e3125fdf7ebdMD55FR-IN-052.pdfFR-IN-052.pdfapplication/pdf506495https://repositorio.ecci.edu.co/bitstream/001/3927/6/FR-IN-052.pdfbd2aa0c8ec1dbaae455dd9858da2b91dMD56CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.ecci.edu.co/bitstream/001/3927/8/license_rdf4460e5956bc1d1639be9ae6146a50347MD58TEXTTrabajo de grado.pdf.txtTrabajo de grado.pdf.txtExtracted texttext/plain100313https://repositorio.ecci.edu.co/bitstream/001/3927/9/Trabajo%20de%20grado.pdf.txt221321365c899730fce2df4865cfd739MD59FR-DO-034.pdf.txtFR-DO-034.pdf.txtExtracted texttext/plain2https://repositorio.ecci.edu.co/bitstream/001/3927/11/FR-DO-034.pdf.txte1c06d85ae7b8b032bef47e42e4c08f9MD511FR-IN-052.pdf.txtFR-IN-052.pdf.txtExtracted texttext/plain3842https://repositorio.ecci.edu.co/bitstream/001/3927/13/FR-IN-052.pdf.txt172b47daa4ac3b018f01833f807c280bMD513TEXTTHUMBNAILTrabajo de grado.pdf.jpgTrabajo de grado.pdf.jpgGenerated Thumbnailimage/jpeg6551https://repositorio.ecci.edu.co/bitstream/001/3927/10/Trabajo%20de%20grado.pdf.jpgb2c711b0baa7f1c220a513f43098793dMD510FR-DO-034.pdf.jpgFR-DO-034.pdf.jpgGenerated Thumbnailimage/jpeg14671https://repositorio.ecci.edu.co/bitstream/001/3927/12/FR-DO-034.pdf.jpg058b7c5b2e562aa68b09d34cefdbdf5bMD512FR-IN-052.pdf.jpgFR-IN-052.pdf.jpgGenerated Thumbnailimage/jpeg13982https://repositorio.ecci.edu.co/bitstream/001/3927/14/FR-IN-052.pdf.jpg2b35a509fa062e54e7db3e3afaebac33MD514THUMBNAIL001/3927oai:repositorio.ecci.edu.co:001/39272024-07-24 16:14:47.277Repositorio Digital Universidad ECCIrepositorio.institucional@ecci.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4KMS4gRGVmaW5pY2lvbmVzCmEuCU9icmEgQ29sZWN0aXZhIGVzIHVuYSBvYnJhLCB0YWwgY29tbyB1bmEgcHVibGljYWNpw7NuIHBlcmnDs2RpY2EsIHVuYSBhbnRvbG9nw61hLCBvIHVuYSBlbmNpY2xvcGVkaWEsIGVuIGxhIHF1ZSBsYSBvYnJhIGVuIHN1IHRvdGFsaWRhZCwgc2luIG1vZGlmaWNhY2nDs24gYWxndW5hLCBqdW50byBjb24gdW4gZ3J1cG8gZGUgb3RyYXMgY29udHJpYnVjaW9uZXMgcXVlIGNvbnN0aXR1eWVuIG9icmFzIHNlcGFyYWRhcyBlIGluZGVwZW5kaWVudGVzIGVuIHPDrSBtaXNtYXMsIHNlIGludGVncmFuIGVuIHVuIHRvZG8gY29sZWN0aXZvLiBVbmEgT2JyYSBxdWUgY29uc3RpdHV5ZSB1bmEgb2JyYSBjb2xlY3RpdmEgbm8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIChjb21vIHNlIGRlZmluZSBhYmFqbykgcGFyYSBsb3MgcHJvcMOzc2l0b3MgZGUgZXN0YSBsaWNlbmNpYS4gYXF1ZWxsYSBwcm9kdWNpZGEgcG9yIHVuIGdydXBvIGRlIGF1dG9yZXMsIGVuIHF1ZSBsYSBPYnJhIHNlIGVuY3VlbnRyYSBzaW4gbW9kaWZpY2FjaW9uZXMsIGp1bnRvIGNvbiB1bmEgY2llcnRhIGNhbnRpZGFkIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzLCBxdWUgY29uc3RpdHV5ZW4gZW4gc8OtIG1pc21vcyB0cmFiYWpvcyBzZXBhcmFkb3MgZSBpbmRlcGVuZGllbnRlcywgcXVlIHNvbiBpbnRlZ3JhZG9zIGFsIHRvZG8gY29sZWN0aXZvLCB0YWxlcyBjb21vIHB1YmxpY2FjaW9uZXMgcGVyacOzZGljYXMsIGFudG9sb2fDrWFzIG8gZW5jaWNsb3BlZGlhcy4KYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgpjLglMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgpkLglBdXRvciBvcmlnaW5hbCwgZXMgZWwgaW5kaXZpZHVvIHF1ZSBjcmXDsyBsYSBPYnJhLgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCmYuCVVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoyLiBEZXJlY2hvcyBkZSBVc29zIEhvbnJhZG9zIHkgZXhjZXBjaW9uZXMgTGVnYWxlcy4KTmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CmEuCVJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXM7CmIuCURpc3RyaWJ1aXIgY29waWFzIG8gZm9ub2dyYW1hcyBkZSBsYXMgT2JyYXMsIGV4aGliaXJsYXMgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXJsYXMgcMO6YmxpY2FtZW50ZSB5L28gcG9uZXJsYXMgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EsIGluY2x1ecOpbmRvbGFzIGNvbW8gaW5jb3Jwb3JhZGFzIGVuIE9icmFzIENvbGVjdGl2YXMsIHNlZ8O6biBjb3JyZXNwb25kYTsKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCjQuIFJlc3RyaWNjaW9uZXMuCkxhIGxpY2VuY2lhIG90b3JnYWRhIGVuIGxhIGFudGVyaW9yIFNlY2Npw7NuIDMgZXN0w6EgZXhwcmVzYW1lbnRlIHN1amV0YSB5IGxpbWl0YWRhIHBvciBsYXMgc2lndWllbnRlcyByZXN0cmljY2lvbmVzOgphLglVc3RlZCBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBzw7NsbyBiYWpvIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLCB5IFVzdGVkIGRlYmUgaW5jbHVpciB1bmEgY29waWEgZGUgZXN0YSBsaWNlbmNpYSBvIGRlbCBJZGVudGlmaWNhZG9yIFVuaXZlcnNhbCBkZSBSZWN1cnNvcyBkZSBsYSBtaXNtYSBjb24gY2FkYSBjb3BpYSBkZSBsYSBPYnJhIHF1ZSBkaXN0cmlidXlhLCBleGhpYmEgcMO6YmxpY2FtZW50ZSwgZWplY3V0ZSBww7pibGljYW1lbnRlIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EuIE5vIGVzIHBvc2libGUgb2ZyZWNlciBvIGltcG9uZXIgbmluZ3VuYSBjb25kaWNpw7NuIHNvYnJlIGxhIE9icmEgcXVlIGFsdGVyZSBvIGxpbWl0ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSBvIGVsIGVqZXJjaWNpbyBkZSBsb3MgZGVyZWNob3MgZGUgbG9zIGRlc3RpbmF0YXJpb3Mgb3RvcmdhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBObyBlcyBwb3NpYmxlIHN1YmxpY2VuY2lhciBsYSBPYnJhLiBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdG9zIHRvZG9zIGxvcyBhdmlzb3MgcXVlIGhhZ2FuIHJlZmVyZW5jaWEgYSBlc3RhIExpY2VuY2lhIHkgYSBsYSBjbMOhdXN1bGEgZGUgbGltaXRhY2nDs24gZGUgZ2FyYW50w61hcy4gVXN0ZWQgbm8gcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgY29uIGFsZ3VuYSBtZWRpZGEgdGVjbm9sw7NnaWNhIHF1ZSBjb250cm9sZSBlbCBhY2Nlc28gbyBsYSB1dGlsaXphY2nDs24gZGUgZWxsYSBkZSB1bmEgZm9ybWEgcXVlIHNlYSBpbmNvbnNpc3RlbnRlIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gTG8gYW50ZXJpb3Igc2UgYXBsaWNhIGEgbGEgT2JyYSBpbmNvcnBvcmFkYSBhIHVuYSBPYnJhIENvbGVjdGl2YSwgcGVybyBlc3RvIG5vIGV4aWdlIHF1ZSBsYSBPYnJhIENvbGVjdGl2YSBhcGFydGUgZGUgbGEgb2JyYSBtaXNtYSBxdWVkZSBzdWpldGEgYSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gU2kgVXN0ZWQgY3JlYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHByZXZpbyBhdmlzbyBkZSBjdWFscXVpZXIgTGljZW5jaWFudGUgZGViZSwgZW4gbGEgbWVkaWRhIGRlIGxvIHBvc2libGUsIGVsaW1pbmFyIGRlIGxhIE9icmEgQ29sZWN0aXZhIGN1YWxxdWllciByZWZlcmVuY2lhIGEgZGljaG8gTGljZW5jaWFudGUgbyBhbCBBdXRvciBPcmlnaW5hbCwgc2Vnw7puIGxvIHNvbGljaXRhZG8gcG9yIGVsIExpY2VuY2lhbnRlIHkgY29uZm9ybWUgbG8gZXhpZ2UgbGEgY2zDoXVzdWxhIDQoYykuCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KYy4JU2kgdXN0ZWQgZGlzdHJpYnV5ZSwgZXhoaWJlIHDDumJsaWNhbWVudGUsIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBvIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBlbiBmb3JtYSBkaWdpdGFsIGxhIE9icmEgbyBjdWFscXVpZXIgT2JyYSBEZXJpdmFkYSB1IE9icmEgQ29sZWN0aXZhLCBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdGEgdG9kYSBsYSBpbmZvcm1hY2nDs24gZGUgZGVyZWNobyBkZSBhdXRvciBkZSBsYSBPYnJhIHkgcHJvcG9yY2lvbmFyLCBkZSBmb3JtYSByYXpvbmFibGUgc2Vnw7puIGVsIG1lZGlvIG8gbWFuZXJhIHF1ZSBVc3RlZCBlc3TDqSB1dGlsaXphbmRvOiAoaSkgZWwgbm9tYnJlIGRlbCBBdXRvciBPcmlnaW5hbCBzaSBlc3TDoSBwcm92aXN0byAobyBzZXVkw7NuaW1vLCBzaSBmdWVyZSBhcGxpY2FibGUpLCB5L28gKGlpKSBlbCBub21icmUgZGUgbGEgcGFydGUgbyBsYXMgcGFydGVzIHF1ZSBlbCBBdXRvciBPcmlnaW5hbCB5L28gZWwgTGljZW5jaWFudGUgaHViaWVyZW4gZGVzaWduYWRvIHBhcmEgbGEgYXRyaWJ1Y2nDs24gKHYuZy4sIHVuIGluc3RpdHV0byBwYXRyb2NpbmFkb3IsIGVkaXRvcmlhbCwgcHVibGljYWNpw7NuKSBlbiBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlbCBMaWNlbmNpYW50ZSwgdMOpcm1pbm9zIGRlIHNlcnZpY2lvcyBvIGRlIG90cmFzIGZvcm1hcyByYXpvbmFibGVzOyBlbCB0w610dWxvIGRlIGxhIE9icmEgc2kgZXN0w6EgcHJvdmlzdG87IGVuIGxhIG1lZGlkYSBkZSBsbyByYXpvbmFibGVtZW50ZSBmYWN0aWJsZSB5LCBzaSBlc3TDoSBwcm92aXN0bywgZWwgSWRlbnRpZmljYWRvciBVbmlmb3JtZSBkZSBSZWN1cnNvcyAoVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyKSBxdWUgZWwgTGljZW5jaWFudGUgZXNwZWNpZmljYSBwYXJhIHNlciBhc29jaWFkbyBjb24gbGEgT2JyYSwgc2Fsdm8gcXVlIHRhbCBVUkkgbm8gc2UgcmVmaWVyYSBhIGxhIG5vdGEgc29icmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIG8gYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgbGljZW5jaWFtaWVudG8gZGUgbGEgT2JyYTsgeSBlbiBlbCBjYXNvIGRlIHVuYSBPYnJhIERlcml2YWRhLCBhdHJpYnVpciBlbCBjcsOpZGl0byBpZGVudGlmaWNhbmRvIGVsIHVzbyBkZSBsYSBPYnJhIGVuIGxhIE9icmEgRGVyaXZhZGEgKHYuZy4sICJUcmFkdWNjacOzbiBGcmFuY2VzYSBkZSBsYSBPYnJhIGRlbCBBdXRvciBPcmlnaW5hbCwiIG8gIkd1acOzbiBDaW5lbWF0b2dyw6FmaWNvIGJhc2FkbyBlbiBsYSBPYnJhIG9yaWdpbmFsIGRlbCBBdXRvciBPcmlnaW5hbCIpLiBUYWwgY3LDqWRpdG8gcHVlZGUgc2VyIGltcGxlbWVudGFkbyBkZSBjdWFscXVpZXIgZm9ybWEgcmF6b25hYmxlOyBlbiBlbCBjYXNvLCBzaW4gZW1iYXJnbywgZGUgT2JyYXMgRGVyaXZhZGFzIHUgT2JyYXMgQ29sZWN0aXZhcywgdGFsIGNyw6lkaXRvIGFwYXJlY2Vyw6EsIGNvbW8gbcOtbmltbywgZG9uZGUgYXBhcmVjZSBlbCBjcsOpZGl0byBkZSBjdWFscXVpZXIgb3RybyBhdXRvciBjb21wYXJhYmxlIHkgZGUgdW5hIG1hbmVyYSwgYWwgbWVub3MsIHRhbiBkZXN0YWNhZGEgY29tbyBlbCBjcsOpZGl0byBkZSBvdHJvIGF1dG9yIGNvbXBhcmFibGUuCmQuCVBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgZXMgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsOgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgppaS4JUmVnYWzDrWFzIHBvciBGb25vZ3JhbWFzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIGxvcyBjb25zYWdyYWRvcyBwb3IgbGEgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KZS4JR2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFDSU5QUk8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLgpBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgo3LiBUw6lybWluby4KYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCmIuCVN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgo4LiBWYXJpb3MuCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCmIuCVNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgpjLglOaW5nw7puIHTDqXJtaW5vIG8gZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgc2UgZXN0aW1hcsOhIHJlbnVuY2lhZGEgeSBuaW5ndW5hIHZpb2xhY2nDs24gZGUgZWxsYSBzZXLDoSBjb25zZW50aWRhIGEgbWVub3MgcXVlIGVzYSByZW51bmNpYSBvIGNvbnNlbnRpbWllbnRvIHNlYSBvdG9yZ2FkbyBwb3IgZXNjcml0byB5IGZpcm1hZG8gcG9yIGxhIHBhcnRlIHF1ZSByZW51bmNpZSBvIGNvbnNpZW50YS4KZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=