Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.

112hojas

Autores:
Cárdenas Gelves, Maximiliano
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad de los Llanos
Repositorio:
Repositorio Digital Universidad de los LLanos
Idioma:
spa
OAI Identifier:
oai:repositorio.unillanos.edu.co:001/1489
Acceso en línea:
https://repositorio.unillanos.edu.co/handle/001/1489
Palabra clave:
PLATAFORMAS WEB
INTERFACE
Rights
openAccess
License
Universidad de los Llanos, 2020
id Unillanos2_3d503c5f5f045929f0d9cd253cdf6537
oai_identifier_str oai:repositorio.unillanos.edu.co:001/1489
network_acronym_str Unillanos2
network_name_str Repositorio Digital Universidad de los LLanos
repository_id_str
dc.title.spa.fl_str_mv Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
title Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
spellingShingle Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
PLATAFORMAS WEB
INTERFACE
title_short Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
title_full Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
title_fullStr Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
title_full_unstemmed Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
title_sort Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.
dc.creator.fl_str_mv Cárdenas Gelves, Maximiliano
dc.contributor.advisor.spa.fl_str_mv M.Sc. Calderón Moreno, Roger
dc.contributor.author.spa.fl_str_mv Cárdenas Gelves, Maximiliano
dc.subject.proposal.spa.fl_str_mv PLATAFORMAS WEB
INTERFACE
topic PLATAFORMAS WEB
INTERFACE
description 112hojas
publishDate 2019
dc.date.accessioned.spa.fl_str_mv 2019-11-13T21:42:37Z
dc.date.available.spa.fl_str_mv 2019-11-13T21:42:37Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
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.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
status_str publishedVersion
dc.identifier.uri.spa.fl_str_mv https://repositorio.unillanos.edu.co/handle/001/1489
url https://repositorio.unillanos.edu.co/handle/001/1489
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.spa.fl_str_mv Universidad de los Llanos, 2020
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)
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Universidad de los Llanos, 2020
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.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Villavicencio: Universidad de los Llanos, 2019
institution Universidad de los Llanos
bitstream.url.fl_str_mv https://dspace7-unillanos.metacatalogo.org/bitstreams/63ff670d-a949-4fa5-8d8c-bd02a2a4ed59/download
https://dspace7-unillanos.metacatalogo.org/bitstreams/87c95093-94ac-40ab-b359-8aa067f9be06/download
https://dspace7-unillanos.metacatalogo.org/bitstreams/cb039ce1-978c-4d79-8be0-bf12cf3d6990/download
https://dspace7-unillanos.metacatalogo.org/bitstreams/87a1eb2d-079a-49fe-8cf2-785fc1921bc0/download
https://dspace7-unillanos.metacatalogo.org/bitstreams/54f1e861-41c2-48d4-a418-253c2b819f9b/download
bitstream.checksum.fl_str_mv 6c013ffdb511e54b4b61bf5e07867fe0
827bf01e5f1684ba4c23aa6d6e2cac6a
f661acf14bedbf9f5d13897a0387e751
d5bcb6282d6c20ffb772aa945559999b
27873bd4e4bbbef49ebb9309c593bf27
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad de Los Llanos
repository.mail.fl_str_mv repositorio@unillanos.edu.co
_version_ 1812104613986304000
spelling M.Sc. Calderón Moreno, Roger6d89535f027a8fcfda22745ba5e8bb75-1Cárdenas Gelves, Maximiliano8024ae8a574a1e119afa473cdb14853d-12019-11-13T21:42:37Z2019-11-13T21:42:37Zhttps://repositorio.unillanos.edu.co/handle/001/1489112hojasEl informe que se presenta a continuación tiene como fin contextualizar sobre los aspectos más importantes que se llevaron a cabo en la elaboración y puesta en marcha del MÓDULO WEB PARA CONTROLAR EL INGRESO DE USUARIOS Y GESTIÓN DE PAGOS ONLINE DENTRO DE LA PLATAFORMA BYE BYE 404, modalidad pasantía realizada en la empresa Mobile Corp. S.A.S. El lector podrá tener una visión panorámica del trabajo realizado en el desarrollo de este módulo web, el cual tiene como fin el control de acceso de usuarios y el control de datos de los mismos, además, la opción de adquirir por medio de pagos electrónicos membresías Premium para obtener mayor beneficio de la plataforma. Este módulo fue desarrollado usando: el Framework Django, HTML5, JavaScript y CSS. Todo el proyecto (BYE BYE 404) funciona sobre Amazon web services del cual se usa: Elastic beanstalk, Amazon RDS, Route 53, Amazon SES y Amazon EC2. Los módulos han sido desplegados en la aplicación web BYE BYE 404. BYE BYE 404 es una aplicación que detecta enlaces rotos, supervisa sitios web e informa los enlaces rotos encontrados. Además sugiere una posible solución para el enlace detectado.MÓDULOS WEB, PAGOS ONLINE, PLATAFORMA WEB PARA EMPRESASTesis (Ingenieria de sistemas). Universidad de los Llanos. Facultad de Ciencias Basicas e Ingenieria. Ingenieria de Sistemas., 2017.PregradoIngeniería de Sistemasapplication/pdfspaVillavicencio: Universidad de los Llanos, 2019Universidad de los Llanos, 2020https://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_abf2Implementación y Despliegue de un Módulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos Online Dentro de la Plataforma BYE BYE 404.Trabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_970fb48d4fbd8a85PLATAFORMAS WEBINTERFACEPublicationORIGINALDerechos de Autor Maximiliano Cardenas Galves.pdfDerechos de Autor Maximiliano Cardenas Galves.pdfapplication/pdf167610https://dspace7-unillanos.metacatalogo.org/bitstreams/63ff670d-a949-4fa5-8d8c-bd02a2a4ed59/download6c013ffdb511e54b4b61bf5e07867fe0MD51Implementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdfImplementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdfapplication/pdf3096710https://dspace7-unillanos.metacatalogo.org/bitstreams/87c95093-94ac-40ab-b359-8aa067f9be06/download827bf01e5f1684ba4c23aa6d6e2cac6aMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-814775https://dspace7-unillanos.metacatalogo.org/bitstreams/cb039ce1-978c-4d79-8be0-bf12cf3d6990/downloadf661acf14bedbf9f5d13897a0387e751MD53TEXTImplementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdf.txtImplementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdf.txtExtracted texttext/plain59106https://dspace7-unillanos.metacatalogo.org/bitstreams/87a1eb2d-079a-49fe-8cf2-785fc1921bc0/downloadd5bcb6282d6c20ffb772aa945559999bMD56THUMBNAILImplementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdf.jpgImplementación y Despliegue de un Modulo Web para Controlar el Ingreso de Usuarios y Gestión de Pagos....pdf.jpgGenerated Thumbnailimage/jpeg6308https://dspace7-unillanos.metacatalogo.org/bitstreams/54f1e861-41c2-48d4-a418-253c2b819f9b/download27873bd4e4bbbef49ebb9309c593bf27MD57001/1489oai:dspace7-unillanos.metacatalogo.org:001/14892024-04-17 16:37:53.542https://creativecommons.org/licenses/by-nc/4.0/Universidad de los Llanos, 2020open.accesshttps://dspace7-unillanos.metacatalogo.orgRepositorio Universidad de Los Llanosrepositorio@unillanos.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4KMS4gRGVmaW5pY2lvbmVzCmEuCU9icmEgQ29sZWN0aXZhIGVzIHVuYSBvYnJhLCB0YWwgY29tbyB1bmEgcHVibGljYWNpw7NuIHBlcmnDs2RpY2EsIHVuYSBhbnRvbG9nw61hLCBvIHVuYSBlbmNpY2xvcGVkaWEsIGVuIGxhIHF1ZSBsYSBvYnJhIGVuIHN1IHRvdGFsaWRhZCwgc2luIG1vZGlmaWNhY2nDs24gYWxndW5hLCBqdW50byBjb24gdW4gZ3J1cG8gZGUgb3RyYXMgY29udHJpYnVjaW9uZXMgcXVlIGNvbnN0aXR1eWVuIG9icmFzIHNlcGFyYWRhcyBlIGluZGVwZW5kaWVudGVzIGVuIHPDrSBtaXNtYXMsIHNlIGludGVncmFuIGVuIHVuIHRvZG8gY29sZWN0aXZvLiBVbmEgT2JyYSBxdWUgY29uc3RpdHV5ZSB1bmEgb2JyYSBjb2xlY3RpdmEgbm8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIChjb21vIHNlIGRlZmluZSBhYmFqbykgcGFyYSBsb3MgcHJvcMOzc2l0b3MgZGUgZXN0YSBsaWNlbmNpYS4gYXF1ZWxsYSBwcm9kdWNpZGEgcG9yIHVuIGdydXBvIGRlIGF1dG9yZXMsIGVuIHF1ZSBsYSBPYnJhIHNlIGVuY3VlbnRyYSBzaW4gbW9kaWZpY2FjaW9uZXMsIGp1bnRvIGNvbiB1bmEgY2llcnRhIGNhbnRpZGFkIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzLCBxdWUgY29uc3RpdHV5ZW4gZW4gc8OtIG1pc21vcyB0cmFiYWpvcyBzZXBhcmFkb3MgZSBpbmRlcGVuZGllbnRlcywgcXVlIHNvbiBpbnRlZ3JhZG9zIGFsIHRvZG8gY29sZWN0aXZvLCB0YWxlcyBjb21vIHB1YmxpY2FjaW9uZXMgcGVyacOzZGljYXMsIGFudG9sb2fDrWFzIG8gZW5jaWNsb3BlZGlhcy4KYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgpjLglMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgpkLglBdXRvciBvcmlnaW5hbCwgZXMgZWwgaW5kaXZpZHVvIHF1ZSBjcmXDsyBsYSBPYnJhLgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCmYuCVVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoyLiBEZXJlY2hvcyBkZSBVc29zIEhvbnJhZG9zIHkgZXhjZXBjaW9uZXMgTGVnYWxlcy4KTmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CmEuCVJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXM7CmIuCURpc3RyaWJ1aXIgY29waWFzIG8gZm9ub2dyYW1hcyBkZSBsYXMgT2JyYXMsIGV4aGliaXJsYXMgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXJsYXMgcMO6YmxpY2FtZW50ZSB5L28gcG9uZXJsYXMgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EsIGluY2x1ecOpbmRvbGFzIGNvbW8gaW5jb3Jwb3JhZGFzIGVuIE9icmFzIENvbGVjdGl2YXMsIHNlZ8O6biBjb3JyZXNwb25kYTsKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuVG9kb3MgbG9zIGRlcmVjaG9zIG5vIG90b3JnYWRvcyBleHByZXNhbWVudGUgcG9yIGVsIExpY2VuY2lhbnRlIHF1ZWRhbiBwb3IgZXN0ZSBtZWRpbyByZXNlcnZhZG9zLCBpbmNsdXllbmRvIHBlcm8gc2luIGxpbWl0YXJzZSBhIGFxdWVsbG9zIHF1ZSBzZSBtZW5jaW9uYW4gZW4gbGFzIHNlY2Npb25lcyA0KGQpIHkgNChlKS4KNC4gUmVzdHJpY2Npb25lcy4KTGEgbGljZW5jaWEgb3RvcmdhZGEgZW4gbGEgYW50ZXJpb3IgU2VjY2nDs24gMyBlc3TDoSBleHByZXNhbWVudGUgc3VqZXRhIHkgbGltaXRhZGEgcG9yIGxhcyBzaWd1aWVudGVzIHJlc3RyaWNjaW9uZXM6CmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KYi4JVXN0ZWQgbm8gcHVlZGUgZWplcmNlciBuaW5ndW5vIGRlIGxvcyBkZXJlY2hvcyBxdWUgbGUgaGFuIHNpZG8gb3RvcmdhZG9zIGVuIGxhIFNlY2Npw7NuIDMgcHJlY2VkZW50ZSBkZSBtb2RvIHF1ZSBlc3TDqW4gcHJpbmNpcGFsbWVudGUgZGVzdGluYWRvcyBvIGRpcmVjdGFtZW50ZSBkaXJpZ2lkb3MgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuIEVsIGludGVyY2FtYmlvIGRlIGxhIE9icmEgcG9yIG90cmFzIG9icmFzIHByb3RlZ2lkYXMgcG9yIGRlcmVjaG9zIGRlIGF1dG9yLCB5YSBzZWEgYSB0cmF2w6lzIGRlIHVuIHNpc3RlbWEgcGFyYSBjb21wYXJ0aXIgYXJjaGl2b3MgZGlnaXRhbGVzIChkaWdpdGFsIGZpbGUtc2hhcmluZykgbyBkZSBjdWFscXVpZXIgb3RyYSBtYW5lcmEgbm8gc2Vyw6EgY29uc2lkZXJhZG8gY29tbyBlc3RhciBkZXN0aW5hZG8gcHJpbmNpcGFsbWVudGUgbyBkaXJpZ2lkbyBkaXJlY3RhbWVudGUgYSBjb25zZWd1aXIgdW4gcHJvdmVjaG8gY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEsIHNpZW1wcmUgcXVlIG5vIHNlIHJlYWxpY2UgdW4gcGFnbyBtZWRpYW50ZSB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgZW4gcmVsYWNpw7NuIGNvbiBlbCBpbnRlcmNhbWJpbyBkZSBvYnJhcyBwcm90ZWdpZGFzIHBvciBlbCBkZXJlY2hvIGRlIGF1dG9yLgpjLglTaSB1c3RlZCBkaXN0cmlidXllLCBleGhpYmUgcMO6YmxpY2FtZW50ZSwgZWplY3V0YSBww7pibGljYW1lbnRlIG8gZWplY3V0YSBww7pibGljYW1lbnRlIGVuIGZvcm1hIGRpZ2l0YWwgbGEgT2JyYSBvIGN1YWxxdWllciBPYnJhIERlcml2YWRhIHUgT2JyYSBDb2xlY3RpdmEsIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0YSB0b2RhIGxhIGluZm9ybWFjacOzbiBkZSBkZXJlY2hvIGRlIGF1dG9yIGRlIGxhIE9icmEgeSBwcm9wb3JjaW9uYXIsIGRlIGZvcm1hIHJhem9uYWJsZSBzZWfDum4gZWwgbWVkaW8gbyBtYW5lcmEgcXVlIFVzdGVkIGVzdMOpIHV0aWxpemFuZG86IChpKSBlbCBub21icmUgZGVsIEF1dG9yIE9yaWdpbmFsIHNpIGVzdMOhIHByb3Zpc3RvIChvIHNldWTDs25pbW8sIHNpIGZ1ZXJlIGFwbGljYWJsZSksIHkvbyAoaWkpIGVsIG5vbWJyZSBkZSBsYSBwYXJ0ZSBvIGxhcyBwYXJ0ZXMgcXVlIGVsIEF1dG9yIE9yaWdpbmFsIHkvbyBlbCBMaWNlbmNpYW50ZSBodWJpZXJlbiBkZXNpZ25hZG8gcGFyYSBsYSBhdHJpYnVjacOzbiAodi5nLiwgdW4gaW5zdGl0dXRvIHBhdHJvY2luYWRvciwgZWRpdG9yaWFsLCBwdWJsaWNhY2nDs24pIGVuIGxhIGluZm9ybWFjacOzbiBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGVsIExpY2VuY2lhbnRlLCB0w6lybWlub3MgZGUgc2VydmljaW9zIG8gZGUgb3RyYXMgZm9ybWFzIHJhem9uYWJsZXM7IGVsIHTDrXR1bG8gZGUgbGEgT2JyYSBzaSBlc3TDoSBwcm92aXN0bzsgZW4gbGEgbWVkaWRhIGRlIGxvIHJhem9uYWJsZW1lbnRlIGZhY3RpYmxlIHksIHNpIGVzdMOhIHByb3Zpc3RvLCBlbCBJZGVudGlmaWNhZG9yIFVuaWZvcm1lIGRlIFJlY3Vyc29zIChVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXIpIHF1ZSBlbCBMaWNlbmNpYW50ZSBlc3BlY2lmaWNhIHBhcmEgc2VyIGFzb2NpYWRvIGNvbiBsYSBPYnJhLCBzYWx2byBxdWUgdGFsIFVSSSBubyBzZSByZWZpZXJhIGEgbGEgbm90YSBzb2JyZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgbyBhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBlbCBsaWNlbmNpYW1pZW50byBkZSBsYSBPYnJhOyB5IGVuIGVsIGNhc28gZGUgdW5hIE9icmEgRGVyaXZhZGEsIGF0cmlidWlyIGVsIGNyw6lkaXRvIGlkZW50aWZpY2FuZG8gZWwgdXNvIGRlIGxhIE9icmEgZW4gbGEgT2JyYSBEZXJpdmFkYSAodi5nLiwgIlRyYWR1Y2Npw7NuIEZyYW5jZXNhIGRlIGxhIE9icmEgZGVsIEF1dG9yIE9yaWdpbmFsLCIgbyAiR3Vpw7NuIENpbmVtYXRvZ3LDoWZpY28gYmFzYWRvIGVuIGxhIE9icmEgb3JpZ2luYWwgZGVsIEF1dG9yIE9yaWdpbmFsIikuIFRhbCBjcsOpZGl0byBwdWVkZSBzZXIgaW1wbGVtZW50YWRvIGRlIGN1YWxxdWllciBmb3JtYSByYXpvbmFibGU7IGVuIGVsIGNhc28sIHNpbiBlbWJhcmdvLCBkZSBPYnJhcyBEZXJpdmFkYXMgdSBPYnJhcyBDb2xlY3RpdmFzLCB0YWwgY3LDqWRpdG8gYXBhcmVjZXLDoSwgY29tbyBtw61uaW1vLCBkb25kZSBhcGFyZWNlIGVsIGNyw6lkaXRvIGRlIGN1YWxxdWllciBvdHJvIGF1dG9yIGNvbXBhcmFibGUgeSBkZSB1bmEgbWFuZXJhLCBhbCBtZW5vcywgdGFuIGRlc3RhY2FkYSBjb21vIGVsIGNyw6lkaXRvIGRlIG90cm8gYXV0b3IgY29tcGFyYWJsZS4KZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CmkuCVJlZ2Fsw61hcyBwb3IgaW50ZXJwcmV0YWNpw7NuIHkgZWplY3VjacOzbiBiYWpvIGxpY2VuY2lhcyBnZW5lcmFsZXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgYXV0b3JpemFyIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSB5IGRlIHJlY29sZWN0YXIsIHNlYSBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBTQVlDTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgbyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvIFdlYmNhc3QpIGxpY2VuY2lhZGEgYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLCBzaSBsYSBpbnRlcnByZXRhY2nDs24gbyBlamVjdWNpw7NuIGRlIGxhIG9icmEgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIG9yaWVudGFkYSBwb3IgbyBkaXJpZ2lkYSBhIGxhIG9idGVuY2nDs24gZGUgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCmlpLglSZWdhbMOtYXMgcG9yIEZvbm9ncmFtYXMuIEVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBleGNsdXNpdm8gZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KZS4JR2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFjaW5wcm8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLgpBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgo3LiBUw6lybWluby4KYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCmIuCVN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgo4LiBWYXJpb3MuCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCmIuCVNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgpjLglOaW5nw7puIHTDqXJtaW5vIG8gZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgc2UgZXN0aW1hcsOhIHJlbnVuY2lhZGEgeSBuaW5ndW5hIHZpb2xhY2nDs24gZGUgZWxsYSBzZXLDoSBjb25zZW50aWRhIGEgbWVub3MgcXVlIGVzYSByZW51bmNpYSBvIGNvbnNlbnRpbWllbnRvIHNlYSBvdG9yZ2FkbyBwb3IgZXNjcml0byB5IGZpcm1hZG8gcG9yIGxhIHBhcnRlIHF1ZSByZW51bmNpZSBvIGNvbnNpZW50YS4KZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgoK