DASCTF NOV X联合出题人2022年度积分榜争夺赛 RE-部分题解

news2024/11/25 20:19:31

babytea

一轮8位加密

先对输入的前4位进行异或0x1234567

在对输入的后4位进行异或0x89ABCDEF

对del的条件加密为del>>18==0时进行异或0x1234567

到了32时

就把先对输入的前4位作为异或的xor1

先对输入的后4位进行异或xor2

逻辑整理下那么就是

void encrypt(uint32_t* v, uint32_t* k,int n) {
    int nCount=0;
    for(int j=0;j<n;j+=2){
    uint32_t v0 = v[j]^xor1, v1 = v[j+1]^xor2, sum = 0, i;
    uint32_t delta = 0x9E3779B1;
    uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];
    // printf("0x%0x,0x%0x,",xor1,xor2);
    for (i = 0; i < 32; i++) {
        sum += delta;
        if(sum>>0x1f==0) 
        {
           sum^=0x1234567;
        }
        v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
        v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
    }
    v[j] = v0; v[j+1] = v1;
    xor1=v0;
    xor2=v1;
    }
}

那么EXP为

#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include <stdint.h>
#include"IDA_use.h"
unsigned int sum[] = { 0x9e3779b1,0x3d4db605,0xdb852fb6,0x789fec00,0x17f420d6,0xb62b9a87,0x5540515f,0xf377cb10,0x91af44c1,0x2ec5fb15,0xccfd74c6,0x6a17ab10,0x96c61a6,0xa7a3db57,0x44f8106f,0xe32f8a20,0x816703d1,0x1ebd38e5,0xbcf4b296,0x5a0f6920,0xf846e2d1,0x967e5c82,0x35969354,0xd3ce0d05,0x7326c3d1,0x107d78e5,0xaeb4f296,0x4dcf2920,0xec06a2d1,0x8a3e1c82,0x2956d354,0xc78e4d05, };
unsigned int xor4[] = { 0x1234567,0x89ABCDEF, 0x5e27b530,0xbdbef7f3,0xe3516a8f,0x5d836cfe,0xd83dfa09,0x8efc737a,0x55a853a3,0x7a564ec5, };
void decrypt(uint32_t* v, uint32_t* k) {
​
    for (int j = 0; j < 8; j += 2) 
    {
        uint32_t v0 = v[j], v1 = v[j + 1], i;
        uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];
        for (i = 31; i!=-1; i--) 
        {
            v1 -= ((v0 << 4) + k2) ^ (v0 + sum[i]) ^ ((v0 >> 5) + k3);
            v0 -= ((v1 << 4) + k0) ^ (v1 + sum[i]) ^ ((v1 >> 5) + k1);
        }
        v[j] = v0 ^ xor4[j]; v[j + 1] = v1 ^ xor4[j + 1];
    }
}
​
​
​
int main()
{
    char enc[33] = {
     0x30, 0xB5, 0x27, 0x5E, 0xF3, 0xF7, 0xBE, 0xBD, 0x8F, 0x6A, 0x51, 0xE3, 0xFE, 0x6C, 0x83, 0x5D,
     0x09, 0xFA, 0x3D, 0xD8, 0x7A, 0x73, 0xFC, 0x8E, 0xA3, 0x53, 0xA8, 0x55, 0xC5, 0x4E, 0x56, 0x7A,
     0
    };
    unsigned int key[4] = {
    0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476
    };
 
    decrypt( (unsigned int*)enc, key);
    for (int i = 0; i < 32; i++)
    {
        printf("%c", enc[i] & 0xff);//600d_y0u_r34lly_kn0w_734_4nd_53h
    }
}
​
​

babaysmc

提示也很明显了smc

flag分前后16位校验

观察函数头机器码,与其异或机器码比较,确定flag的第一个值是2^下面机器码

同样确定另外的一个参数33

#include <idc.idc>
​
static xor_setp4(){
    auto addr = 0x00401850;   //这里填入要解密字节串的起始地址
    auto i = 0;
    for(i=0;addr+i<0x00401850 +256;i++)   //循环结束的条件为字节串的结束地址
    {
        PatchByte(addr+i,Byte(addr+i)^0x2^33);   //异或的数字根据情况修改
    }
}
static main()
{
    xor_setp4();
}
#include <idc.idc>
​
static xor_setp4(){
    auto addr = 0x4017C0;   //这里填入要解密字节串的起始地址
    auto i = 0;
    for(i=0;addr+i<0x4017C0+256;i++)   //循环结束的条件为字节串的结束地址
    {
        PatchByte(addr+i,Byte(addr+i)^33);   //异或的数字根据情况修改
    }
}
static main()
{
    xor_setp4();
}
from z3 import *
s=Solver()
inp=[BitVec(f'{i}',32) for i in range(16)]
for i in inp:
    s.add(i<257)
    s.add(i>=0)
enc1=[0x0002A81A, 0x00028D44, 0x00022653, 0x0002E993, 0x000249B5, 0x00024265, 0x0003253D, 0x0002D77B, 0x000282C8, 0x00022892, 0x0002BD54, 0x0002482E, 0x00024C1F, 0x00028127, 0x0001E62E, 0x0001F009]
enc2=[0x00027FC8, 0x00029049, 0x0003336C, 0x0002C6A7, 0x00036CB0, 0x0001F2BB, 0x00035262, 0x0002AEDF, 0x0002955E, 0x0002EE10, 0x0002B057, 0x0002FDE8, 0x00029B92, 0x00035842, 0x000294D2, 0x0002B984]
s.add(enc2[0] == 159 * inp[8]+ 109 * inp[12]+ 14 * inp[0]+ 92 * inp[14]+ 211 * inp[4]+ 178 * inp[7]+ 57 * inp[2]+ 175 * inp[5]+ 170 * inp[11]+ 59 * inp[6]+ 200 * inp[9]+ 5 * inp[15]+ 48 * inp[13]+ 28 * inp[3]+ 18 * inp[10]+ 228 * inp[1])
​
s.add(enc2[6] == 173 * inp[11]+ 34 * inp[5]+ 69 * inp[4]+ 216 * inp[14]+ 225 * inp[9]+ 160 * inp[1]+ 207 * inp[10]+ 175 * inp[7]+ 121 * inp[0]+ 122 * inp[2]+ 179 * inp[12]+ 91 * inp[13]+ 181 * inp[8]+ 93 * inp[3]+ 121 * inp[6]+ 12 * inp[15])
​
s.add(enc2[8] == 215 * inp[11]+ 164 * inp[5]+ 97 * inp[2]+ 99 * inp[3]+ 188 * inp[4]+ (inp[9] << 7)+ 214 * inp[6]+ 106 * inp[8]+ 169 * inp[0]+ 28 * inp[14]+ 18 * inp[12]+ inp[1]+ 177 * inp[10]+ 114 * inp[7]+ 176 * inp[15]+ 25 * inp[13]) 
​
s.add(enc2[9] == 175 * inp[14] + 42 * inp[4] + 214 * inp[12] + 43 * inp[13] + 147 * inp[6] + 53 * inp[10] + 12 * inp[1] + 213 * inp[7] + 241 * inp[9] + 223 * inp[5] + 65 * inp[3] + 42 * inp[15] + 131 * inp[2] + 81 * inp[0] + 92 * inp[11] + 110 * inp[8]) 
​
s.add(enc2[13] == 57 * inp[0]+ 109 * inp[7]+ 60 * inp[2]+ 228 * inp[13]+ 166 * inp[4]+ 236 * inp[9]+ 100 * inp[6]+ 179 * inp[11]+ 20 * inp[12]+ 45 * inp[8]+ 204 * inp[3]+ 182 * inp[14]+ 84 * inp[10]+ 170 * inp[15]+ 199 * inp[5]+ 138 * inp[1]) 
​
s.add(enc2[10] == 98 * inp[11]+ 122 * inp[9]+ 237 * inp[12]+ 117 * inp[0]+ 34 * inp[3]+ 168 * inp[8]+ 135 * inp[10]+ 119 * inp[6]+ 91 * inp[2]+ 161 * inp[15]+ 152 * inp[7]+ 186 * inp[4]+ 187 * inp[13]+ 72 * inp[14]+ 36 * inp[5]+ 171 * inp[1]) 
​
s.add(enc2[7] == 184 * inp[9]+ 112 * inp[0]+ 107 * inp[11]+ 170 * inp[13]+ 55 * inp[8]+ 85 * inp[14]+ 212 * inp[10]+ 173 * inp[15]+ 166 * inp[12]+ 142 * inp[4]+ 202 * inp[5]+ 63 * inp[2]+ 30 * inp[7]+ 175 * inp[3]+ 217 * inp[6]+ 63 * inp[1])
​
s.add(enc2[15] == (inp[7] << 6) + 228 * inp[4] + 90 * inp[11] + 85 * inp[3] + 196 * inp[6] + 219 * inp[0] + 93 * inp[14] + 183 * inp[15] + 156 * inp[12] + 197 * inp[8] + 119 * inp[13] + 36 * inp[10] + 205 * inp[2] + 94 * inp[9] + 153 * inp[5]) 
​
s.add(enc2[5] == 9 * inp[4] + (inp[5] << 6) + 62 * inp[1] + 58 * inp[7] + 100 * inp[13] + 137 * inp[11] + 6 * inp[0] + 119 * inp[9] + 180 * inp[6] + 228 * inp[8] + 88 * inp[12] + 107 * inp[15] + 56 * inp[14] + 207 * inp[2] + 248 * inp[10] + 150 * inp[3]) 
​
s.add(enc2[3] == 38 * inp[7]+ 194 * inp[4]+ 105 * inp[0]+ 150 * inp[6]+ 75 * inp[1]+ 89 * inp[15]+ 99 * inp[14]+ 98 * inp[3]+ 91 * inp[8]+ 178 * inp[12]+ 117 * inp[2]+ 48 * inp[13]+ 239 * inp[10]+ 233 * inp[11]+ 63 * inp[5]+ 250 * inp[9]) 
​
s.add(enc2[11] == 30 * inp[8] + 13 * inp[5] + 206 * inp[3] + 234 * inp[15] + 71 * inp[7] + 239 * inp[12] + 141 * inp[10] + 179 * inp[13] + 113 * inp[14] + 181 * inp[9] + 52 * inp[6] + 74 * inp[11] + 168 * inp[4] + 239 * inp[1] + 164 * inp[0] + 179 * inp[2]) 
​
s.add(enc2[14] == 211 * inp[1] + 74 * inp[5] + 144 * inp[8] + 234 * inp[0] + 241 * inp[2] + 157 * inp[11] + 25 * inp[15] + 6 * inp[10] + 243 * inp[6] + 107 * inp[9] + 77 * inp[12] + 127 * inp[4] + 67 * inp[7] + 13 * inp[14] + 151 * inp[3] + 127 * inp[13]) 
​
s.add(enc2[2] == 209 * inp[9]+ 110 * inp[7]+ 22 * inp[10]+ 102 * inp[11]+ 187 * inp[1]+ 58 * inp[8]+ 236 * inp[6]+ 146 * inp[13]+ 205 * inp[15]+ 63 * inp[2]+ 211 * inp[4]+ 152 * inp[3]+ 82 * inp[14]+ 14 * inp[5]+ 49 * inp[12]+ 251 * inp[0]) 
​
s.add(enc2[12] == 230 * inp[0]+ 27 * inp[3]+ 186 * inp[10]+ 58 * inp[7]+ 121 * inp[1]+ 59 * inp[14]+ 90 * inp[12]+ 40 * inp[2]+ 230 * inp[11]+ 25 * inp[6]+ 198 * inp[5]+ 81 * inp[4]+ 71 * inp[13]+ 180 * inp[8]+ 149 * inp[9]+ 73 * inp[15]) 
​
s.add(enc2[4] == 188 * inp[5]+ 80 * inp[1]+ 221 * inp[6]+ (inp[12] << 6)+ 230 * inp[3]+ 123 * inp[8]+ 124 * inp[11]+ 253 * inp[0]+ 202 * inp[10]+ 63 * inp[2]+ 40 * inp[7]+ 109 * inp[9]+ 195 * inp[15]+ 199 * inp[13]+ 82 * inp[4]+ 225 * inp[14]) 
​
s.add(enc2[1] == 236 * inp[15] + 44 * inp[14] + 214 * inp[13] + 52 * inp[8] + 37 * inp[6] + 101 * inp[9] + 244 * inp[10] + 238 * inp[11] + 109 * inp[0] + 188 * inp[1] + 20 * inp[3] + 87 * inp[7] + 93 * inp[4] + 158 * inp[5] + 105 * inp[12] + 3 * inp[2])
​
​
print(s.check())
if s.check()==sat:
   m=s.model()
   inp=[BitVec(f'{i}',32) for i in range(16)]
   for i in inp:
     print(m[i].as_long(),end=' ')

#sat
#186 42 51 45 71 51 42 186 25 186 42 114 11 124 209 51 
from z3 import *
s=Solver()
inp=[BitVec(f'{i}',32) for i in range(16)]
for i in inp:
    s.add(i<257)
    s.add(i>=0)
enc1=[0x0002A81A, 0x00028D44, 0x00022653, 0x0002E993, 0x000249B5, 0x00024265, 0x0003253D, 0x0002D77B, 0x000282C8, 0x00022892, 0x0002BD54, 0x0002482E, 0x00024C1F, 0x00028127, 0x0001E62E, 0x0001F009]
enc2=[0x00027FC8, 0x00029049, 0x0003336C, 0x0002C6A7, 0x00036CB0, 0x0001F2BB, 0x00035262, 0x0002AEDF, 0x0002955E, 0x0002EE10, 0x0002B057, 0x0002FDE8, 0x00029B92, 0x00035842, 0x000294D2, 0x0002B984]
s.add(enc1[12] == 199 * inp[9] + 98 * inp[7] + 192 * inp[8] + 23 * inp[12] + 79 * inp[14] + 77 * inp[10] + 185 * inp[13] + 135 * inp[15] + 119 * inp[4] + 54 * inp[0] + 41 * inp[1] + 124 * inp[6] + 18 * inp[2] + 181 * inp[11] + 191 * inp[5] + 7 * inp[3]) 
s.add(enc1[3] == 210 * inp[11] + 26 * inp[15] + 169 * inp[0] + 177 * inp[13] + inp[6] + 205 * inp[8] + 223 * inp[10] + 32 * inp[5] + 225 * inp[3] + 61 * inp[14] + 72 * inp[1] + 186 * inp[9] + 253 * inp[12] + 205 * inp[2] + 49 * inp[4] + 232 * inp[7])
​
s.add(enc1[13] == 192 * inp[3] + 22 * inp[10] + 175 * inp[1] + 184 * inp[7] + 116 * inp[15] + 70 * inp[13] + 153 * inp[14] + 119 * inp[0] + 217 * inp[6] + 123 * inp[5] + 17 * inp[2] + 244 * inp[12] + 116 * inp[8] + 46 * inp[4] + 19 * inp[9] + 130 * inp[11])
​
s.add(enc1[7] == 41 * inp[12] + 71 * inp[7] + 185 * inp[1] + 69 * inp[11] + 142 * inp[8] + 221 * inp[5] + 24 * inp[3] + 208 * inp[6] + 41 * inp[9] + 159 * inp[2] + 231 * inp[14] + 235 * inp[13] + 225 * inp[0] + (inp[4] << 6) + 162 * inp[10] + 134 * inp[15]) 
​
s.add(enc1[11] == 36 * inp[12] + 220 * inp[4] + 110 * inp[13] + 45 * inp[7] + 123 * inp[9] + 133 * inp[1] + 101 * inp[5] + 137 * inp[10] + 102 * inp[0] + 227 * inp[14] + 94 * inp[15] + 18 * inp[2] + 22 * inp[6] + 189 * inp[11] + 218 * inp[8]) 
​
s.add(enc1[15] == 86 * inp[11] + 31 * inp[9] + 229 * inp[6] + 27 * inp[3] + 6 * inp[12] + 13 * inp[10] + 158 * inp[1] + 89 * inp[7] + 35 * inp[15] + 126 * inp[8] + 165 * inp[13] + 220 * inp[0] + 138 * inp[5] + 100 * inp[4] + 84 * inp[14] + 175 * inp[2]) 
​
s.add(enc1[8] == 7 * inp[1] + 28 * inp[8] + 131 * inp[10] + 6 * inp[6] + 254 * inp[0] + 130 * inp[13] + 124 * inp[3] + 55 * inp[12] + 157 * inp[14] + 175 * inp[5] + 140 * inp[4] + 241 * inp[9] + 11 * inp[11] + 211 * inp[2] + 121 * inp[7] + 200 * inp[15]) 
​
s.add(enc1[6] == 195 * inp[14] + 197 * inp[13] + 218 * inp[7] + 83 * inp[1] + 98 * inp[2] + 70 * inp[10] + 229 * inp[15] + 148 * inp[11] + 195 * inp[0] + 94 * inp[6] + 211 * inp[12] + 220 * inp[9] + 81 * inp[5] + 253 * inp[8] + 78 * inp[4] + 4 * inp[3]) 
​
s.add(enc1[14] == 3 * inp[4]+ 136 * inp[7]+ 156 * inp[3]+ 189 * inp[1]+ 244 * inp[12]+ 157 * inp[15]+ 83 * inp[9]+ 6 * inp[0]+ 113 * inp[6]+ 63 * inp[14]+ 35 * inp[2]+ 22 * inp[8]+ 26 * inp[10]+ 62 * inp[11]+ 98 * inp[5]+ 110 * inp[13]) 
​
s.add(enc1[4] == 96 * inp[4] + 248 * inp[8] + 191 * inp[9] + 194 * inp[2] + 154 * inp[1] + 31 * inp[6] + 157 * inp[7] + 248 * inp[13] + 81 * inp[15] + 56 * inp[10] + 52 * inp[0] + 94 * inp[12] + 212 * inp[5] + 83 * inp[3] + 83 * inp[14] + 158 * inp[11]) 
​
s.add(enc1[1] == 67 * inp[4] + 220 * inp[2] + 123 * inp[11] + 168 * inp[5] + 23 * inp[12] + 148 * inp[7] + 127 * inp[10] + 194 * inp[1] + 132 * inp[8] + 44 * inp[0] + 60 * inp[13] + 98 * inp[15] + 38 * inp[14] + 245 * inp[9] + 159 * inp[6] + 146 * inp[3]) 
​
s.add(enc1[5] == 132 * inp[3] + 10 * inp[7] + 95 * inp[0] + 83 * inp[10] + 99 * inp[1] + 77 * inp[12] + 195 * inp[2] + 47 * inp[6] + 38 * inp[13] + 178 * inp[8] + 74 * inp[4] + 86 * inp[11] + 208 * inp[9] + 240 * inp[14] + 120 * inp[5] + 43 * inp[15]) 
​
s.add(enc1[9] == 172 * inp[1] + 110 * inp[2] + 92 * inp[7] + 126 * inp[15] + 91 * inp[0] + 77 * inp[6] + 207 * inp[5] + 249 * inp[11] + 240 * inp[12] + 129 * inp[10] + 6 * inp[13] + 100 * inp[3] + inp[14] + 76 * inp[9] + 127 * inp[4] + 4 * inp[8]) 
​
s.add(enc1[10] == 46 * inp[15] + 37 * inp[0] + 3 * inp[3] + 72 * inp[6] + 116 * inp[7] + 186 * inp[1] + 221 * inp[14] + 236 * inp[4] + 79 * inp[2] + 175 * inp[10] + 184 * inp[9] + 160 * inp[11] + 227 * inp[12] + 99 * inp[8] + 71 * inp[13] + 4 * inp[5]) 
​
s.add(enc1[0] == 203 * inp[3] + 31 * inp[0] + 11 * inp[14] + 149 * inp[7] + 215 * inp[5] + 206 * inp[1] + 245 * inp[6] + 9 * inp[11] + 16 * inp[10] + 241 * inp[13] + 110 * inp[8] + 175 * inp[2] + 38 * inp[4] + 227 * inp[9] + 208 * inp[12] + 8 * inp[15]) 
​
s.add(enc1[2] == 132 * inp[3] + 119 * inp[14] + 26 * inp[8] + 24 * inp[6] + 121 * inp[11] + 235 * inp[2] + 228 * inp[12] + 34 * inp[5] + 37 * inp[15] + 24 * inp[9] + 145 * inp[13] + 199 * inp[4] + 173 * inp[10] + 58 * inp[0] + 246 * inp[7] + 199 * inp[1])
​
print(s.check())
if s.check()==sat:
   m=s.model()
   inp=[BitVec(f'{i}',32) for i in range(16)]
   for i in inp:
     print(m[i].as_long(),end=' ')
 
sat
90 45 1 51 43 42 186 51 72 179 186 51 113 43 114 72 

   

所以enc为

90 ,45, 1 ,51, 43 ,42, 186, 51, 72, 179 ,186 ,51, 113, 43, 114, 72 ,186 ,42 ,51, 45, 71, 51 ,42 ,186, 25, 186 ,42 ,114, 11 ,124, 209, 51 ,

然后拿到会调用的函数数组中的下标

2 3 5 7 11 13 17 19 23 29 
def fun(v2,temp):
  x=[]
  for i in range(32):
      for j in range(256):
          if(temp[i]==v2[j]):
              x.append(j)
  return x
  
temp=[0]*32
v2=[0x7A, 0x91, 0x9F, 0x23, 0x71, 0xD1, 0x63, 0xDB, 0x59, 0x0A, 0xEC, 0x69, 0xEE, 0x76, 0x5D, 0x64, 0x37, 0x42, 0x8C, 0x0B, 0x3C, 0x5C, 0x80, 0xAD, 0x6A, 0x03, 0x43, 0x93, 0xBC, 0xBF, 0xE3, 0xAF, 0x5A, 0x8A, 0x65, 0x0D, 0x31, 0xDF, 0x3E, 0xA7, 0xE4, 0xDD, 0xB4, 0xB0, 0x56, 0x1C, 0x12, 0xA4, 0x9E, 0xD8, 0x3D, 0x81, 0x60, 0x9A, 0xCB, 0xFA, 0xB1, 0xE0, 0xD3, 0xF4, 0xA2, 0x26, 0x68, 0x90, 0x4B, 0x45, 0x85, 0x20, 0x16, 0xDE, 0xED, 0x4C, 0x6F, 0x34, 0xDC, 0xBE, 0xD2, 0x46, 0x33, 0x14, 0x77, 0xC6, 0xCD, 0xF0, 0xC5, 0xAC, 0x1F, 0xD0, 0x95, 0x97, 0x3F, 0xD7, 0x52, 0xAE, 0xB9, 0xC9, 0x0C, 0xCA, 0x4E, 0xF1, 0xB7, 0x39, 0x7F, 0x27, 0x2B, 0x40, 0x4A, 0x51, 0xA1, 0xCC, 0xCE, 0x6E, 0x70, 0xFF, 0x0E, 0xEF, 0x8E, 0x25, 0xB3, 0x5E, 0x6C, 0xAB, 0x02, 0x49, 0xE9, 0x9B, 0x36, 0x13, 0x9C, 0x04, 0x35, 0xC0, 0xFB, 0x3A, 0x67, 0xB6, 0x9D, 0xC2, 0x73, 0xB5, 0x6D, 0xCF, 0x83, 0x2C, 0x01, 0xC1, 0x10, 0x6B, 0x79, 0x87, 0x5B, 0x57, 0x47, 0xE5, 0x15, 0xF7, 0xA5, 0x74, 0xAA, 0x53, 0x7D, 0x2E, 0xD5, 0xA3, 0x19, 0xF5, 0x2D, 0xFD, 0x61, 0x8D, 0xC8, 0x1B, 0xC3, 0xDA, 0xF6, 0x72, 0x54, 0x5F, 0x1E, 0xE8, 0x17, 0x50, 0xB2, 0xE7, 0x0F, 0x7E, 0x55, 0xBD, 0x86, 0x00, 0x78, 0x94, 0x92, 0x09, 0x2F, 0xD6, 0xD9, 0xF3, 0x29, 0xE6, 0x24, 0x32, 0x66, 0x22, 0x41, 0xC4, 0x7C, 0x05, 0x98, 0x44, 0x4F, 0x99, 0xA9, 0xE1, 0x8F, 0x08, 0x1A, 0x2A, 0x11, 0xEA, 0x3B, 0xE2, 0x38, 0xB8, 0x18, 0xF9, 0xD4, 0xC7, 0x62, 0x7B, 0x75, 0x58, 0x96, 0x28, 0xEB, 0x06, 0x84, 0x89, 0x48, 0x82, 0x88, 0xA6, 0xFE, 0xA0, 0xF2, 0xF8, 0x1D, 0x8B, 0xFC, 0xA8, 0x21, 0x30, 0xBB, 0x07, 0xBA, 0x4D]
v3=[0x45, 0x1F, 0x63, 0x81, 0xE6, 0xAD, 0x4F, 0xD3, 0xC0, 0x15, 0x69, 0x8F, 0x0D, 0x31, 0x0C, 0xB0, 0xF1, 0x2E, 0x98, 0xC1, 0xC2, 0x96, 0xB2, 0xEB, 0xBF, 0xDF, 0x17, 0xF4, 0x7F, 0xE5, 0x66, 0x73, 0xD8, 0x56, 0x46, 0x20, 0x9C, 0x77, 0x3D, 0x72, 0xA3, 0x91, 0x49, 0x68, 0x4C, 0x1E, 0xAE, 0x06, 0x7A, 0x94, 0xDD, 0x52, 0x55, 0x2C, 0xB8, 0x42, 0x79, 0xFE, 0x38, 0xEF, 0x8B, 0xF7, 0xAC, 0xDC, 0xFF, 0x78, 0x34, 0x70, 0xA9, 0xCE, 0x3F, 0x0E, 0x11, 0x43, 0x5B, 0xF8, 0xAF, 0xD0, 0xFA, 0x33, 0xBA, 0xCF, 0x4A, 0xC9, 0x88, 0x4E, 0x80, 0x10, 0x85, 0x37, 0x12, 0xAB, 0xE1, 0x61, 0xB7, 0x3E, 0x4D, 0x19, 0x3A, 0x04, 0x8C, 0x92, 0x0B, 0xE7, 0x3C, 0xEA, 0xC7, 0x16, 0x35, 0xB1, 0xA7, 0x8E, 0x40, 0x9F, 0xB6, 0xB5, 0x25, 0xA0, 0x5A, 0x30, 0x7D, 0xA2, 0x1A, 0x64, 0xC5, 0x6D, 0x74, 0x82, 0x08, 0x7E, 0xD2, 0xF6, 0xAA, 0xDA, 0xED, 0x4B, 0x6E, 0xE8, 0xE9, 0xE2, 0xD4, 0x71, 0xB9, 0x09, 0x84, 0x3B, 0xC4, 0x1C, 0x60, 0xFD, 0x22, 0x99, 0x39, 0x97, 0x18, 0x89, 0x7C, 0xA4, 0x27, 0xBD, 0x0F, 0xCC, 0x95, 0xF5, 0xB3, 0x65, 0x6B, 0x8A, 0x58, 0x36, 0xBB, 0x9E, 0x75, 0xD1, 0x03, 0x9D, 0x6A, 0x6C, 0x53, 0x05, 0xB4, 0xE4, 0xEE, 0x67, 0x87, 0x7B, 0x32, 0x2D, 0x24, 0x2A, 0x59, 0xEC, 0x0A, 0xDB, 0x21, 0x07, 0x23, 0x50, 0x02, 0x41, 0xF2, 0x83, 0xD9, 0x26, 0xBC, 0x6F, 0x86, 0xA6, 0x93, 0xF9, 0xC8, 0xD6, 0xA5, 0x1D, 0xE3, 0xE0, 0xFC, 0xCA, 0x1B, 0x5E, 0x8D, 0x2F, 0x5C, 0xBE, 0x47, 0xA8, 0x44, 0x57, 0x54, 0x48, 0xC3, 0x00, 0x62, 0x5D, 0xCB, 0xD7, 0x76, 0xCD, 0x28, 0xD5, 0x14, 0x90, 0x13, 0xDE, 0x5F, 0xF0, 0x01, 0x2B, 0xC6, 0x29, 0x9A, 0x9B, 0x51, 0xF3, 0xFB, 0xA1]
v5=[0x00, 0x74, 0x59, 0xC6, 0xAC, 0xD3, 0xC1, 0xA0, 0x88, 0x3F, 0x1C, 0x28, 0x17, 0x22, 0xC5, 0x38, 0xF9, 0x1B, 0x21, 0x49, 0x99, 0xAF, 0xD6, 0x95, 0xA4, 0x9D, 0x5D, 0x5B, 0x73, 0xFE, 0xC9, 0x9A, 0x4C, 0xB4, 0x27, 0x5E, 0x71, 0x25, 0xE2, 0x90, 0xC0, 0x62, 0x5F, 0x48, 0x77, 0xE0, 0xF2, 0x8E, 0x40, 0xC7, 0x79, 0x1A, 0xDC, 0xF3, 0x01, 0xB6, 0xD8, 0xB5, 0x67, 0x1E, 0x85, 0x12, 0x68, 0x87, 0xD0, 0x30, 0xEB, 0x2F, 0x50, 0xCF, 0xEE, 0xDD, 0xFB, 0xE6, 0xA5, 0x69, 0x05, 0x75, 0xB7, 0xEF, 0x70, 0x53, 0xFF, 0xBA, 0x80, 0x41, 0x9B, 0xA1, 0x39, 0xF8, 0x65, 0x1F, 0x7A, 0x51, 0x98, 0xAD, 0x02, 0x13, 0x18, 0xC3, 0x31, 0x89, 0xCD, 0xCA, 0x91, 0xD1, 0x78, 0x57, 0x47, 0xB8, 0x54, 0x9F, 0x96, 0x04, 0x23, 0x2B, 0xE5, 0x46, 0x29, 0x7C, 0x76, 0x82, 0xBC, 0xFC, 0x6E, 0xEC, 0xED, 0x64, 0x4A, 0x26, 0x34, 0x5C, 0x19, 0x55, 0xFD, 0x6D, 0xFA, 0x7E, 0xB2, 0xD4, 0xF1, 0xF6, 0xE4, 0x60, 0xB0, 0x52, 0x9E, 0x8F, 0xBB, 0x08, 0x3B, 0x97, 0xE8, 0x10, 0x6C, 0x44, 0x3A, 0x36, 0x35, 0x03, 0xC4, 0x81, 0x9C, 0xAB, 0xCB, 0x66, 0xAA, 0x37, 0xA2, 0xD2, 0xE1, 0xE9, 0x7B, 0x14, 0x8D, 0xD9, 0xF5, 0x0B, 0xC2, 0x07, 0xA8, 0x0D, 0xA3, 0x0A, 0x84, 0x6B, 0x2C, 0xEA, 0x0C, 0xAE, 0x7D, 0x6F, 0xD7, 0xE7, 0xC8, 0x3C, 0x45, 0xCC, 0x58, 0xB9, 0x3D, 0x33, 0x4E, 0x4B, 0x8C, 0xCE, 0x72, 0x6A, 0x8B, 0x2D, 0x24, 0x11, 0xDF, 0x5A, 0x2E, 0x92, 0xDA, 0x86, 0x94, 0xA7, 0xD5, 0x4F, 0x2A, 0xB3, 0x63, 0x61, 0xE3, 0xDE, 0x43, 0x1D, 0xBF, 0x15, 0x32, 0xBE, 0x16, 0x3E, 0x93, 0x7F, 0x83, 0x56, 0x06, 0xF7, 0x8A, 0x20, 0xBD, 0x0E, 0xA6, 0xDB, 0x0F, 0xB1, 0x42, 0xF0, 0x09, 0x4D, 0xA9, 0xF4]
v7=[0x0F, 0xA5, 0xBA, 0x03, 0xF9, 0x69, 0x2A, 0xD7, 0xEA, 0xB5, 0xFC, 0xA1, 0x39, 0x20, 0x68, 0x72, 0x25, 0xB2, 0x6C, 0xAD, 0x88, 0x51, 0x73, 0xEB, 0xCF, 0x13, 0xDE, 0x7C, 0x6D, 0x38, 0x05, 0x09, 0xC2, 0x96, 0x1F, 0x7F, 0x37, 0x4A, 0xC9, 0xE7, 0x6A, 0xB0, 0x59, 0xF7, 0xD2, 0xB9, 0x16, 0xC8, 0xEE, 0xA9, 0x18, 0x80, 0xAC, 0xE3, 0x9E, 0x6F, 0x3C, 0x2F, 0x3E, 0x9A, 0xBE, 0x1D, 0xB4, 0x7B, 0x7D, 0x32, 0x6B, 0x74, 0xC5, 0xC0, 0xC7, 0xD1, 0x29, 0x98, 0xDD, 0xB6, 0x0E, 0x4D, 0xBF, 0x79, 0x0D, 0xDA, 0x7A, 0x17, 0x71, 0x43, 0x87, 0xFF, 0xDC, 0xC6, 0x12, 0xE9, 0x67, 0x2D, 0x70, 0x9F, 0x95, 0x30, 0x26, 0x24, 0x2B, 0xA8, 0xA2, 0xD8, 0x3B, 0x31, 0xA0, 0x3D, 0x4B, 0x90, 0x60, 0x34, 0x75, 0xE8, 0x5D, 0xF4, 0x85, 0xF3, 0xFE, 0x35, 0xCB, 0xB8, 0x02, 0x50, 0xB1, 0xF1, 0x1A, 0x1B, 0x21, 0xCD, 0xC4, 0x7E, 0xED, 0x07, 0xD9, 0xD6, 0x44, 0x15, 0x8E, 0x49, 0xB3, 0x97, 0xE6, 0x63, 0xB7, 0xEF, 0x3A, 0x8F, 0xF2, 0x53, 0x10, 0x77, 0x86, 0xF8, 0x8A, 0x28, 0x3F, 0xD4, 0x4C, 0xE5, 0x82, 0x83, 0xEC, 0x62, 0x89, 0xDF, 0xC3, 0x14, 0xCA, 0xA3, 0x5F, 0x64, 0x47, 0xFD, 0x00, 0x84, 0x66, 0xA7, 0x5A, 0x0C, 0x01, 0xD5, 0x5B, 0x0A, 0x4F, 0x27, 0x78, 0x0B, 0x2E, 0x48, 0x36, 0xFA, 0x08, 0x56, 0xE0, 0xA6, 0xC1, 0x5C, 0x8B, 0x41, 0x06, 0xBB, 0x52, 0x93, 0xAF, 0x2C, 0x5E, 0xF6, 0x61, 0xF0, 0xAB, 0x91, 0x45, 0x04, 0xBD, 0xCC, 0xE4, 0x65, 0x9D, 0x92, 0xCE, 0x40, 0xAE, 0x76, 0x9B, 0x9C, 0xAA, 0x54, 0xD0, 0x1C, 0x81, 0x4E, 0x57, 0x55, 0x23, 0x6E, 0x1E, 0x99, 0xDB, 0xFB, 0xA4, 0x22, 0x19, 0x58, 0x11, 0x8D, 0x94, 0xD3, 0xE2, 0x8C, 0xF5, 0x42, 0x46, 0xBC, 0x33, 0xE1]
v11=[0x38, 0xD9, 0xDA, 0xE6, 0xB5, 0xF1, 0x0B, 0x93, 0x0C, 0x58, 0x0D, 0xAE, 0x0A, 0x85, 0x2A, 0x50, 0xC2, 0xBF, 0xD4, 0x28, 0x52, 0xC4, 0x4F, 0xE1, 0x44, 0xE0, 0xA2, 0x70, 0x36, 0x65, 0x4B, 0x41, 0x9D, 0x5F, 0x05, 0x7C, 0xF7, 0xD7, 0x99, 0x8B, 0xCC, 0xCE, 0x16, 0xBE, 0xB6, 0xC5, 0x8F, 0x79, 0xC7, 0x20, 0x7E, 0xF4, 0xF3, 0x2E, 0x4A, 0x89, 0xD6, 0x0F, 0x6E, 0xB0, 0x61, 0xB1, 0x6D, 0x19, 0x73, 0x03, 0x74, 0xA1, 0x40, 0xEC, 0xC0, 0x57, 0x94, 0x7A, 0x66, 0xD5, 0xEA, 0x17, 0x6A, 0x84, 0x37, 0xED, 0xF6, 0x13, 0x31, 0x5B, 0x82, 0x1E, 0xFC, 0x92, 0xE2, 0x42, 0x86, 0xBA, 0xE3, 0x91, 0x7F, 0x67, 0x5C, 0x98, 0x15, 0x22, 0x8D, 0x80, 0x04, 0xE4, 0x25, 0x09, 0xA0, 0xAD, 0x63, 0xE5, 0xB4, 0x9A, 0x3C, 0xA3, 0x3A, 0x69, 0xF8, 0xCD, 0xBC, 0x88, 0x55, 0xB2, 0xBD, 0x6B, 0x77, 0x71, 0xB3, 0xD3, 0x90, 0x75, 0x06, 0x49, 0xC3, 0x32, 0x4D, 0x1D, 0xA8, 0xAA, 0xFB, 0x7B, 0x7D, 0x2B, 0xA6, 0x34, 0x72, 0x47, 0xF0, 0x2F, 0x9C, 0x08, 0x00, 0x14, 0x8C, 0x26, 0x5E, 0x87, 0xD1, 0xCF, 0xC9, 0x18, 0x51, 0x23, 0xCB, 0xF5, 0x1C, 0x9F, 0x97, 0xF9, 0xBB, 0xA7, 0x39, 0x45, 0x02, 0xFD, 0x46, 0x8A, 0x54, 0xA4, 0x8E, 0x9E, 0x68, 0x96, 0x0E, 0x78, 0xB8, 0x3D, 0x11, 0x64, 0xAF, 0x10, 0xDE, 0x6C, 0x60, 0x5A, 0x76, 0x1A, 0xE9, 0xC1, 0x3E, 0xCA, 0x9B, 0x27, 0x30, 0xEF, 0xFF, 0x07, 0xD2, 0xB9, 0x2D, 0xD0, 0xEE, 0x83, 0xAB, 0xF2, 0x4C, 0xA5, 0x21, 0x62, 0x81, 0x33, 0x1B, 0xD8, 0x6F, 0xAC, 0x3B, 0x5D, 0xE8, 0xFA, 0x3F, 0xDB, 0x95, 0xE7, 0x59, 0x12, 0x48, 0x35, 0xC6, 0x2C, 0x4E, 0x01, 0xDD, 0x43, 0x29, 0xDC, 0x24, 0x1F, 0xB7, 0xA9, 0xEB, 0xC8, 0xFE, 0x56, 0xDF, 0x53]
v13=[0xB0, 0x28, 0x0B, 0x89, 0x4B, 0xA4, 0xBE, 0x1A, 0x8F, 0x6C, 0xCF, 0xB2, 0xB5, 0xFE, 0xFB, 0x59, 0x2D, 0x29, 0x39, 0x62, 0x97, 0xAA, 0xD7, 0x7D, 0x94, 0x2C, 0xFC, 0x5D, 0xB4, 0x7C, 0x8A, 0x82, 0xD3, 0xA7, 0xBA, 0xDF, 0x21, 0xE6, 0xA2, 0xD0, 0xE8, 0xF0, 0x67, 0x3A, 0xB9, 0x98, 0xF9, 0xAE, 0xD1, 0x56, 0xD8, 0xCA, 0x10, 0xEA, 0x92, 0xA8, 0x75, 0x7E, 0x65, 0xA9, 0xAF, 0x51, 0xC9, 0x8E, 0xD4, 0x77, 0xE4, 0x49, 0x06, 0x61, 0x9E, 0x24, 0xD9, 0x9B, 0x11, 0x05, 0x1D, 0x96, 0x9A, 0xB1, 0xE0, 0x83, 0xE1, 0x1C, 0xCD, 0xF3, 0x38, 0xB3, 0x57, 0x50, 0xF4, 0xAC, 0xEB, 0x14, 0xA5, 0x46, 0xF6, 0x93, 0xAD, 0x7B, 0x30, 0xEF, 0x79, 0x17, 0x47, 0xDA, 0xC0, 0xDD, 0xDE, 0xDC, 0x5A, 0x76, 0x3B, 0x31, 0x0D, 0x0E, 0x86, 0xF1, 0x71, 0xFA, 0x0C, 0x00, 0xA3, 0xBF, 0x64, 0x37, 0x22, 0xD2, 0x69, 0x5C, 0xC6, 0x16, 0x9F, 0x5E, 0x7A, 0x1E, 0x27, 0x60, 0x6E, 0xF8, 0x8C, 0xEE, 0xC2, 0x74, 0x81, 0x8B, 0x33, 0x03, 0xBD, 0x2A, 0x0A, 0x68, 0x6B, 0x3F, 0x4C, 0xC3, 0x15, 0x04, 0x3D, 0x63, 0xF5, 0xAB, 0xCC, 0x3C, 0x53, 0x20, 0x66, 0xC4, 0xC1, 0x23, 0xE7, 0x25, 0x55, 0xC7, 0xED, 0xB7, 0xBC, 0xCB, 0x8D, 0x09, 0xCE, 0x52, 0xBB, 0xE2, 0xC5, 0xB6, 0x26, 0x12, 0x2F, 0x99, 0x58, 0x40, 0x6D, 0xA1, 0x3E, 0x48, 0x85, 0xA6, 0xF2, 0x0F, 0x43, 0x78, 0xB8, 0x01, 0xE5, 0xD5, 0x6F, 0x4E, 0xF7, 0x13, 0x42, 0xEC, 0x45, 0x2B, 0x4F, 0x36, 0xDB, 0x9C, 0xE3, 0x44, 0x34, 0x84, 0x73, 0x2E, 0x7F, 0xFD, 0x91, 0x41, 0xD6, 0x95, 0x18, 0xFF, 0x70, 0xC8, 0x02, 0x5F, 0x08, 0x1B, 0x6A, 0x5B, 0x19, 0xA0, 0x4D, 0x35, 0x54, 0xE9, 0x32, 0x88, 0x72, 0x07, 0x87, 0x90, 0x4A, 0x80, 0x1F, 0x9D]
v17=[0xE8, 0x22, 0x64, 0x9F, 0xC5, 0xD5, 0x25, 0xC9, 0x5D, 0xDF, 0xA1, 0x74, 0xCB, 0x57, 0xF7, 0xF0, 0xBD, 0x56, 0xFF, 0x33, 0x79, 0xFE, 0x87, 0xB6, 0xB1, 0x54, 0x10, 0x95, 0x8A, 0xEC, 0x7B, 0x48, 0x84, 0x3D, 0x30, 0xEF, 0x86, 0xFA, 0x97, 0x1C, 0xDC, 0xA9, 0x5A, 0xF3, 0x67, 0x18, 0x83, 0x72, 0x06, 0xB9, 0xF5, 0x05, 0x68, 0x59, 0xF2, 0xE4, 0x88, 0x5E, 0x14, 0x17, 0x11, 0x9C, 0xAB, 0xDE, 0xEB, 0x7D, 0x62, 0x9B, 0xD6, 0xF4, 0x01, 0x29, 0xBC, 0xC0, 0x69, 0xA2, 0x2B, 0x0D, 0x1D, 0x98, 0x6A, 0xBE, 0x65, 0x09, 0xF8, 0x96, 0xB4, 0x6E, 0x63, 0xE3, 0x34, 0x2D, 0xCE, 0x0A, 0xCD, 0xAA, 0x21, 0xCC, 0xE7, 0xA5, 0xDB, 0xD8, 0x03, 0xDD, 0xB2, 0x1F, 0x9D, 0x9E, 0x0E, 0x8F, 0x8B, 0xCA, 0x92, 0x0B, 0xA7, 0x5B, 0xD2, 0xCF, 0x47, 0x07, 0x04, 0xAE, 0x3B, 0xA8, 0x7C, 0x73, 0xF9, 0x35, 0xEE, 0x7A, 0xB0, 0xBA, 0x85, 0x46, 0x3E, 0x81, 0xC7, 0x40, 0x37, 0x15, 0x3A, 0x19, 0xE0, 0x1E, 0x28, 0x4A, 0x4F, 0x8C, 0xD4, 0x51, 0x2E, 0x94, 0x89, 0x2A, 0x0F, 0x7E, 0xE1, 0xC8, 0x5F, 0x4E, 0x6D, 0xF6, 0x49, 0xB8, 0x55, 0x60, 0x82, 0x20, 0x36, 0xC1, 0x0C, 0x1B, 0xC4, 0x00, 0xE5, 0xA3, 0x2C, 0xE9, 0xC2, 0xF1, 0x23, 0x3F, 0xC3, 0xB5, 0x8D, 0xD7, 0x42, 0xFC, 0x50, 0x13, 0xBB, 0x61, 0x9A, 0x44, 0xE6, 0x91, 0x2F, 0x70, 0xC6, 0x6F, 0xD1, 0x27, 0x43, 0x08, 0xDA, 0xFD, 0x52, 0x71, 0x77, 0xED, 0xE2, 0xAD, 0x16, 0x8E, 0x12, 0x4C, 0x31, 0x3C, 0x39, 0x78, 0x90, 0xBF, 0x1A, 0x76, 0x75, 0x41, 0x99, 0xD0, 0x80, 0xB7, 0x66, 0x24, 0xD3, 0x7F, 0x4B, 0x45, 0x5C, 0x53, 0x4D, 0x26, 0x32, 0xA0, 0xFB, 0xB3, 0x38, 0x6B, 0xAF, 0xA6, 0xD9, 0x02, 0xA4, 0xEA, 0x6C, 0xAC, 0x58, 0x93]
v19=[0x91, 0x67, 0x1A, 0xBE, 0xAB, 0xC2, 0x85, 0xD5, 0xDA, 0xCC, 0xF7, 0x5B, 0x54, 0x61, 0x05, 0xDF, 0x02, 0x70, 0x65, 0x69, 0x9A, 0x7A, 0x09, 0x92, 0x5D, 0x2A, 0xA7, 0x37, 0xFF, 0x19, 0xE6, 0x99, 0xF3, 0x1E, 0xBD, 0x82, 0x48, 0x3C, 0xE8, 0xC8, 0x66, 0x17, 0xB7, 0xA9, 0xC5, 0x4E, 0x33, 0x84, 0x45, 0xD3, 0x8B, 0x49, 0x50, 0x43, 0x8F, 0xCD, 0x73, 0x29, 0x04, 0xDC, 0x01, 0x0C, 0xDD, 0x2E, 0xFB, 0x6E, 0x0F, 0x24, 0x57, 0xE9, 0xC9, 0x7D, 0xB3, 0x40, 0x4B, 0x56, 0x6C, 0x68, 0xE2, 0x22, 0xF6, 0x80, 0xAA, 0x95, 0xD4, 0x97, 0x94, 0x21, 0x53, 0xD1, 0xE3, 0x59, 0xD2, 0xED, 0x41, 0x4D, 0x74, 0xA3, 0xA0, 0x32, 0x0D, 0xFC, 0x46, 0x34, 0xFA, 0xB1, 0x5E, 0xC6, 0x71, 0xC0, 0xE0, 0x3F, 0x13, 0x12, 0xD7, 0xEE, 0xF8, 0x26, 0xE1, 0x25, 0x88, 0x77, 0xB0, 0x8D, 0x6A, 0xEA, 0x0E, 0xD6, 0x3E, 0x03, 0x64, 0xBF, 0x8C, 0x96, 0xD9, 0xA4, 0x42, 0xAD, 0xFD, 0x16, 0x5A, 0xE4, 0x06, 0x9D, 0x07, 0x87, 0x5F, 0xAF, 0xDB, 0xC1, 0x93, 0x1C, 0xF1, 0xDE, 0xA6, 0x3A, 0xF4, 0x2C, 0x1B, 0x39, 0xE7, 0x4A, 0xC7, 0x35, 0xFE, 0x0A, 0x62, 0xF0, 0xCA, 0xEC, 0x27, 0x52, 0x23, 0x7F, 0xA5, 0x79, 0x7C, 0x75, 0x86, 0xEB, 0x60, 0xA8, 0xF5, 0x1F, 0x20, 0xC3, 0x63, 0x5C, 0x72, 0x18, 0xE5, 0x51, 0xAC, 0xB9, 0x90, 0x9F, 0x4C, 0xB2, 0xCB, 0x00, 0x6F, 0x28, 0xA1, 0xB6, 0x9B, 0xD0, 0x7B, 0x36, 0x4F, 0x9C, 0xCF, 0x98, 0x8A, 0x0B, 0x78, 0xB4, 0x7E, 0x2B, 0xEF, 0x58, 0xB5, 0xBA, 0x55, 0xB8, 0x10, 0x2F, 0x44, 0xAE, 0x89, 0x08, 0xC4, 0x3B, 0x9E, 0xF9, 0x6D, 0xF2, 0x15, 0x1D, 0x30, 0x47, 0x8E, 0x31, 0x2D, 0xD8, 0x6B, 0x3D, 0x11, 0x14, 0xA2, 0x83, 0xCE, 0xBB, 0x81, 0xBC, 0x76, 0x38]
v23=[0x38, 0x5A, 0xC7, 0x98, 0x15, 0x6A, 0xC9, 0x28, 0x33, 0xEA, 0xF4, 0xD9, 0xDB, 0x77, 0xB8, 0x49, 0x1B, 0x79, 0xF5, 0xFD, 0x3E, 0xA2, 0xDE, 0x17, 0xC4, 0x5E, 0xE5, 0x11, 0xB6, 0x1D, 0x86, 0xF9, 0x90, 0x78, 0x8A, 0x14, 0x12, 0xB1, 0xC2, 0x21, 0xF1, 0x02, 0x58, 0xA1, 0x23, 0x0C, 0xAD, 0xA5, 0x50, 0x48, 0x1E, 0x6D, 0xF8, 0x96, 0x9D, 0x19, 0x00, 0xBD, 0x26, 0xCE, 0xA7, 0x24, 0x2E, 0x39, 0x7B, 0xFA, 0x5F, 0xCC, 0x1A, 0x0B, 0x40, 0x0F, 0x4B, 0x82, 0xE2, 0x97, 0x10, 0x2A, 0xFC, 0x3B, 0xB2, 0x66, 0x27, 0x54, 0x07, 0xE3, 0x08, 0xA3, 0xA6, 0xED, 0x62, 0x13, 0x9C, 0x20, 0x01, 0x92, 0xE8, 0xAE, 0xBE, 0xE1, 0x0A, 0x41, 0x94, 0x80, 0xA9, 0x2F, 0x29, 0x70, 0x35, 0x16, 0xF7, 0x6B, 0xFE, 0x9E, 0x0D, 0xD3, 0x7F, 0x1F, 0xA0, 0x32, 0xD2, 0x52, 0x05, 0x76, 0x89, 0x9B, 0x7A, 0x8F, 0x99, 0xEF, 0xCF, 0x51, 0x0E, 0xEC, 0x59, 0x5C, 0x37, 0xD5, 0x8E, 0x31, 0x34, 0x2D, 0x93, 0x25, 0x1C, 0xC8, 0x5B, 0x47, 0x9F, 0x03, 0x67, 0x7E, 0x42, 0x7D, 0x3A, 0xAA, 0x57, 0xDA, 0x9A, 0xAB, 0x74, 0x72, 0xE4, 0xB7, 0x5D, 0xCD, 0x87, 0x46, 0x2B, 0x43, 0xF3, 0xD0, 0x85, 0x55, 0xBB, 0xD4, 0xC6, 0x61, 0x56, 0x04, 0x65, 0x7C, 0x88, 0xC3, 0x73, 0xBC, 0xEB, 0xDD, 0x4D, 0xE0, 0xE6, 0xC0, 0x63, 0x8D, 0xF2, 0x81, 0xF6, 0xA8, 0x3D, 0x3F, 0xA4, 0xE9, 0x4A, 0xB5, 0xF0, 0xCA, 0x8B, 0x2C, 0xD7, 0xAC, 0xC5, 0xC1, 0xBF, 0x53, 0xD1, 0x6F, 0x06, 0xE7, 0xD6, 0x09, 0x95, 0x44, 0x71, 0xB9, 0x83, 0x4C, 0x22, 0xAF, 0xB4, 0x75, 0x36, 0x30, 0xCB, 0xEE, 0x91, 0x45, 0x8C, 0x4E, 0x6E, 0x6C, 0x4F, 0x84, 0xBA, 0xFF, 0x64, 0xB3, 0x60, 0xFB, 0xB0, 0x18, 0xD8, 0xDF, 0x3C, 0x68, 0xDC, 0x69]
v29=[0xD1, 0x9C, 0x68, 0xC0, 0x13, 0xAC, 0x48, 0x32, 0xA3, 0xBA, 0x4C, 0xE7, 0x6D, 0xC8, 0x1C, 0xAB, 0xE2, 0x7A, 0x42, 0xE1, 0x7B, 0x16, 0x67, 0x03, 0xAE, 0x7E, 0xAA, 0x38, 0x22, 0x02, 0x39, 0x51, 0xC7, 0x79, 0xD7, 0xCB, 0xEF, 0x62, 0x98, 0xDC, 0x53, 0x72, 0x89, 0xA5, 0x4B, 0xC6, 0x86, 0xF6, 0xFC, 0x77, 0x5A, 0xF5, 0x2E, 0x3D, 0xB2, 0xFE, 0x59, 0x27, 0x80, 0x63, 0xDD, 0x1A, 0x12, 0x5E, 0xED, 0xB0, 0xBC, 0xC4, 0x5F, 0x11, 0xC9, 0x09, 0xC5, 0x75, 0x96, 0x0A, 0x2F, 0x00, 0x17, 0x81, 0x14, 0x47, 0xBB, 0x9D, 0x8E, 0x3C, 0xD6, 0xA1, 0xE0, 0xA2, 0x26, 0x5D, 0x08, 0x6E, 0x4E, 0xF1, 0xCF, 0x73, 0x8A, 0x90, 0x0B, 0xB3, 0x3E, 0xB6, 0x1F, 0xC3, 0xB7, 0xDA, 0x8D, 0x05, 0xEE, 0x18, 0x93, 0x3A, 0x6A, 0x8C, 0x43, 0x8F, 0xEB, 0xE9, 0x5B, 0x29, 0x37, 0x1E, 0x46, 0x33, 0x31, 0xFB, 0x35, 0x34, 0x61, 0x04, 0x0E, 0x2B, 0x74, 0xF9, 0x8B, 0x2C, 0x20, 0x0C, 0x7C, 0x28, 0x5C, 0xCA, 0xE6, 0x6B, 0xD8, 0x30, 0xE4, 0x21, 0x44, 0x70, 0x06, 0xA6, 0x60, 0x41, 0x84, 0x10, 0x95, 0x4F, 0x64, 0x83, 0xD2, 0x9A, 0xBE, 0xAF, 0x9F, 0x07, 0xC1, 0xB8, 0x3B, 0x65, 0xCC, 0x57, 0xB5, 0xD9, 0x92, 0xDE, 0x0D, 0xE3, 0xF3, 0xA4, 0xBD, 0x6F, 0xD3, 0x25, 0x88, 0x71, 0xFF, 0xA9, 0x36, 0xB1, 0x78, 0x24, 0x69, 0xAD, 0x19, 0xBF, 0xFD, 0xCD, 0x4A, 0xEA, 0x87, 0x91, 0xA8, 0x66, 0x82, 0x50, 0x0F, 0x99, 0x45, 0xF2, 0xD5, 0x9B, 0x94, 0x7D, 0xCE, 0xDB, 0xB9, 0x52, 0xE5, 0xF4, 0x01, 0x7F, 0xD4, 0x15, 0x2D, 0x3F, 0x1D, 0xA7, 0xC2, 0xFA, 0x40, 0xE8, 0xA0, 0x55, 0x6C, 0xF7, 0x1B, 0x58, 0x85, 0x56, 0x9E, 0xEC, 0x97, 0x23, 0xF0, 0x4D, 0xD0, 0xF8, 0x2A, 0x49, 0xB4, 0x76, 0x54, 0xDF]
enc=[90 ,45, 1 ,51, 43 ,42, 186, 51, 72, 179 ,186 ,51, 113, 43, 114, 72 ,186 ,42 ,51, 45, 71, 51 ,42 ,186, 25, 186 ,42 ,114, 11 ,124, 209, 51 ,]
​
​
enc=fun(v29,enc)
enc=fun(v23,enc)
enc=fun(v19,enc)
enc=fun(v17,enc)
enc=fun(v13,enc)
enc=fun(v11,enc)
enc=fun(v7,enc)
enc=fun(v5,enc)
enc=fun(v3,enc)
enc=fun(v2,enc)
print(chr(2^33),end='')
print(bytes(enc).decode())
​
print(chr(33))
#y0u_4r3_7h3_m4573r_0f_r3v3r51n6_!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux安装elasticsearch、IK分词器和kibana

简介&#xff1a; 因为内网环境不能上外网&#xff0c;安装最新的版本有问题而且不容易排查&#xff0c;所以安装了比较老的一个版本6.2.2。在安装的时候&#xff0c;为了讲清楚所有文件源头&#xff0c;所以介绍的啰嗦&#xff0c;但是很详细。 这里主要说明elasticsearch、ki…

如何用R语言在机器学习中建立集成模型?

介绍 在本文中&#xff0c;我将向您介绍集成建模的基础知识。 另外&#xff0c;为了向您提供有关集成建模的实践经验&#xff0c;我们将使用R进行集成。最近我们被客户要求撰写关于集成模型的研究报告&#xff0c;包括一些图形和统计输出。 1.什么是集成&#xff1f; 通常&am…

简单描述标准生成树协议STP

简单描述标准生成树协议STP 生成树协议STP 为什么需要生成树 如上图所示网络拓扑&#xff0c;如果没有生成树协议&#xff0c;在网络通信开始时&#xff0c;假设PC0向PC1发送一个数据包&#xff0c;交换机S2的MAC地址表中并没有对应的MAC地址&#xff0c;因此会产生ARP洪泛&a…

常见的项目管理问题有哪些?

在项目执行过程中&#xff0c;相信大家总会遇到一些项目管理常见问题以及各种意想不到的管理问题。如果想让你的项目取得最终成功&#xff0c;项经理便需要有一个计划来快速有效地应对任何出现的问题&#xff0c;否则它们会影响项目的成果。那么常见的项目管理问题有哪些呢&…

PolarDB-X 的 in 常量查询

场景 实际场景中经常需要根据一些常量指标做IN查询&#xff0c;并且IN值往往是分区键。例如在电商场景中&#xff0c;有两张表&#xff0c;买家表与订单表。订单的具体信息会记录到订单表中&#xff0c;该表按照订单ID进行哈希拆分&#xff1b;买家表则会保存买家ID及其关联的…

Flowable 中的网关、流程变量以及历史流程

今天这篇文章&#xff0c;松哥和大家梳理一下 Flowable 中的网关、流程变量以及历史流程的玩法。 1. 三大网关 Flowable 中网关类型其实也不少&#xff0c;常见的主要有三种类型&#xff0c;分别是&#xff1a; 排他网关并行网关包容网关 这三个里边最常用的当然就是排他网关…

苦等官方阿里云盘TV版久矣,终于期待一款TV版。

苦等官方阿里云盘TV版久矣&#xff0c;终于期待一款TV版。 一、获取链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/19Z-2Lb4-lOSU14M83rivVA 提取码&#xff1a;o2z0 二、产品&#xff1a; 1、文件列表&#xff1a;确定键打开文件或文件夹&#xff0c;菜单键进…

华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档

负载均衡&#xff08;LoadBalance&#xff09;的字面意思是将工作负载分担到多个工作单元上进行执行&#xff0c;它建立在现有网络结构之上&#xff0c;是构建分布式服务、大型网络应用的关键组件。 近十几年来&#xff0c;负载均衡技术层出不穷&#xff0c;令人眼花缭乱。如果…

[思考进阶]01 如何克服自己的无知?

除了要提升自己的技术能力&#xff0c;思维的学习和成长也非常非常重要&#xff0c;特推出此[思考进阶]系列&#xff0c;进行刻意练习&#xff0c;从而提升自己的认知。 有段时间我特别喜欢研究一些定律和法则&#xff0c;比如&#xff1a;熵增定律、懒蚂蚁效应、蝴蝶效应、吸引…

Java搭建宝塔部署实战毕设项目物品分类springboot管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套Java开发的物品分类springboot管理系统源码&#xff0c;适合准备做毕业设计的同学&#xff0c;可以下载搭建起来&#xff0c;在这基础上加一些功能&#xff0c;改改UI&#xff0c;随便写篇答题…

解决办法‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

今天使用了nvm这个node的保姆级版本管理工具,的确很香。 首先打开官网nvm.uihtm.com/ 下载安装过程很顺利&#xff0c;但是验证node及npm是否安装成功时&#xff0c;出现下面错误提示。 C:\Users\Administrator>npm -v npm 不是内部或外部命令&#xff0c;也不是可运行的…

里奥哈大使撰文 | 来一场云旅行吧,盘点里奥哈那些美轮美奂的酒庄~

俗话说得好&#xff0c;“里奥哈美酒夜光杯&#xff0c;欲买机票马上飞”&#xff08;说得太好了&#xff0c;反正也去不了下次别说了&#xff09;既然疫情当下&#xff0c;无法来一场说走就走的旅行&#xff0c;那我们就来云游一下里奥哈这个美轮美奂的酒庄吧&#xff01; 说起…

2023年浙大MEM英语二作文干货模版:临阵磨枪可用

这些年来&#xff0c;通过杭州达立易考教育对英语二小作文的总结发现&#xff0c;书信形式成为主要考察的内容&#xff0c;而随着形式的变化和难度的提升&#xff0c;复合型题材逐渐成为侧重点&#xff0c;比如道歉信加建议信、感谢信加建议信等。我们不建议原班照背模版&#…

汇编语言快速回顾(以x86_64为例)

GAS (GNU Assembler) 是一款基于 Linux 的汇编器&#xff0c;主要供 GNU 项目使用&#xff0c;用于对 Linux 内核及其他软件进行进行汇编。 MASM (Microsoft Macro Assembler) 是微软操作系统的专属汇编器&#xff0c;于 1981 年随 Visual Studio 一起发布。 大学本科教育中有两…

小学生python游戏编程arcade----精灵调用图片的两种类

小学生python游戏编程arcade----精灵调用图片的两种类前言精灵调用图片的两种类1、第一种类的定义1.1 以文件名及缩放比例做初始参数1.2 利用变换图片的颜色更换角色的使用1.3 代码分析转换文件来不及调用&#xff0c;时间问题&#xff1f;&#xff1f;&#xff1f;&#xff1f…

【数据结构初阶】链式二叉树接口实现+痛苦的OJ题

递归心决&#xff1a;(xdm好好感悟) 1.确定递归的结束条件 2.确定递归的单层逻辑 3.确定递归的参数和返回值 文章目录一、链式二叉树接口1.二叉树的结构体2.手动造一棵二叉树3.二叉树前、中、后序遍历(递归的神圣大门开启)4.二叉树的结点个数5.二叉树的叶子结点个数6.二叉树的…

【毕业设计】深度学习动物识别系统 - 图像识别 python OpenCV

文章目录0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络4 inception_v3网络5 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&a…

Web前端大作业、基于HTML+CSS+JavaScript响应式个人相册博客网站

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

【DL with Pytorch】第 1 章 :深度学习与PyTorch简介

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

1.每天进步一点点------爬虫应用场景

14天学习训练营导师课程&#xff1a; 杨鑫《Python 自学编程基础》 杨鑫《 Python 网络爬虫基础》 杨鑫《 Scrapy 爬虫框架实战和项目管理》 杨老师推荐自学Python的网站 w3schools 传送门 geeksforgeeks 传送门 realpython 传送门 学习之前读一读 来看看爬虫合不合法 传送…