Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos

Se presentan los componentes teóricos que tienen que ver con el cálculo del número de puntos de una curva elíptica de característica prima diferente de 2, usando el conocido algoritmo de Schoof [23] y [24], Los métodos utilizados como parte de este algoritmo son: La algoritmia basada en el denominad...

Full description

Autores:
Espinosa Chavarria, Desiderio
González Umaña, Hernando
Tipo de recurso:
Fecha de publicación:
2002
Institución:
Universidad Autónoma de Bucaramanga - UNAB
Repositorio:
Repositorio UNAB
Idioma:
OAI Identifier:
oai:repository.unab.edu.co:20.500.12749/25771
Acceso en línea:
http://hdl.handle.net/20.500.12749/25771
Palabra clave:
Computer sciences
Systems engineer
Math
Computing
Theorems
Polynomials
Algorithms
Rational points (Geometry)
Arithmetic algebraic geometry
Curves elliptic
Algebraic curves
Ciencias computacionales
Ingeniería de sistemas
Puntos racionales (Geometría)
Geometría algebraica aritmética
Curvas elípticas
Curvas algebraicas
Matemáticas
Computación
Teoremas
Polinomios
Algoritmos
Rights
License
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
id UNAB2_c2c5ea8f430df187853ee011ab20f9db
oai_identifier_str oai:repository.unab.edu.co:20.500.12749/25771
network_acronym_str UNAB2
network_name_str Repositorio UNAB
repository_id_str
dc.title.spa.fl_str_mv Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
dc.title.translated.spa.fl_str_mv Calculation of the number of rational points of elliptic curves on finite bodies
title Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
spellingShingle Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
Computer sciences
Systems engineer
Math
Computing
Theorems
Polynomials
Algorithms
Rational points (Geometry)
Arithmetic algebraic geometry
Curves elliptic
Algebraic curves
Ciencias computacionales
Ingeniería de sistemas
Puntos racionales (Geometría)
Geometría algebraica aritmética
Curvas elípticas
Curvas algebraicas
Matemáticas
Computación
Teoremas
Polinomios
Algoritmos
title_short Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
title_full Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
title_fullStr Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
title_full_unstemmed Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
title_sort Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitos
dc.creator.fl_str_mv Espinosa Chavarria, Desiderio
González Umaña, Hernando
dc.contributor.advisor.none.fl_str_mv Zuñiga, Wilson
dc.contributor.author.none.fl_str_mv Espinosa Chavarria, Desiderio
González Umaña, Hernando
dc.subject.keywords.spa.fl_str_mv Computer sciences
Systems engineer
Math
Computing
Theorems
Polynomials
Algorithms
Rational points (Geometry)
Arithmetic algebraic geometry
Curves elliptic
Algebraic curves
topic Computer sciences
Systems engineer
Math
Computing
Theorems
Polynomials
Algorithms
Rational points (Geometry)
Arithmetic algebraic geometry
Curves elliptic
Algebraic curves
Ciencias computacionales
Ingeniería de sistemas
Puntos racionales (Geometría)
Geometría algebraica aritmética
Curvas elípticas
Curvas algebraicas
Matemáticas
Computación
Teoremas
Polinomios
Algoritmos
dc.subject.lemb.spa.fl_str_mv Ciencias computacionales
Ingeniería de sistemas
Puntos racionales (Geometría)
Geometría algebraica aritmética
Curvas elípticas
Curvas algebraicas
dc.subject.proposal.spa.fl_str_mv Matemáticas
Computación
Teoremas
Polinomios
Algoritmos
description Se presentan los componentes teóricos que tienen que ver con el cálculo del número de puntos de una curva elíptica de característica prima diferente de 2, usando el conocido algoritmo de Schoof [23] y [24], Los métodos utilizados como parte de este algoritmo son: La algoritmia basada en el denominado símbolo de Legendre, el cual nos permite hacer un conteo casi manual de dichos puntos, pero que solo aplica a números pequeños (menores a 12 bits). El segundo método algorítmico, basado en el teorema de Hasse, hace uso fundamentalmente de tres cosas. Se hizo uso de una implementación hecha en C++ por Mike Scott en junio 1999, y liberada en la Internet con características de dominio público, siempre y cuando sean utilizadas con fines académicos y/o de investigación. A esta implementación se le realizaron las modificaciones necesarias, para que permitiera.
publishDate 2002
dc.date.issued.none.fl_str_mv 2002
dc.date.accessioned.none.fl_str_mv 2024-07-29T16:16:34Z
dc.date.available.none.fl_str_mv 2024-07-29T16:16:34Z
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.local.spa.fl_str_mv Tesis
dc.type.hasversion.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12749/25771
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional UNAB
dc.identifier.repourl.spa.fl_str_mv repourl:https://repository.unab.edu.co
url http://hdl.handle.net/20.500.12749/25771
identifier_str_mv reponame:Repositorio Institucional UNAB
repourl:https://repository.unab.edu.co
dc.relation.references.spa.fl_str_mv A.J. Menezes, P.C. van Oorschot, S.A. Vanstone, Handbook of Applied Cryptography, CRC press, Boca Ratón, Florida, 1996.
Blake, I. F., Seroussi, G., Smart, N.P., Elliptic Curves in Cryptography, volumen 265 ofLondon Mathematical Socicty Lecture Notes Series. Cambridge Univcrsity Press, 1999.
Couveignes, J.M., Dccaghe, L. and Morain F. Isogeny cicles and the Schoof-Elkies Atkin algorithm. L’École Polytechnique, Laboratoire D’Informatique, CNRS, Palaiseau, August, 1996
Couveignes, J.M. and Morain F. Schoof’s algorithm and Isogeny cicles, Springer Vcrlag, LNCS 877, 1994.
Current Public-Key Cryptography Systems, Certicom, Misissauga, Ontario, 1997.
Deytcl, H.M. and Dcytel, P.J., How to program C++. Prcntice Hall, Third editions, 1995.
Deytel, H.M. and Deytcl, P.J., Java how to program. Prenticc Hall, Third editions, 1995
Garms, J. and Somerficld, D., Professional Java Security. Wrox Press Ltda. 2001
Goldwasser, S.; Bellare, M., Lecture Notes on Cryptography, MIT, Cambridge, 1997.
Herstein, I.N., Topics in Algebra. University of Chicago, 1975
Koblitz N., A Course in number Theory and Cryptography, Springer-Verlag, New York, 1994
Lercier, R. and Morain, F., Counting points on elliptic curves over F? using Coveignes’s algorithm, 1995
Lercier, R. and Morain F., Counting the number of points on elliptic curves over fmite fields: strategies and Performance. 79 - 94, EUROCRYPT 95, 1995
Lercier, R., Finding Good Random Elliptic Curves for Cryptosystems Defined over F2 ",Laillé, 1998.
Lercier, R., Algorithmique des courbes elliptiques dans les corps finís. Thése, L’Ecole Polytechnique, Laboratoire D’Infonnatique, CNRS, Paris, June, 1997.
Menezes, A. and Jurisic, A., Elliptic Curves and Cryptography.
Menezes, A., Elliptic Curve Public Key Cryptosystem, Kluwer Acadcmic Publishers, Dordrecht, 1993.
Menezes, A. Vanstone., Zucherato, R., Counting points on elliptic curves over F¡', 1992
M.I.R.A.C.L. Uscrs Manual, Shanius Software Ltd. January 2002
Morain, F. Calcul du nombre de points sur une courbe elliptique dans un corps finí: aspects algorithmiques. J.Théorie des nombres de Bourdeaux, 7, 255-282,1995.
Palmer, G., Java Progranuner ’s Reference. Wrox Press Ltda. 2001
Saeki, M., Elliptic curve Cryptosystems, School of Computer Science. McGill univcrsity, Montreal, February, 1997.
Schoof, R., Counting points on elliptic curves over finito fields, 1994.
Schoof, R., Elliptic curves over finóte fields and (he computation of square roots modp. Mathematics Computation, 44(170): 483-494, April 1985.
Schoof, R., Counting points on Elliptic curves overfinite fields. journal de Théorie des Nombres de Bourdeaux 7: 219-254, 1995
Silverman, J., The arithmetic of elliptic curves, Springer-Verlag, New York, 1994.
Von York, E., Elliptic Curves Over Finite Fields, George Masón Univcrsity, May 7, 1992.
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.local.spa.fl_str_mv Abierto (Texto Completo)
dc.rights.creativecommons.*.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
Abierto (Texto Completo)
Atribución-NoComercial-SinDerivadas 2.5 Colombia
http://purl.org/coar/access_right/c_abf2
dc.coverage.spatial.spa.fl_str_mv Bucaramanga (Santander, Colombia)
dc.coverage.temporal.spa.fl_str_mv 2002
dc.coverage.campus.spa.fl_str_mv UNAB Campus Bucaramanga
dc.publisher.grantor.spa.fl_str_mv Universidad Autónoma de Bucaramanga UNAB
dc.publisher.faculty.spa.fl_str_mv Facultad Ingeniería
dc.publisher.program.spa.fl_str_mv Maestría en Ciencias Computacionales
institution Universidad Autónoma de Bucaramanga - UNAB
bitstream.url.fl_str_mv https://repository.unab.edu.co/bitstream/20.500.12749/25771/1/2002_Tesis_Desiderio_Espinosa.pdf
https://repository.unab.edu.co/bitstream/20.500.12749/25771/3/2002_Tesis_Desiderio_Espinosa.pdf.jpg
https://repository.unab.edu.co/bitstream/20.500.12749/25771/2/license.txt
bitstream.checksum.fl_str_mv 33c434c27a39c9998e48a7533bf7a7ce
4f033c4ecd691ad792e3e61080c86058
3755c0cfdb77e29f2b9125d7a45dd316
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional | Universidad Autónoma de Bucaramanga - UNAB
repository.mail.fl_str_mv repositorio@unab.edu.co
_version_ 1814277357262864384
spelling Zuñiga, Wilson4334ab15-9287-42c9-bd60-317f6580ab8fEspinosa Chavarria, Desiderioa6fee203-a07d-4f45-a0e6-5f7a2af63046González Umaña, Hernando3b07cf7a-7670-49e8-919e-bf6906c01ed9Bucaramanga (Santander, Colombia)2002UNAB Campus Bucaramanga2024-07-29T16:16:34Z2024-07-29T16:16:34Z2002http://hdl.handle.net/20.500.12749/25771reponame:Repositorio Institucional UNABrepourl:https://repository.unab.edu.coSe presentan los componentes teóricos que tienen que ver con el cálculo del número de puntos de una curva elíptica de característica prima diferente de 2, usando el conocido algoritmo de Schoof [23] y [24], Los métodos utilizados como parte de este algoritmo son: La algoritmia basada en el denominado símbolo de Legendre, el cual nos permite hacer un conteo casi manual de dichos puntos, pero que solo aplica a números pequeños (menores a 12 bits). El segundo método algorítmico, basado en el teorema de Hasse, hace uso fundamentalmente de tres cosas. Se hizo uso de una implementación hecha en C++ por Mike Scott en junio 1999, y liberada en la Internet con características de dominio público, siempre y cuando sean utilizadas con fines académicos y/o de investigación. A esta implementación se le realizaron las modificaciones necesarias, para que permitiera.Instituto Tecnológico de Estudios Superiores de Monterrey (ITESM)Capítulo 1. Introducción_____________________________________________________ 7 1.1 Marco teórico______________________________________________________9 1.2 Resumen ________________________________________________________ 10 1.2.1 Componente matemática_________________________________________ 10 1.2.2 Componente compiitacional_______________________________________11 1.3 Conclusiones_____________________________________________________ 13 1.4 Recomendaciones_________________________________________________ 14 Capítulo 2. Preliminares____________________________________________________ 15 2.1 Teoría de números________________________________________________ 15 2.1.1 Teorema fundamental de la aritmética______________________________ 15 2.1.2 Máximo común divisor (inccl) 15 2.1.3 Algoritmo de Euclídes__________________________________________ 15 2.2 Grupos__________________________________________________________ 16 2.2.1 Teorema de Lagrange___________________________________________ 16 2.2.2 Homomorfismo de grupos_______________________________________ 17 2.3 Campos Finitos___________________________________________________ 18 2.3.1 Congruencias_________________________________________________ 18 2.3.2 Campo______________________________________________________ 19 2.4 Residuos Cuadráticos______________________________________________ 19 2.4.1 Congruencia Lineal ____________________________________________ 19 2.4.2 Teorema chino del residuo_______________________________________ 19 2.4.3 Teorema de Wilson_____________________________________________ 20 2.4.4 Símbolo de Legcndre___________________________________________ 20 2.4.5 Ley de Reciprocidad Cuadrática___________________________________21 2.4.6 El Símbolo de Jacobi.__________________________________________ 21 Capítulo 3. Planos proyectivos y afines_______________________________________23 3.1 Espacios vectoriales________________________________________________23 3.2 Coordenadas Proyectivas___________________________________________ 25 Capítulo 4. Criptografía de curvas elípticas______________________________________30 4.1 Introducción a las curvas elípticas__________________________________ ____ 30 Capítulo 5. Algoritmo de Schoof_______________________________________________40 5.1 El inorfismo de Frobenius ___________________________________ _______40 5.2 Los polinomios división____________________________________________ 41 5.3 El Teorema de Hasse_______________________________________________42 5.4 Valores propios del inorfismo de Frobenius____________________________43 5.5 El algoritmo de Schoof_____________________________________________ 44 Capítulo 6. Documentación algoritmo de Sclioof_________________________________ 51 6.1 Algoritmo de Sclioof_______________________________________________ 51 6.2 Algoritmo de Legendre_____________________________________________51 6.3 Programa de conteo de puntos_____________________________________ 54 Capitulo 7. Interfase gráfica de usuario_____________________________________ 99 7.1 Guía de Instalación________________________________________________ 99 7.1.1 Compilación de programas_______________________________________ 99 7.1.2 Ejecución del sistema___________________________________________ 100 7.2 Configuración del sistema__________________________________________100 7.3 Guía del usuario _ _______________________________________________ 101 7.3.1 Procesos______________________________________________________ 103 7.3.1.1 Schoof______________________________________________________ 104 7.3.1.2 SEA_______________________________________________________ 109 7.3.1.3 Salir________________________________________________________ 111 7.3.2 Consultas_____________________________________________________ 112 7.3.2.1 Ver Sclioof__________________________________________________ 114 7.3.2.2 Ver SEA ____________________________________________________ 115 7.3.2.3 Parámetros Schoof____________________________________________ 116 7.3.2.4 Parámetros SEA___________________________________________ ___ 117 7.3.2.5 Log Schoof__________________________________________________ 118 7.3.2.Ó Log SEA______________________________________________________ 119 7.3.3 Opciones___________________________________________________ __ 120 7.3.3.1 Acerca de______________ _ ____________________________________ 121 7.3.3.2 Reiniciar BD___________________ ______________________________ 122 7.3.4 Salida________________________________________________________ 123 Capítulo 8. Documentación técnica__________ ________________________________ 125 8.1 Interface gráfica___________________________________________________ _ 125 8.1.1 Archivos de interface __________________________________________ 125 8.1.2 Estructuras de clases y métodos__________________________________ 129 8.1.3 Diagrama de Clases (Figura 36.)_________________________________ 152 8.1.4 Modelado arquitectónico - Despliegue (Figura 37.) 153 8.1.5 Modelado de comportamiento - Diagrama de actividad Schoof (Figura 38.) 8.2 Cálculo del conteo_________________________________________________156 8.2.1 Archivos de cabecera____________________________________________156 8.2.2 Funciones internas_____________________________________________ 158 8.2.3 Funciones externas___________________________________________ 161 Capítulo 9. Presentación de resultados_____________________________________ 166 9.1 Cálculos y resultados______________________________________________166 9.1.1 Plataforma computacional______________________________________ 166 9.1.2 Módulos primo pequeños_______________________________________ 166 9.1.3 Módulos primo grandes________________________________________ 167 9.2 Observaciones___________________________________________________ 175 9.3 Conclusiones____________________________________________________ 177 9.4 Recomendaciones_________________________________________________178 Bibliografía_______________________________________________________________ 180MaestríaThe theoretical components that have to do with the calculation of the number of points of an elliptic curve with a prime characteristic different from 2 are presented, using the well-known Schoof algorithm [23] and [24]. The methods used as part of this algorithm are : The algorithm based on the so-called Legendre symbol, which allows us to do an almost manual count of said points, but which only applies to small numbers (less than 12 bits). The second algorithmic method, based on Hasse's theorem, fundamentally makes use of three things. An implementation made in C++ by Mike Scott in June 1999 was used, and released on the Internet with public domain features, as long as they are used for academic and/or research purposes. The necessary modifications were made to this implementation to allow it.Modalidad Presencialhttp://creativecommons.org/licenses/by-nc-nd/2.5/co/Abierto (Texto Completo)Atribución-NoComercial-SinDerivadas 2.5 Colombiahttp://purl.org/coar/access_right/c_abf2Cálculo del número de puntos racionales de curvas elípticas sobre cuerpos finitosCalculation of the number of rational points of elliptic curves on finite bodiesMagíster en en Ciencias ComputacionalesUniversidad Autónoma de Bucaramanga UNABFacultad IngenieríaMaestría en Ciencias Computacionalesinfo:eu-repo/semantics/masterThesisTesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/redcol/resource_type/TMComputer sciencesSystems engineerMathComputingTheoremsPolynomialsAlgorithmsRational points (Geometry)Arithmetic algebraic geometryCurves ellipticAlgebraic curvesCiencias computacionalesIngeniería de sistemasPuntos racionales (Geometría)Geometría algebraica aritméticaCurvas elípticasCurvas algebraicasMatemáticasComputaciónTeoremasPolinomiosAlgoritmosA.J. Menezes, P.C. van Oorschot, S.A. Vanstone, Handbook of Applied Cryptography, CRC press, Boca Ratón, Florida, 1996.Blake, I. F., Seroussi, G., Smart, N.P., Elliptic Curves in Cryptography, volumen 265 ofLondon Mathematical Socicty Lecture Notes Series. Cambridge Univcrsity Press, 1999.Couveignes, J.M., Dccaghe, L. and Morain F. Isogeny cicles and the Schoof-Elkies Atkin algorithm. L’École Polytechnique, Laboratoire D’Informatique, CNRS, Palaiseau, August, 1996Couveignes, J.M. and Morain F. Schoof’s algorithm and Isogeny cicles, Springer Vcrlag, LNCS 877, 1994.Current Public-Key Cryptography Systems, Certicom, Misissauga, Ontario, 1997.Deytcl, H.M. and Dcytel, P.J., How to program C++. Prcntice Hall, Third editions, 1995.Deytel, H.M. and Deytcl, P.J., Java how to program. Prenticc Hall, Third editions, 1995Garms, J. and Somerficld, D., Professional Java Security. Wrox Press Ltda. 2001Goldwasser, S.; Bellare, M., Lecture Notes on Cryptography, MIT, Cambridge, 1997.Herstein, I.N., Topics in Algebra. University of Chicago, 1975Koblitz N., A Course in number Theory and Cryptography, Springer-Verlag, New York, 1994Lercier, R. and Morain, F., Counting points on elliptic curves over F? using Coveignes’s algorithm, 1995Lercier, R. and Morain F., Counting the number of points on elliptic curves over fmite fields: strategies and Performance. 79 - 94, EUROCRYPT 95, 1995Lercier, R., Finding Good Random Elliptic Curves for Cryptosystems Defined over F2 ",Laillé, 1998.Lercier, R., Algorithmique des courbes elliptiques dans les corps finís. Thése, L’Ecole Polytechnique, Laboratoire D’Infonnatique, CNRS, Paris, June, 1997.Menezes, A. and Jurisic, A., Elliptic Curves and Cryptography.Menezes, A., Elliptic Curve Public Key Cryptosystem, Kluwer Acadcmic Publishers, Dordrecht, 1993.Menezes, A. Vanstone., Zucherato, R., Counting points on elliptic curves over F¡', 1992M.I.R.A.C.L. Uscrs Manual, Shanius Software Ltd. January 2002Morain, F. Calcul du nombre de points sur une courbe elliptique dans un corps finí: aspects algorithmiques. J.Théorie des nombres de Bourdeaux, 7, 255-282,1995.Palmer, G., Java Progranuner ’s Reference. Wrox Press Ltda. 2001Saeki, M., Elliptic curve Cryptosystems, School of Computer Science. McGill univcrsity, Montreal, February, 1997.Schoof, R., Counting points on elliptic curves over finito fields, 1994.Schoof, R., Elliptic curves over finóte fields and (he computation of square roots modp. Mathematics Computation, 44(170): 483-494, April 1985.Schoof, R., Counting points on Elliptic curves overfinite fields. journal de Théorie des Nombres de Bourdeaux 7: 219-254, 1995Silverman, J., The arithmetic of elliptic curves, Springer-Verlag, New York, 1994.Von York, E., Elliptic Curves Over Finite Fields, George Masón Univcrsity, May 7, 1992.ORIGINAL2002_Tesis_Desiderio_Espinosa.pdf2002_Tesis_Desiderio_Espinosa.pdfTesisapplication/pdf40355160https://repository.unab.edu.co/bitstream/20.500.12749/25771/1/2002_Tesis_Desiderio_Espinosa.pdf33c434c27a39c9998e48a7533bf7a7ceMD51open accessTHUMBNAIL2002_Tesis_Desiderio_Espinosa.pdf.jpg2002_Tesis_Desiderio_Espinosa.pdf.jpgIM Thumbnailimage/jpeg7063https://repository.unab.edu.co/bitstream/20.500.12749/25771/3/2002_Tesis_Desiderio_Espinosa.pdf.jpg4f033c4ecd691ad792e3e61080c86058MD53open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-8829https://repository.unab.edu.co/bitstream/20.500.12749/25771/2/license.txt3755c0cfdb77e29f2b9125d7a45dd316MD52open access20.500.12749/25771oai:repository.unab.edu.co:20.500.12749/257712024-07-29 22:01:06.107open accessRepositorio Institucional | Universidad Autónoma de Bucaramanga - UNABrepositorio@unab.edu.coRUwoTE9TKSBBVVRPUihFUyksIG1hbmlmaWVzdGEobWFuaWZlc3RhbW9zKSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbi4gRWwgQVVUT1IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVTkFCIGFjdMO6YSBjb21vIHVuIHRlcmNlcm8gZGUgYnVlbmEgZmUuCgpFbCBBVVRPUiBhdXRvcml6YSBhIGxhIFVuaXZlcnNpZGFkIEF1dMOzbm9tYSBkZSBCdWNhcmFtYW5nYSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24uCg==