Optimización topológica en el diseño de elementos estructurales mecánicos

Este trabajo hace una revisión de la técnica de optimización topológica (OT) aplicada al diseño de estructuras de peso reducido. El problema consiste en encontrar la topología que tenga la mayor rigidez con una restricción en el volumen final del material, partiendo de un dominio bidimensional recta...

Full description

Autores:
Meza Valencia, Carlos Alberto
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2013
Institución:
Universidad Autónoma de Occidente
Repositorio:
RED: Repositorio Educativo Digital UAO
Idioma:
spa
OAI Identifier:
oai:red.uao.edu.co:10614/4209
Acceso en línea:
http://hdl.handle.net/10614/4209
Palabra clave:
Ingeniería Mecánica
Método de elementos finitos
Topología
Optimización estructural
Finite element method
Topology
Structural optimization
Rights
openAccess
License
https://creativecommons.org/licenses/by-nc/4.0/
id REPOUAO2_642642201558504bc012e375de879d9a
oai_identifier_str oai:red.uao.edu.co:10614/4209
network_acronym_str REPOUAO2
network_name_str RED: Repositorio Educativo Digital UAO
repository_id_str
dc.title.spa.fl_str_mv Optimización topológica en el diseño de elementos estructurales mecánicos
title Optimización topológica en el diseño de elementos estructurales mecánicos
spellingShingle Optimización topológica en el diseño de elementos estructurales mecánicos
Ingeniería Mecánica
Método de elementos finitos
Topología
Optimización estructural
Finite element method
Topology
Structural optimization
title_short Optimización topológica en el diseño de elementos estructurales mecánicos
title_full Optimización topológica en el diseño de elementos estructurales mecánicos
title_fullStr Optimización topológica en el diseño de elementos estructurales mecánicos
title_full_unstemmed Optimización topológica en el diseño de elementos estructurales mecánicos
title_sort Optimización topológica en el diseño de elementos estructurales mecánicos
dc.creator.fl_str_mv Meza Valencia, Carlos Alberto
dc.contributor.advisor.none.fl_str_mv Franco Guzmán, Ediguer Enrique
dc.contributor.author.spa.fl_str_mv Meza Valencia, Carlos Alberto
dc.subject.spa.fl_str_mv Ingeniería Mecánica
Método de elementos finitos
Topología
Optimización estructural
topic Ingeniería Mecánica
Método de elementos finitos
Topología
Optimización estructural
Finite element method
Topology
Structural optimization
dc.subject.eng.fl_str_mv Finite element method
Topology
Structural optimization
description Este trabajo hace una revisión de la técnica de optimización topológica (OT) aplicada al diseño de estructuras de peso reducido. El problema consiste en encontrar la topología que tenga la mayor rigidez con una restricción en el volumen final del material, partiendo de un dominio bidimensional rectangular con las restricciones y cargas correspondientes. El trabajo se divide en tres partes generales: revisión del estado del arte, implementación de un código en Matlab y reproducción de los resultados reportados en la literatura, y aplicación de la técnica al diseño de una pieza mecánica de peso reducido. El trabajo comienza con el estudio de la formulación del elemento Q4 (elemento plano de 4 nodos y 2 grados de libertad por nodo con interpolación lineal) para el problema elástico, y su implementación numérica. El siguiente paso es el estudio del planteamiento del problema de optimización y su solución por medio de PLS (Programación Lineal Secuencial). PLS es un método que soluciona un problema de optimización no lineal convirtiéndolo en una serie de problemas lineales. La linealización del problema se hace por medio de la serie de Taylor y cada problema lineal se soluciona usando programación lineal, con algoritmos bien conocidos como el Simplex o el Karmarkar
publishDate 2013
dc.date.accessioned.spa.fl_str_mv 2013-01-22T15:56:44Z
dc.date.available.spa.fl_str_mv 2013-01-22T15:56:44Z
dc.date.issued.spa.fl_str_mv 2013-01-22
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
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.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
format http://purl.org/coar/resource_type/c_7a1f
status_str publishedVersion
dc.identifier.uri.spa.fl_str_mv http://hdl.handle.net/10614/4209
url http://hdl.handle.net/10614/4209
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc/4.0/
Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.spa.fl_str_mv application/pdf
dc.coverage.spatial.spa.fl_str_mv Universidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí
dc.publisher.spa.fl_str_mv Universidad Autónoma de Occidente
dc.publisher.program.spa.fl_str_mv Ingeniería Mecánica
dc.publisher.department.spa.fl_str_mv Departamento de Energética y Mecánica
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.source.spa.fl_str_mv instname:Universidad Autónoma de Occidente
reponame:Repositorio Institucional UAO
instname_str Universidad Autónoma de Occidente
institution Universidad Autónoma de Occidente
reponame_str Repositorio Institucional UAO
collection Repositorio Institucional UAO
bitstream.url.fl_str_mv https://red.uao.edu.co/bitstreams/4f6a2504-85be-4016-9b22-dc8db8ee4093/download
https://red.uao.edu.co/bitstreams/9400f0a6-12d7-4576-95ad-c8bfaeda0c8e/download
https://red.uao.edu.co/bitstreams/eb7e2fee-7186-4853-afdf-c189f433e5a2/download
https://red.uao.edu.co/bitstreams/504642d1-59fa-41f5-a3fc-f07869f0dc5b/download
bitstream.checksum.fl_str_mv dbe546acfe7ad7de4b0cda6a2d3b8bb5
681d790601b8a9bb443804717ec65e6f
e2dd342f2c351b678ff0101de2d0e3d8
ef91aa615628668d5864e88126220798
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_ 1814259851801395200
spelling Franco Guzmán, Ediguer Enriquevirtual::1816-1Meza Valencia, Carlos Alberto91e6cc7bf314d961d42cc8d8c3c5d812-1Ingeniero MecánicoUniversidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí2013-01-22T15:56:44Z2013-01-22T15:56:44Z2013-01-22http://hdl.handle.net/10614/4209Este trabajo hace una revisión de la técnica de optimización topológica (OT) aplicada al diseño de estructuras de peso reducido. El problema consiste en encontrar la topología que tenga la mayor rigidez con una restricción en el volumen final del material, partiendo de un dominio bidimensional rectangular con las restricciones y cargas correspondientes. El trabajo se divide en tres partes generales: revisión del estado del arte, implementación de un código en Matlab y reproducción de los resultados reportados en la literatura, y aplicación de la técnica al diseño de una pieza mecánica de peso reducido. El trabajo comienza con el estudio de la formulación del elemento Q4 (elemento plano de 4 nodos y 2 grados de libertad por nodo con interpolación lineal) para el problema elástico, y su implementación numérica. El siguiente paso es el estudio del planteamiento del problema de optimización y su solución por medio de PLS (Programación Lineal Secuencial). PLS es un método que soluciona un problema de optimización no lineal convirtiéndolo en una serie de problemas lineales. La linealización del problema se hace por medio de la serie de Taylor y cada problema lineal se soluciona usando programación lineal, con algoritmos bien conocidos como el Simplex o el KarmarkarProyecto de Grado (Ingeniero Mecánico)-- Universidad Autónoma de Occidente, 2012PregradoIngeniero(a) Mecánico(a)application/pdfspaUniversidad Autónoma de OccidenteIngeniería MecánicaDepartamento de Energética y MecánicaFacultad de IngenieríaEL AUTOR autoriza a la Universidad Autónoma de Occidente, de forma indefinida, para que en los términos establecidos en la Ley 23 de 1982, la Ley 44 de 1993, la Decisión andina 351 de 1993, el Decreto 460 de 1995 y demás leyes y jurisprudencia vigente al respecto, haga publicación de este con fines educativos. PARÁGRAFO: Esta autorización además de ser válida para las facultades y derechos de uso sobre la obra en formato o soporte material, también para formato digital, electrónico, virtual, para usos en red, Internet, extranet, intranet, biblioteca digital y demás para cualquier formato conocido o por conocer. EL AUTOR, expresa que el documento (trabajo de grado, pasantía, casos o tesis) objeto de la presente autorización es original y la elaboró sin quebrantar ni suplantar los derechos de autor de terceros, y de tal forma, el documento (trabajo de grado, pasantía, casos o tesis) es de su exclusiva autoría y tiene la titularidad sobre éste. PARÁGRADO: en caso de presentarse alguna reclamación o acción por parte de un tercero, referente a los derechos de autor sobre el documento (Trabajo de grado, Pasantía, casos o tesis) en cuestión, EL AUTOR, asumirá la responsabilidad total, y saldrá en defensa de los derechos aquí autorizados; para todos los efectos, la Universidad Autónoma de Occidente actúa como un tercero de buena fe. Toda persona que consulte ya sea en la biblioteca o en medio electrónico podrá copiar apartes del texto citando siempre la fuente, es decir el título del trabajo y el autor. Esta autorización no implica renuncia a la facultad que tengo de publicar total o parcialmente la obra.https://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)http://purl.org/coar/access_right/c_abf2instname:Universidad Autónoma de Occidentereponame:Repositorio Institucional UAOIngeniería MecánicaMétodo de elementos finitosTopologíaOptimización estructuralFinite element methodTopologyStructural optimizationOptimización topológica en el diseño de elementos estructurales mecánicosTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Publicationhttps://scholar.google.com/citations?user=4paPIoAAAAAJ&hl=esvirtual::1816-10000-0001-7518-704Xvirtual::1816-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0001243730virtual::1816-1ff78380a-274b-4973-8760-dee857b38a0dvirtual::1816-1ff78380a-274b-4973-8760-dee857b38a0dvirtual::1816-1THUMBNAILTME01179.pdf.jpgTME01179.pdf.jpgGenerated Thumbnailimage/jpeg5227https://red.uao.edu.co/bitstreams/4f6a2504-85be-4016-9b22-dc8db8ee4093/downloaddbe546acfe7ad7de4b0cda6a2d3b8bb5MD54ORIGINALTME01179.pdfTME01179.pdfapplication/pdf3824501https://red.uao.edu.co/bitstreams/9400f0a6-12d7-4576-95ad-c8bfaeda0c8e/download681d790601b8a9bb443804717ec65e6fMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-816237https://red.uao.edu.co/bitstreams/eb7e2fee-7186-4853-afdf-c189f433e5a2/downloade2dd342f2c351b678ff0101de2d0e3d8MD52TEXTTME01179.pdf.txtTME01179.pdf.txtExtracted texttext/plain102476https://red.uao.edu.co/bitstreams/504642d1-59fa-41f5-a3fc-f07869f0dc5b/downloadef91aa615628668d5864e88126220798MD5310614/4209oai:red.uao.edu.co:10614/42092024-03-05 10:57:51.089https://creativecommons.org/licenses/by-nc/4.0/EL AUTOR autoriza a la Universidad Autónoma de Occidente, de forma indefinida, para que en los términos establecidos en la Ley 23 de 1982, la Ley 44 de 1993, la Decisión andina 351 de 1993, el Decreto 460 de 1995 y demás leyes y jurisprudencia vigente al respecto, haga publicación de este con fines educativos. PARÁGRAFO: Esta autorización además de ser válida para las facultades y derechos de uso sobre la obra en formato o soporte material, también para formato digital, electrónico, virtual, para usos en red, Internet, extranet, intranet, biblioteca digital y demás para cualquier formato conocido o por conocer. EL AUTOR, expresa que el documento (trabajo de grado, pasantía, casos o tesis) objeto de la presente autorización es original y la elaboró sin quebrantar ni suplantar los derechos de autor de terceros, y de tal forma, el documento (trabajo de grado, pasantía, casos o tesis) es de su exclusiva autoría y tiene la titularidad sobre éste. PARÁGRADO: en caso de presentarse alguna reclamación o acción por parte de un tercero, referente a los derechos de autor sobre el documento (Trabajo de grado, Pasantía, casos o tesis) en cuestión, EL AUTOR, asumirá la responsabilidad total, y saldrá en defensa de los derechos aquí autorizados; para todos los efectos, la Universidad Autónoma de Occidente actúa como un tercero de buena fe. Toda persona que consulte ya sea en la biblioteca o en medio electrónico podrá copiar apartes del texto citando siempre la fuente, es decir el título del trabajo y el autor. Esta autorización no implica renuncia a la facultad que tengo de publicar total o parcialmente la obra.open.accesshttps://red.uao.edu.coRepositorio Digital Universidad Autonoma de Occidenterepositorio@uao.edu.coPGh0bWw+CjxoZWFkPgo8dGl0bGU+Q3JlYXRpdmUgQ29tbW9ucyBDb2xvbWJpYTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgPgoKPGRpdiBpZD0iZGVlZCI+Cjxici8+Cgo8dGQgYWxpZ249Imp1c3RpZnkiPgo8cD48c3Ryb25nPlBhcmEgdGVuZXIgbcOhcyBpbmZvcm1hY2nDs24gdmlzaXRlOjwvc3Ryb25nPjwvcD4KPHA+Q3JlYXRpdmUgQ29tbW9ucyBDb2xvbWJpYSAKPGEgaHJlZj0iaHR0cDovL2NvLmNyZWF0aXZlY29tbW9ucy5vcmcvIiBUQVJHRVQ9Il9uZXciPmh0dHA6Ly9jby5jcmVhdGl2ZWNvbW1vbnMub3JnLwo8L2E+PC9wPgo8cD5DcmVhdGl2ZSBDb21tb25zCjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnLyIgVEFSR0VUPSJfbmV3Ij5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy88L2E+CjwvcD48YnI+Cgo8ZGl2IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6MjQyMHB4O2JvcmRlcjoycHggZG91YmxlICMxOTU4OTc7Ij4KCjxwIGFsaWduPSJjZW50ZXIiPjxzdHJvbmc+TGljZW5jaWEgPC9zdHJvbmc+PC9wPgoKICA8cD48Zm9udCBzaXplPSIxIj5MQSBPQlJBIChUQUwgWSBDT01PIFNFIERFRklORSBNw4FTIEFERUxBTlRFKSBTRSBPVE9SR0EgQkFKTyBMT1MgVEVSTUlOT1MgREUgRVNUQSBMSUNFTkNJQSBQw5pCTElDQSBERSBDUkVBVElWRSBDT01NT05TICjigJxMUEND4oCdIE8g4oCcTElDRU5DSUHigJ0pLiBMQSBPQlJBIEVTVMOBIFBST1RFR0lEQSBQT1IgREVSRUNIT1MgREUgQVVUT1IgWS9VIE9UUkFTIExFWUVTIEFQTElDQUJMRVMuIFFVRURBIFBST0hJQklETyBDVUFMUVVJRVIgVVNPIFFVRSBTRSBIQUdBIERFIExBIE9CUkEgUVVFIE5PIENVRU5URSBDT04gTEEgQVVUT1JJWkFDScOTTiBQRVJUSU5FTlRFIERFIENPTkZPUk1JREFEIENPTiBMT1MgVMOJUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgWSBERSBMQSBMRVkgREUgREVSRUNITyBERSBBVVRPUi48L3A+CgogIDxwPk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4gPC9mb250PjwvcD4KCiAgPHA+PHN0cm9uZz4xLiBEZWZpbmljaW9uZXMgPC9zdHJvbmc+PC9wPgoKICA8b2wgdHlwZT0nYSc+CgogICAgPGxpPjxzdHJvbmc+T2JyYSBDb2xlY3RpdmEgPC9zdHJvbmc+IGVzIHVuYSBvYnJhLCB0YWwgY29tbyB1bmEgcHVibGljYWNpw7NuIHBlcmnDs2RpY2EsIHVuYSBhbnRvbG9nw61hLCBvIHVuYSBlbmNpY2xvcGVkaWEsIGVuIGxhIHF1ZSBsYSBvYnJhIGVuIHN1IHRvdGFsaWRhZCwgc2luIG1vZGlmaWNhY2nDs24gYWxndW5hLCBqdW50byBjb24gdW4gZ3J1cG8gZGUgb3RyYXMgY29udHJpYnVjaW9uZXMgcXVlIGNvbnN0aXR1eWVuIG9icmFzIHNlcGFyYWRhcyBlIGluZGVwZW5kaWVudGVzIGVuIHPDrSBtaXNtYXMsIHNlIGludGVncmFuIGVuIHVuIHRvZG8gY29sZWN0aXZvLiBVbmEgT2JyYSBxdWUgY29uc3RpdHV5ZSB1bmEgb2JyYSBjb2xlY3RpdmEgbm8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIChjb21vIHNlIGRlZmluZSBhYmFqbykgcGFyYSBsb3MgcHJvcMOzc2l0b3MgZGUgZXN0YSBsaWNlbmNpYS4gYXF1ZWxsYSBwcm9kdWNpZGEgcG9yIHVuIGdydXBvIGRlIGF1dG9yZXMsIGVuIHF1ZSBsYSBPYnJhIHNlIGVuY3VlbnRyYSBzaW4gbW9kaWZpY2FjaW9uZXMsIGp1bnRvIGNvbiB1bmEgY2llcnRhIGNhbnRpZGFkIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzLCBxdWUgY29uc3RpdHV5ZW4gZW4gc8OtIG1pc21vcyB0cmFiYWpvcyBzZXBhcmFkb3MgZSBpbmRlcGVuZGllbnRlcywgcXVlIHNvbiBpbnRlZ3JhZG9zIGFsIHRvZG8gY29sZWN0aXZvLCB0YWxlcyBjb21vIHB1YmxpY2FjaW9uZXMgcGVyacOzZGljYXMsIGFudG9sb2fDrWFzIG8gZW5jaWNsb3BlZGlhcy4gPC9saT4KCiAgPGxpPjxzdHJvbmc+T2JyYSBEZXJpdmFkYSA8L3N0cm9uZz4gc2lnbmlmaWNhIHVuYSBvYnJhIGJhc2FkYSBlbiBsYSBvYnJhIG9iamV0byBkZSBlc3RhIGxpY2VuY2lhIG8gZW4gw6lzdGEgeSBvdHJhcyBvYnJhcyBwcmVleGlzdGVudGVzLCB0YWxlcyBjb21vIHRyYWR1Y2Npb25lcywgYXJyZWdsb3MgbXVzaWNhbGVzLCBkcmFtYXRpemFjaW9uZXMsIOKAnGZpY2Npb25hbGl6YWNpb25lc+KAnSwgdmVyc2lvbmVzIHBhcmEgY2luZSwg4oCcZ3JhYmFjaW9uZXMgZGUgc29uaWRv4oCdLCByZXByb2R1Y2Npb25lcyBkZSBhcnRlLCByZXPDum1lbmVzLCBjb25kZW5zYWNpb25lcywgbyBjdWFscXVpZXIgb3RyYSBlbiBsYSBxdWUgbGEgb2JyYSBwdWVkYSBzZXIgdHJhbnNmb3JtYWRhLCBjYW1iaWFkYSBvIGFkYXB0YWRhLCBleGNlcHRvIGFxdWVsbGFzIHF1ZSBjb25zdGl0dXlhbiB1bmEgb2JyYSBjb2xlY3RpdmEsIGxhcyBxdWUgbm8gc2Vyw6FuIGNvbnNpZGVyYWRhcyB1bmEgb2JyYSBkZXJpdmFkYSBwYXJhIGVmZWN0b3MgZGUgZXN0YSBsaWNlbmNpYS4gKFBhcmEgZXZpdGFyIGR1ZGFzLCBlbiBlbCBjYXNvIGRlIHF1ZSBsYSBPYnJhIHNlYSB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWwgbyB1bmEgZ3JhYmFjacOzbiBzb25vcmEsIHBhcmEgbG9zIGVmZWN0b3MgZGUgZXN0YSBMaWNlbmNpYSBsYSBzaW5jcm9uaXphY2nDs24gdGVtcG9yYWwgZGUgbGEgT2JyYSBjb24gdW5hIGltYWdlbiBlbiBtb3ZpbWllbnRvIHNlIGNvbnNpZGVyYXLDoSB1bmEgT2JyYSBEZXJpdmFkYSBwYXJhIGxvcyBmaW5lcyBkZSBlc3RhIGxpY2VuY2lhKS4gPC9saT4KCiAgPGxpPjxzdHJvbmc+TGljZW5jaWFudGUsIDwvc3Ryb25nPiBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHRpdHVsYXIgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHF1ZSBvZnJlY2UgbGEgT2JyYSBlbiBjb25mb3JtaWRhZCBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIDwvbGk+CgogIDxsaT48c3Ryb25nPkF1dG9yIG9yaWdpbmFsLCA8L3N0cm9uZz5lcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuIDwvbGk+CgogIDxsaT48c3Ryb25nPk9icmE8L3N0cm9uZz4sIGVzIGFxdWVsbGEgb2JyYSBzdXNjZXB0aWJsZSBkZSBwcm90ZWNjacOzbiBwb3IgZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciB5IHF1ZSBlcyBvZnJlY2lkYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEgPC9saT4KCiAgPGxpPjxzdHJvbmc+VXN0ZWQ8L3N0cm9uZz4sIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgcXVlIGVqZXJjaXRhIGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgeSBxdWUgY29uIGFudGVyaW9yaWRhZCBubyBoYSB2aW9sYWRvIGxhcyBjb25kaWNpb25lcyBkZSBsYSBtaXNtYSByZXNwZWN0byBhIGxhIE9icmEsIG8gcXVlIGhheWEgb2J0ZW5pZG8gYXV0b3JpemFjacOzbiBleHByZXNhIHBvciBwYXJ0ZSBkZWwgTGljZW5jaWFudGUgcGFyYSBlamVyY2VyIGxvcyBkZXJlY2hvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSBwZXNlIGEgdW5hIHZpb2xhY2nDs24gYW50ZXJpb3IuIDwvbGk+CgogIDwvb2w+CgogIDxwPjxzdHJvbmc+Mi4gRGVyZWNob3MgZGUgVXNvcyBIb25yYWRvcyB5IGV4Y2VwY2lvbmVzIExlZ2FsZXMuIDwvc3Ryb25nPjwvcD4KCiAgPHA+TmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuIDwvcD4KCiAgPHA+PHN0cm9uZz4zLiBDb25jZXNpw7NuIGRlIGxhIExpY2VuY2lhLiA8L3N0cm9uZz48L3A+CgogIDxwPkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246IDwvcD4KCiAgPG9sIHR5cGU9J2EnPgoKICAgIDxsaT4gUmVwcm9kdWNpciBsYSBPYnJhLCBpbmNvcnBvcmFyIGxhIE9icmEgZW4gdW5hIG8gbcOhcyBPYnJhcyBDb2xlY3RpdmFzLCB5IHJlcHJvZHVjaXIgbGEgT2JyYSBpbmNvcnBvcmFkYSBlbiBsYXMgT2JyYXMgQ29sZWN0aXZhczsgPC9saT4KCiAgPGxpPiBEaXN0cmlidWlyIGNvcGlhcyBvIGZvbm9ncmFtYXMgZGUgbGFzIE9icmFzLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLCBpbmNsdXnDqW5kb2xhcyBjb21vIGluY29ycG9yYWRhcyBlbiBPYnJhcyBDb2xlY3RpdmFzLCBzZWfDum4gY29ycmVzcG9uZGE7IDwvbGk+CgogIDxsaT4gRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gPC9saT4KCiAgPC9vbD4KCiAgPHA+TG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuVG9kb3MgbG9zIGRlcmVjaG9zIG5vIG90b3JnYWRvcyBleHByZXNhbWVudGUgcG9yIGVsIExpY2VuY2lhbnRlIHF1ZWRhbiBwb3IgZXN0ZSBtZWRpbyByZXNlcnZhZG9zLCBpbmNsdXllbmRvIHBlcm8gc2luIGxpbWl0YXJzZSBhIGFxdWVsbG9zIHF1ZSBzZSBtZW5jaW9uYW4gZW4gbGFzIHNlY2Npb25lcyA0KGQpIHkgNChlKS4gPC9wPgoKICA8cD48c3Ryb25nPjQuIFJlc3RyaWNjaW9uZXMuIDwvc3Ryb25nPjwvcD4KCiAgPHA+TGEgbGljZW5jaWEgb3RvcmdhZGEgZW4gbGEgYW50ZXJpb3IgU2VjY2nDs24gMyBlc3TDoSBleHByZXNhbWVudGUgc3VqZXRhIHkgbGltaXRhZGEgcG9yIGxhcyBzaWd1aWVudGVzIHJlc3RyaWNjaW9uZXM6IDwvcD4KCiAgPG9sIHR5cGU9J2EnPgoKICAgIDxsaT4gVXN0ZWQgcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgc8OzbG8gYmFqbyBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgeSBVc3RlZCBkZWJlIGluY2x1aXIgdW5hIGNvcGlhIGRlIGVzdGEgbGljZW5jaWEgbyBkZWwgSWRlbnRpZmljYWRvciBVbml2ZXJzYWwgZGUgUmVjdXJzb3MgZGUgbGEgbWlzbWEgY29uIGNhZGEgY29waWEgZGUgbGEgT2JyYSBxdWUgZGlzdHJpYnV5YSwgZXhoaWJhIHDDumJsaWNhbWVudGUsIGVqZWN1dGUgcMO6YmxpY2FtZW50ZSBvIHBvbmdhIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBObyBlcyBwb3NpYmxlIG9mcmVjZXIgbyBpbXBvbmVyIG5pbmd1bmEgY29uZGljacOzbiBzb2JyZSBsYSBPYnJhIHF1ZSBhbHRlcmUgbyBsaW1pdGUgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgbyBlbCBlamVyY2ljaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGxvcyBkZXN0aW5hdGFyaW9zIG90b3JnYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gTm8gZXMgcG9zaWJsZSBzdWJsaWNlbmNpYXIgbGEgT2JyYS4gVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RvcyB0b2RvcyBsb3MgYXZpc29zIHF1ZSBoYWdhbiByZWZlcmVuY2lhIGEgZXN0YSBMaWNlbmNpYSB5IGEgbGEgY2zDoXVzdWxhIGRlIGxpbWl0YWNpw7NuIGRlIGdhcmFudMOtYXMuIFVzdGVkIG5vIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIGNvbiBhbGd1bmEgbWVkaWRhIHRlY25vbMOzZ2ljYSBxdWUgY29udHJvbGUgZWwgYWNjZXNvIG8gbGEgdXRpbGl6YWNpw7NuIGRlIGVsbGEgZGUgdW5hIGZvcm1hIHF1ZSBzZWEgaW5jb25zaXN0ZW50ZSBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIExvIGFudGVyaW9yIHNlIGFwbGljYSBhIGxhIE9icmEgaW5jb3Jwb3JhZGEgYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHBlcm8gZXN0byBubyBleGlnZSBxdWUgbGEgT2JyYSBDb2xlY3RpdmEgYXBhcnRlIGRlIGxhIG9icmEgbWlzbWEgcXVlZGUgc3VqZXRhIGEgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIFNpIFVzdGVkIGNyZWEgdW5hIE9icmEgQ29sZWN0aXZhLCBwcmV2aW8gYXZpc28gZGUgY3VhbHF1aWVyIExpY2VuY2lhbnRlIGRlYmUsIGVuIGxhIG1lZGlkYSBkZSBsbyBwb3NpYmxlLCBlbGltaW5hciBkZSBsYSBPYnJhIENvbGVjdGl2YSBjdWFscXVpZXIgcmVmZXJlbmNpYSBhIGRpY2hvIExpY2VuY2lhbnRlIG8gYWwgQXV0b3IgT3JpZ2luYWwsIHNlZ8O6biBsbyBzb2xpY2l0YWRvIHBvciBlbCBMaWNlbmNpYW50ZSB5IGNvbmZvcm1lIGxvIGV4aWdlIGxhIGNsw6F1c3VsYSA0KGMpLiA8L2xpPgoKICA8bGk+IFVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4gPC9saT4KCiAgPGxpPiBTaSB1c3RlZCBkaXN0cmlidXllLCBleGhpYmUgcMO6YmxpY2FtZW50ZSwgZWplY3V0YSBww7pibGljYW1lbnRlIG8gZWplY3V0YSBww7pibGljYW1lbnRlIGVuIGZvcm1hIGRpZ2l0YWwgbGEgT2JyYSBvIGN1YWxxdWllciBPYnJhIERlcml2YWRhIHUgT2JyYSBDb2xlY3RpdmEsIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0YSB0b2RhIGxhIGluZm9ybWFjacOzbiBkZSBkZXJlY2hvIGRlIGF1dG9yIGRlIGxhIE9icmEgeSBwcm9wb3JjaW9uYXIsIGRlIGZvcm1hIHJhem9uYWJsZSBzZWfDum4gZWwgbWVkaW8gbyBtYW5lcmEgcXVlIFVzdGVkIGVzdMOpIHV0aWxpemFuZG86IChpKSBlbCBub21icmUgZGVsIEF1dG9yIE9yaWdpbmFsIHNpIGVzdMOhIHByb3Zpc3RvIChvIHNldWTDs25pbW8sIHNpIGZ1ZXJlIGFwbGljYWJsZSksIHkvbyAoaWkpIGVsIG5vbWJyZSBkZSBsYSBwYXJ0ZSBvIGxhcyBwYXJ0ZXMgcXVlIGVsIEF1dG9yIE9yaWdpbmFsIHkvbyBlbCBMaWNlbmNpYW50ZSBodWJpZXJlbiBkZXNpZ25hZG8gcGFyYSBsYSBhdHJpYnVjacOzbiAodi5nLiwgdW4gaW5zdGl0dXRvIHBhdHJvY2luYWRvciwgZWRpdG9yaWFsLCBwdWJsaWNhY2nDs24pIGVuIGxhIGluZm9ybWFjacOzbiBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGVsIExpY2VuY2lhbnRlLCB0w6lybWlub3MgZGUgc2VydmljaW9zIG8gZGUgb3RyYXMgZm9ybWFzIHJhem9uYWJsZXM7IGVsIHTDrXR1bG8gZGUgbGEgT2JyYSBzaSBlc3TDoSBwcm92aXN0bzsgZW4gbGEgbWVkaWRhIGRlIGxvIHJhem9uYWJsZW1lbnRlIGZhY3RpYmxlIHksIHNpIGVzdMOhIHByb3Zpc3RvLCBlbCBJZGVudGlmaWNhZG9yIFVuaWZvcm1lIGRlIFJlY3Vyc29zIChVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXIpIHF1ZSBlbCBMaWNlbmNpYW50ZSBlc3BlY2lmaWNhIHBhcmEgc2VyIGFzb2NpYWRvIGNvbiBsYSBPYnJhLCBzYWx2byBxdWUgdGFsIFVSSSBubyBzZSByZWZpZXJhIGEgbGEgbm90YSBzb2JyZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgbyBhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBlbCBsaWNlbmNpYW1pZW50byBkZSBsYSBPYnJhOyB5IGVuIGVsIGNhc28gZGUgdW5hIE9icmEgRGVyaXZhZGEsIGF0cmlidWlyIGVsIGNyw6lkaXRvIGlkZW50aWZpY2FuZG8gZWwgdXNvIGRlIGxhIE9icmEgZW4gbGEgT2JyYSBEZXJpdmFkYSAodi5nLiwgIlRyYWR1Y2Npw7NuIEZyYW5jZXNhIGRlIGxhIE9icmEgZGVsIEF1dG9yIE9yaWdpbmFsLCIgbyAiR3Vpw7NuIENpbmVtYXRvZ3LDoWZpY28gYmFzYWRvIGVuIGxhIE9icmEgb3JpZ2luYWwgZGVsIEF1dG9yIE9yaWdpbmFsIikuIFRhbCBjcsOpZGl0byBwdWVkZSBzZXIgaW1wbGVtZW50YWRvIGRlIGN1YWxxdWllciBmb3JtYSByYXpvbmFibGU7IGVuIGVsIGNhc28sIHNpbiBlbWJhcmdvLCBkZSBPYnJhcyBEZXJpdmFkYXMgdSBPYnJhcyBDb2xlY3RpdmFzLCB0YWwgY3LDqWRpdG8gYXBhcmVjZXLDoSwgY29tbyBtw61uaW1vLCBkb25kZSBhcGFyZWNlIGVsIGNyw6lkaXRvIGRlIGN1YWxxdWllciBvdHJvIGF1dG9yIGNvbXBhcmFibGUgeSBkZSB1bmEgbWFuZXJhLCBhbCBtZW5vcywgdGFuIGRlc3RhY2FkYSBjb21vIGVsIGNyw6lkaXRvIGRlIG90cm8gYXV0b3IgY29tcGFyYWJsZS4gPC9saT4KCiAgPGxpPiBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIGVzIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbDoKCiAgICA8b2wgdHlwZT0naSc+CgogICAgICA8bGk+IFJlZ2Fsw61hcyBwb3IgaW50ZXJwcmV0YWNpw7NuIHkgZWplY3VjacOzbiBiYWpvIGxpY2VuY2lhcyBnZW5lcmFsZXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSB5IGRlIHJlY29sZWN0YXIsIHNlYSBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBTQVlDTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvIFdlYmNhc3QpIGxpY2VuY2lhZGEgYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLCBzaSBsYSBpbnRlcnByZXRhY2nDs24gbyBlamVjdWNpw7NuIGRlIGxhIG9icmEgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIG9yaWVudGFkYSBwb3IgbyBkaXJpZ2lkYSBhIGxhIG9idGVuY2nDs24gZGUgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuIDwvbGk+CgogICAgPGxpPiBSZWdhbMOtYXMgcG9yIEZvbm9ncmFtYXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4gPC9saT4KCiAgICA8L29sPjwvbGk+CgogIDxsaT4gR2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFjaW5wcm8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiA8L2xpPgoKICAgIAoKICA8L29sPgoKICA8cD48c3Ryb25nPjUuIFJlcHJlc2VudGFjaW9uZXMsIEdhcmFudMOtYXMgeSBMaW1pdGFjaW9uZXMgZGUgUmVzcG9uc2FiaWxpZGFkLiA8L3N0cm9uZz48L3A+CgogIDxwPjxmb250IHNpemU9IjEiPkEgTUVOT1MgUVVFIExBUyBQQVJURVMgTE8gQUNPUkRBUkFOIERFIE9UUkEgRk9STUEgUE9SIEVTQ1JJVE8sIEVMIExJQ0VOQ0lBTlRFIE9GUkVDRSBMQSBPQlJBIChFTiBFTCBFU1RBRE8gRU4gRUwgUVVFIFNFIEVOQ1VFTlRSQSkg4oCcVEFMIENVQUzigJ0sIFNJTiBCUklOREFSIEdBUkFOVMONQVMgREUgQ0xBU0UgQUxHVU5BIFJFU1BFQ1RPIERFIExBIE9CUkEsIFlBIFNFQSBFWFBSRVNBLCBJTVBMw41DSVRBLCBMRUdBTCBPIENVQUxRVUlFUkEgT1RSQSwgSU5DTFVZRU5ETywgU0lOIExJTUlUQVJTRSBBIEVMTEFTLCBHQVJBTlTDjUFTIERFIFRJVFVMQVJJREFELCBDT01FUkNJQUJJTElEQUQsIEFEQVBUQUJJTElEQUQgTyBBREVDVUFDScOTTiBBIFBST1DDk1NJVE8gREVURVJNSU5BRE8sIEFVU0VOQ0lBIERFIElORlJBQ0NJw5NOLCBERSBBVVNFTkNJQSBERSBERUZFQ1RPUyBMQVRFTlRFUyBPIERFIE9UUk8gVElQTywgTyBMQSBQUkVTRU5DSUEgTyBBVVNFTkNJQSBERSBFUlJPUkVTLCBTRUFOIE8gTk8gREVTQ1VCUklCTEVTIChQVUVEQU4gTyBOTyBTRVIgRVNUT1MgREVTQ1VCSUVSVE9TKS4gQUxHVU5BUyBKVVJJU0RJQ0NJT05FUyBOTyBQRVJNSVRFTiBMQSBFWENMVVNJw5NOIERFIEdBUkFOVMONQVMgSU1QTMONQ0lUQVMsIEVOIENVWU8gQ0FTTyBFU1RBIEVYQ0xVU0nDk04gUFVFREUgTk8gQVBMSUNBUlNFIEEgVVNURUQuIDwvcD4KCiAgPHA+PHN0cm9uZz42LiBMaW1pdGFjacOzbiBkZSByZXNwb25zYWJpbGlkYWQuIDwvc3Ryb25nPjwvcD4KCiAgPHA+QSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4gPC9mb250PjwvcD4KCiAgPHA+PHN0cm9uZz43LiBUw6lybWlubzwvc3Ryb25nPi4gPHN0cm9uZz48L3N0cm9uZz48L3A+CgogIDxvbCB0eXBlPSdhJz4KCiAgICA8bGk+RXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuIDwvbGk+CgogICAgPGxpPlN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLiA8L2xpPgoKICA8L29sPgoKICA8cD48c3Ryb25nPjguIFZhcmlvcy4gPC9zdHJvbmc+PC9wPgoKICA8b2wgdHlwZT0nYSc+CgogICAgPGxpPkNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuIDwvbGk+CgogIDxsaT5TaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyA8c3Ryb25nPjwvc3Ryb25nPnBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLiA8L2xpPgoKICA8bGk+TmluZ8O6biB0w6lybWlubyBvIGRpc3Bvc2ljacOzbiBkZSBlc3RhIExpY2VuY2lhIHNlIGVzdGltYXLDoSByZW51bmNpYWRhIHkgbmluZ3VuYSB2aW9sYWNpw7NuIGRlIGVsbGEgc2Vyw6EgY29uc2VudGlkYSBhIG1lbm9zIHF1ZSBlc2EgcmVudW5jaWEgbyBjb25zZW50aW1pZW50byBzZWEgb3RvcmdhZG8gcG9yIGVzY3JpdG8geSBmaXJtYWRvIHBvciBsYSBwYXJ0ZSBxdWUgcmVudW5jaWUgbyBjb25zaWVudGEuIDwvbGk+CgogIDxsaT5Fc3RhIExpY2VuY2lhIHJlZmxlamEgZWwgYWN1ZXJkbyBwbGVubyBlbnRyZSBsYXMgcGFydGVzIHJlc3BlY3RvIGEgbGEgT2JyYSBhcXXDrSBsaWNlbmNpYWRhLiBObyBoYXkgYXJyZWdsb3MsIGFjdWVyZG9zIG8gZGVjbGFyYWNpb25lcyByZXNwZWN0byBhIGxhIE9icmEgcXVlIG5vIGVzdMOpbiBlc3BlY2lmaWNhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBFbCBMaWNlbmNpYW50ZSBubyBzZSB2ZXLDoSBsaW1pdGFkbyBwb3IgbmluZ3VuYSBkaXNwb3NpY2nDs24gYWRpY2lvbmFsIHF1ZSBwdWVkYSBzdXJnaXIgZW4gYWxndW5hIGNvbXVuaWNhY2nDs24gZW1hbmFkYSBkZSBVc3RlZC4gRXN0YSBMaWNlbmNpYSBubyBwdWVkZSBzZXIgbW9kaWZpY2FkYSBzaW4gZWwgY29uc2VudGltaWVudG8gbXV0dW8gcG9yIGVzY3JpdG8gZGVsIExpY2VuY2lhbnRlIHkgVXN0ZWQuIDwvbGk+CgogIDwvb2w+Cgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==