test_mod_mul is useful, let's run it more often.
[openssl.git] / crypto / rijndael / boxes-fst-corrected.dat
1 word8 S[256] = {
2  99, 124, 119, 123, 242, 107, 111, 197,  48,   1, 103,  43, 254, 215, 171, 118, 
3 202, 130, 201, 125, 250,  89,  71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 
4 183, 253, 147,  38,  54,  63, 247, 204,  52, 165, 229, 241, 113, 216,  49,  21, 
5   4, 199,  35, 195,  24, 150,   5, 154,   7,  18, 128, 226, 235,  39, 178, 117, 
6   9, 131,  44,  26,  27, 110,  90, 160,  82,  59, 214, 179,  41, 227,  47, 132, 
7  83, 209,   0, 237,  32, 252, 177,  91, 106, 203, 190,  57,  74,  76,  88, 207, 
8 208, 239, 170, 251,  67,  77,  51, 133,  69, 249,   2, 127,  80,  60, 159, 168, 
9  81, 163,  64, 143, 146, 157,  56, 245, 188, 182, 218,  33,  16, 255, 243, 210, 
10 205,  12,  19, 236,  95, 151,  68,  23, 196, 167, 126,  61, 100,  93,  25, 115, 
11  96, 129,  79, 220,  34,  42, 144, 136,  70, 238, 184,  20, 222,  94,  11, 219, 
12 224,  50,  58,  10,  73,   6,  36,  92, 194, 211, 172,  98, 145, 149, 228, 121, 
13 231, 200,  55, 109, 141, 213,  78, 169, 108,  86, 244, 234, 101, 122, 174,   8, 
14 186, 120,  37,  46,  28, 166, 180, 198, 232, 221, 116,  31,  75, 189, 139, 138, 
15 112,  62, 181, 102,  72,   3, 246,  14,  97,  53,  87, 185, 134, 193,  29, 158, 
16 225, 248, 152,  17, 105, 217, 142, 148, 155,  30, 135, 233, 206,  85,  40, 223, 
17 140, 161, 137,  13, 191, 230,  66, 104,  65, 153,  45,  15, 176,  84, 187,  22
18 };
19
20 #ifdef INTERMEDIATE_VALUE_KAT
21 word8 Si[256] = {
22  82,   9, 106, 213,  48,  54, 165,  56, 191,  64, 163, 158, 129, 243, 215, 251, 
23 124, 227,  57, 130, 155,  47, 255, 135,  52, 142,  67,  68, 196, 222, 233, 203, 
24  84, 123, 148,  50, 166, 194,  35,  61, 238,  76, 149,  11,  66, 250, 195,  78, 
25   8,  46, 161, 102,  40, 217,  36, 178, 118,  91, 162,  73, 109, 139, 209,  37, 
26 114, 248, 246, 100, 134, 104, 152,  22, 212, 164,  92, 204,  93, 101, 182, 146, 
27 108, 112,  72,  80, 253, 237, 185, 218,  94,  21,  70,  87, 167, 141, 157, 132, 
28 144, 216, 171,   0, 140, 188, 211,  10, 247, 228,  88,   5, 184, 179,  69,   6, 
29 208,  44,  30, 143, 202,  63,  15,   2, 193, 175, 189,   3,   1,  19, 138, 107, 
30  58, 145,  17,  65,  79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 
31 150, 172, 116,  34, 231, 173,  53, 133, 226, 249,  55, 232,  28, 117, 223, 110, 
32  71, 241,  26, 113,  29,  41, 197, 137, 111, 183,  98,  14, 170,  24, 190,  27, 
33 252,  86,  62,  75, 198, 210, 121,  32, 154, 219, 192, 254, 120, 205,  90, 244, 
34  31, 221, 168,  51, 136,   7, 199,  49, 177,  18,  16,  89,  39, 128, 236,  95, 
35  96,  81, 127, 169,  25, 181,  74,  13,  45, 229, 122, 159, 147, 201, 156, 239, 
36 160, 224,  59,  77, 174,  42, 245, 176, 200, 235, 187,  60, 131,  83, 153,  97, 
37  23,  43,   4, 126, 186, 119, 214,  38, 225, 105,  20,  99,  85,  33,  12, 125
38 };
39 #endif /* INTERMEDIATE_VALUE_KAT */
40
41 word8 T1[256][4] = {
42     {0xc6,0x63,0x63,0xa5},
43     {0xf8,0x7c,0x7c,0x84},
44     {0xee,0x77,0x77,0x99},
45     {0xf6,0x7b,0x7b,0x8d},
46
47     {0xff,0xf2,0xf2,0x0d},
48     {0xd6,0x6b,0x6b,0xbd},
49     {0xde,0x6f,0x6f,0xb1},
50     {0x91,0xc5,0xc5,0x54},
51
52     {0x60,0x30,0x30,0x50},
53     {0x02,0x01,0x01,0x03},
54     {0xce,0x67,0x67,0xa9},
55     {0x56,0x2b,0x2b,0x7d},
56
57     {0xe7,0xfe,0xfe,0x19},
58     {0xb5,0xd7,0xd7,0x62},
59     {0x4d,0xab,0xab,0xe6},
60     {0xec,0x76,0x76,0x9a},
61
62     {0x8f,0xca,0xca,0x45},
63     {0x1f,0x82,0x82,0x9d},
64     {0x89,0xc9,0xc9,0x40},
65     {0xfa,0x7d,0x7d,0x87},
66
67     {0xef,0xfa,0xfa,0x15},
68     {0xb2,0x59,0x59,0xeb},
69     {0x8e,0x47,0x47,0xc9},
70     {0xfb,0xf0,0xf0,0x0b},
71
72     {0x41,0xad,0xad,0xec},
73     {0xb3,0xd4,0xd4,0x67},
74     {0x5f,0xa2,0xa2,0xfd},
75     {0x45,0xaf,0xaf,0xea},
76
77     {0x23,0x9c,0x9c,0xbf},
78     {0x53,0xa4,0xa4,0xf7},
79     {0xe4,0x72,0x72,0x96},
80     {0x9b,0xc0,0xc0,0x5b},
81
82     {0x75,0xb7,0xb7,0xc2},
83     {0xe1,0xfd,0xfd,0x1c},
84     {0x3d,0x93,0x93,0xae},
85     {0x4c,0x26,0x26,0x6a},
86
87     {0x6c,0x36,0x36,0x5a},
88     {0x7e,0x3f,0x3f,0x41},
89     {0xf5,0xf7,0xf7,0x02},
90     {0x83,0xcc,0xcc,0x4f},
91
92     {0x68,0x34,0x34,0x5c},
93     {0x51,0xa5,0xa5,0xf4},
94     {0xd1,0xe5,0xe5,0x34},
95     {0xf9,0xf1,0xf1,0x08},
96
97     {0xe2,0x71,0x71,0x93},
98     {0xab,0xd8,0xd8,0x73},
99     {0x62,0x31,0x31,0x53},
100     {0x2a,0x15,0x15,0x3f},
101
102     {0x08,0x04,0x04,0x0c},
103     {0x95,0xc7,0xc7,0x52},
104     {0x46,0x23,0x23,0x65},
105     {0x9d,0xc3,0xc3,0x5e},
106
107     {0x30,0x18,0x18,0x28},
108     {0x37,0x96,0x96,0xa1},
109     {0x0a,0x05,0x05,0x0f},
110     {0x2f,0x9a,0x9a,0xb5},
111
112     {0x0e,0x07,0x07,0x09},
113     {0x24,0x12,0x12,0x36},
114     {0x1b,0x80,0x80,0x9b},
115     {0xdf,0xe2,0xe2,0x3d},
116
117     {0xcd,0xeb,0xeb,0x26},
118     {0x4e,0x27,0x27,0x69},
119     {0x7f,0xb2,0xb2,0xcd},
120     {0xea,0x75,0x75,0x9f},
121
122     {0x12,0x09,0x09,0x1b},
123     {0x1d,0x83,0x83,0x9e},
124     {0x58,0x2c,0x2c,0x74},
125     {0x34,0x1a,0x1a,0x2e},
126
127     {0x36,0x1b,0x1b,0x2d},
128     {0xdc,0x6e,0x6e,0xb2},
129     {0xb4,0x5a,0x5a,0xee},
130     {0x5b,0xa0,0xa0,0xfb},
131
132     {0xa4,0x52,0x52,0xf6},
133     {0x76,0x3b,0x3b,0x4d},
134     {0xb7,0xd6,0xd6,0x61},
135     {0x7d,0xb3,0xb3,0xce},
136
137     {0x52,0x29,0x29,0x7b},
138     {0xdd,0xe3,0xe3,0x3e},
139     {0x5e,0x2f,0x2f,0x71},
140     {0x13,0x84,0x84,0x97},
141
142     {0xa6,0x53,0x53,0xf5},
143     {0xb9,0xd1,0xd1,0x68},
144     {0x00,0x00,0x00,0x00},
145     {0xc1,0xed,0xed,0x2c},
146
147     {0x40,0x20,0x20,0x60},
148     {0xe3,0xfc,0xfc,0x1f},
149     {0x79,0xb1,0xb1,0xc8},
150     {0xb6,0x5b,0x5b,0xed},
151
152     {0xd4,0x6a,0x6a,0xbe},
153     {0x8d,0xcb,0xcb,0x46},
154     {0x67,0xbe,0xbe,0xd9},
155     {0x72,0x39,0x39,0x4b},
156
157     {0x94,0x4a,0x4a,0xde},
158     {0x98,0x4c,0x4c,0xd4},
159     {0xb0,0x58,0x58,0xe8},
160     {0x85,0xcf,0xcf,0x4a},
161
162     {0xbb,0xd0,0xd0,0x6b},
163     {0xc5,0xef,0xef,0x2a},
164     {0x4f,0xaa,0xaa,0xe5},
165     {0xed,0xfb,0xfb,0x16},
166
167     {0x86,0x43,0x43,0xc5},
168     {0x9a,0x4d,0x4d,0xd7},
169     {0x66,0x33,0x33,0x55},
170     {0x11,0x85,0x85,0x94},
171
172     {0x8a,0x45,0x45,0xcf},
173     {0xe9,0xf9,0xf9,0x10},
174     {0x04,0x02,0x02,0x06},
175     {0xfe,0x7f,0x7f,0x81},
176
177     {0xa0,0x50,0x50,0xf0},
178     {0x78,0x3c,0x3c,0x44},
179     {0x25,0x9f,0x9f,0xba},
180     {0x4b,0xa8,0xa8,0xe3},
181
182     {0xa2,0x51,0x51,0xf3},
183     {0x5d,0xa3,0xa3,0xfe},
184     {0x80,0x40,0x40,0xc0},
185     {0x05,0x8f,0x8f,0x8a},
186
187     {0x3f,0x92,0x92,0xad},
188     {0x21,0x9d,0x9d,0xbc},
189     {0x70,0x38,0x38,0x48},
190     {0xf1,0xf5,0xf5,0x04},
191
192     {0x63,0xbc,0xbc,0xdf},
193     {0x77,0xb6,0xb6,0xc1},
194     {0xaf,0xda,0xda,0x75},
195     {0x42,0x21,0x21,0x63},
196
197     {0x20,0x10,0x10,0x30},
198     {0xe5,0xff,0xff,0x1a},
199     {0xfd,0xf3,0xf3,0x0e},
200     {0xbf,0xd2,0xd2,0x6d},
201
202     {0x81,0xcd,0xcd,0x4c},
203     {0x18,0x0c,0x0c,0x14},
204     {0x26,0x13,0x13,0x35},
205     {0xc3,0xec,0xec,0x2f},
206
207     {0xbe,0x5f,0x5f,0xe1},
208     {0x35,0x97,0x97,0xa2},
209     {0x88,0x44,0x44,0xcc},
210     {0x2e,0x17,0x17,0x39},
211
212     {0x93,0xc4,0xc4,0x57},
213     {0x55,0xa7,0xa7,0xf2},
214     {0xfc,0x7e,0x7e,0x82},
215     {0x7a,0x3d,0x3d,0x47},
216
217     {0xc8,0x64,0x64,0xac},
218     {0xba,0x5d,0x5d,0xe7},
219     {0x32,0x19,0x19,0x2b},
220     {0xe6,0x73,0x73,0x95},
221
222     {0xc0,0x60,0x60,0xa0},
223     {0x19,0x81,0x81,0x98},
224     {0x9e,0x4f,0x4f,0xd1},
225     {0xa3,0xdc,0xdc,0x7f},
226
227     {0x44,0x22,0x22,0x66},
228     {0x54,0x2a,0x2a,0x7e},
229     {0x3b,0x90,0x90,0xab},
230     {0x0b,0x88,0x88,0x83},
231
232     {0x8c,0x46,0x46,0xca},
233     {0xc7,0xee,0xee,0x29},
234     {0x6b,0xb8,0xb8,0xd3},
235     {0x28,0x14,0x14,0x3c},
236
237     {0xa7,0xde,0xde,0x79},
238     {0xbc,0x5e,0x5e,0xe2},
239     {0x16,0x0b,0x0b,0x1d},
240     {0xad,0xdb,0xdb,0x76},
241
242     {0xdb,0xe0,0xe0,0x3b},
243     {0x64,0x32,0x32,0x56},
244     {0x74,0x3a,0x3a,0x4e},
245     {0x14,0x0a,0x0a,0x1e},
246
247     {0x92,0x49,0x49,0xdb},
248     {0x0c,0x06,0x06,0x0a},
249     {0x48,0x24,0x24,0x6c},
250     {0xb8,0x5c,0x5c,0xe4},
251
252     {0x9f,0xc2,0xc2,0x5d},
253     {0xbd,0xd3,0xd3,0x6e},
254     {0x43,0xac,0xac,0xef},
255     {0xc4,0x62,0x62,0xa6},
256
257     {0x39,0x91,0x91,0xa8},
258     {0x31,0x95,0x95,0xa4},
259     {0xd3,0xe4,0xe4,0x37},
260     {0xf2,0x79,0x79,0x8b},
261
262     {0xd5,0xe7,0xe7,0x32},
263     {0x8b,0xc8,0xc8,0x43},
264     {0x6e,0x37,0x37,0x59},
265     {0xda,0x6d,0x6d,0xb7},
266
267     {0x01,0x8d,0x8d,0x8c},
268     {0xb1,0xd5,0xd5,0x64},
269     {0x9c,0x4e,0x4e,0xd2},
270     {0x49,0xa9,0xa9,0xe0},
271
272     {0xd8,0x6c,0x6c,0xb4},
273     {0xac,0x56,0x56,0xfa},
274     {0xf3,0xf4,0xf4,0x07},
275     {0xcf,0xea,0xea,0x25},
276
277     {0xca,0x65,0x65,0xaf},
278     {0xf4,0x7a,0x7a,0x8e},
279     {0x47,0xae,0xae,0xe9},
280     {0x10,0x08,0x08,0x18},
281
282     {0x6f,0xba,0xba,0xd5},
283     {0xf0,0x78,0x78,0x88},
284     {0x4a,0x25,0x25,0x6f},
285     {0x5c,0x2e,0x2e,0x72},
286
287     {0x38,0x1c,0x1c,0x24},
288     {0x57,0xa6,0xa6,0xf1},
289     {0x73,0xb4,0xb4,0xc7},
290     {0x97,0xc6,0xc6,0x51},
291
292     {0xcb,0xe8,0xe8,0x23},
293     {0xa1,0xdd,0xdd,0x7c},
294     {0xe8,0x74,0x74,0x9c},
295     {0x3e,0x1f,0x1f,0x21},
296
297     {0x96,0x4b,0x4b,0xdd},
298     {0x61,0xbd,0xbd,0xdc},
299     {0x0d,0x8b,0x8b,0x86},
300     {0x0f,0x8a,0x8a,0x85},
301
302     {0xe0,0x70,0x70,0x90},
303     {0x7c,0x3e,0x3e,0x42},
304     {0x71,0xb5,0xb5,0xc4},
305     {0xcc,0x66,0x66,0xaa},
306
307     {0x90,0x48,0x48,0xd8},
308     {0x06,0x03,0x03,0x05},
309     {0xf7,0xf6,0xf6,0x01},
310     {0x1c,0x0e,0x0e,0x12},
311
312     {0xc2,0x61,0x61,0xa3},
313     {0x6a,0x35,0x35,0x5f},
314     {0xae,0x57,0x57,0xf9},
315     {0x69,0xb9,0xb9,0xd0},
316
317     {0x17,0x86,0x86,0x91},
318     {0x99,0xc1,0xc1,0x58},
319     {0x3a,0x1d,0x1d,0x27},
320     {0x27,0x9e,0x9e,0xb9},
321
322     {0xd9,0xe1,0xe1,0x38},
323     {0xeb,0xf8,0xf8,0x13},
324     {0x2b,0x98,0x98,0xb3},
325     {0x22,0x11,0x11,0x33},
326
327     {0xd2,0x69,0x69,0xbb},
328     {0xa9,0xd9,0xd9,0x70},
329     {0x07,0x8e,0x8e,0x89},
330     {0x33,0x94,0x94,0xa7},
331
332     {0x2d,0x9b,0x9b,0xb6},
333     {0x3c,0x1e,0x1e,0x22},
334     {0x15,0x87,0x87,0x92},
335     {0xc9,0xe9,0xe9,0x20},
336
337     {0x87,0xce,0xce,0x49},
338     {0xaa,0x55,0x55,0xff},
339     {0x50,0x28,0x28,0x78},
340     {0xa5,0xdf,0xdf,0x7a},
341
342     {0x03,0x8c,0x8c,0x8f},
343     {0x59,0xa1,0xa1,0xf8},
344     {0x09,0x89,0x89,0x80},
345     {0x1a,0x0d,0x0d,0x17},
346
347     {0x65,0xbf,0xbf,0xda},
348     {0xd7,0xe6,0xe6,0x31},
349     {0x84,0x42,0x42,0xc6},
350     {0xd0,0x68,0x68,0xb8},
351
352     {0x82,0x41,0x41,0xc3},
353     {0x29,0x99,0x99,0xb0},
354     {0x5a,0x2d,0x2d,0x77},
355     {0x1e,0x0f,0x0f,0x11},
356
357     {0x7b,0xb0,0xb0,0xcb},
358     {0xa8,0x54,0x54,0xfc},
359     {0x6d,0xbb,0xbb,0xd6},
360     {0x2c,0x16,0x16,0x3a},
361
362 };
363
364 word8 T2[256][4] = {
365     {0xa5,0xc6,0x63,0x63},
366     {0x84,0xf8,0x7c,0x7c},
367     {0x99,0xee,0x77,0x77},
368     {0x8d,0xf6,0x7b,0x7b},
369
370     {0x0d,0xff,0xf2,0xf2},
371     {0xbd,0xd6,0x6b,0x6b},
372     {0xb1,0xde,0x6f,0x6f},
373     {0x54,0x91,0xc5,0xc5},
374
375     {0x50,0x60,0x30,0x30},
376     {0x03,0x02,0x01,0x01},
377     {0xa9,0xce,0x67,0x67},
378     {0x7d,0x56,0x2b,0x2b},
379
380     {0x19,0xe7,0xfe,0xfe},
381     {0x62,0xb5,0xd7,0xd7},
382     {0xe6,0x4d,0xab,0xab},
383     {0x9a,0xec,0x76,0x76},
384
385     {0x45,0x8f,0xca,0xca},
386     {0x9d,0x1f,0x82,0x82},
387     {0x40,0x89,0xc9,0xc9},
388     {0x87,0xfa,0x7d,0x7d},
389
390     {0x15,0xef,0xfa,0xfa},
391     {0xeb,0xb2,0x59,0x59},
392     {0xc9,0x8e,0x47,0x47},
393     {0x0b,0xfb,0xf0,0xf0},
394
395     {0xec,0x41,0xad,0xad},
396     {0x67,0xb3,0xd4,0xd4},
397     {0xfd,0x5f,0xa2,0xa2},
398     {0xea,0x45,0xaf,0xaf},
399
400     {0xbf,0x23,0x9c,0x9c},
401     {0xf7,0x53,0xa4,0xa4},
402     {0x96,0xe4,0x72,0x72},
403     {0x5b,0x9b,0xc0,0xc0},
404
405     {0xc2,0x75,0xb7,0xb7},
406     {0x1c,0xe1,0xfd,0xfd},
407     {0xae,0x3d,0x93,0x93},
408     {0x6a,0x4c,0x26,0x26},
409
410     {0x5a,0x6c,0x36,0x36},
411     {0x41,0x7e,0x3f,0x3f},
412     {0x02,0xf5,0xf7,0xf7},
413     {0x4f,0x83,0xcc,0xcc},
414
415     {0x5c,0x68,0x34,0x34},
416     {0xf4,0x51,0xa5,0xa5},
417     {0x34,0xd1,0xe5,0xe5},
418     {0x08,0xf9,0xf1,0xf1},
419
420     {0x93,0xe2,0x71,0x71},
421     {0x73,0xab,0xd8,0xd8},
422     {0x53,0x62,0x31,0x31},
423     {0x3f,0x2a,0x15,0x15},
424
425     {0x0c,0x08,0x04,0x04},
426     {0x52,0x95,0xc7,0xc7},
427     {0x65,0x46,0x23,0x23},
428     {0x5e,0x9d,0xc3,0xc3},
429
430     {0x28,0x30,0x18,0x18},
431     {0xa1,0x37,0x96,0x96},
432     {0x0f,0x0a,0x05,0x05},
433     {0xb5,0x2f,0x9a,0x9a},
434
435     {0x09,0x0e,0x07,0x07},
436     {0x36,0x24,0x12,0x12},
437     {0x9b,0x1b,0x80,0x80},
438     {0x3d,0xdf,0xe2,0xe2},
439
440     {0x26,0xcd,0xeb,0xeb},
441     {0x69,0x4e,0x27,0x27},
442     {0xcd,0x7f,0xb2,0xb2},
443     {0x9f,0xea,0x75,0x75},
444
445     {0x1b,0x12,0x09,0x09},
446     {0x9e,0x1d,0x83,0x83},
447     {0x74,0x58,0x2c,0x2c},
448     {0x2e,0x34,0x1a,0x1a},
449
450     {0x2d,0x36,0x1b,0x1b},
451     {0xb2,0xdc,0x6e,0x6e},
452     {0xee,0xb4,0x5a,0x5a},
453     {0xfb,0x5b,0xa0,0xa0},
454
455     {0xf6,0xa4,0x52,0x52},
456     {0x4d,0x76,0x3b,0x3b},
457     {0x61,0xb7,0xd6,0xd6},
458     {0xce,0x7d,0xb3,0xb3},
459
460     {0x7b,0x52,0x29,0x29},
461     {0x3e,0xdd,0xe3,0xe3},
462     {0x71,0x5e,0x2f,0x2f},
463     {0x97,0x13,0x84,0x84},
464
465     {0xf5,0xa6,0x53,0x53},
466     {0x68,0xb9,0xd1,0xd1},
467     {0x00,0x00,0x00,0x00},
468     {0x2c,0xc1,0xed,0xed},
469
470     {0x60,0x40,0x20,0x20},
471     {0x1f,0xe3,0xfc,0xfc},
472     {0xc8,0x79,0xb1,0xb1},
473     {0xed,0xb6,0x5b,0x5b},
474
475     {0xbe,0xd4,0x6a,0x6a},
476     {0x46,0x8d,0xcb,0xcb},
477     {0xd9,0x67,0xbe,0xbe},
478     {0x4b,0x72,0x39,0x39},
479
480     {0xde,0x94,0x4a,0x4a},
481     {0xd4,0x98,0x4c,0x4c},
482     {0xe8,0xb0,0x58,0x58},
483     {0x4a,0x85,0xcf,0xcf},
484
485     {0x6b,0xbb,0xd0,0xd0},
486     {0x2a,0xc5,0xef,0xef},
487     {0xe5,0x4f,0xaa,0xaa},
488     {0x16,0xed,0xfb,0xfb},
489
490     {0xc5,0x86,0x43,0x43},
491     {0xd7,0x9a,0x4d,0x4d},
492     {0x55,0x66,0x33,0x33},
493     {0x94,0x11,0x85,0x85},
494
495     {0xcf,0x8a,0x45,0x45},
496     {0x10,0xe9,0xf9,0xf9},
497     {0x06,0x04,0x02,0x02},
498     {0x81,0xfe,0x7f,0x7f},
499
500     {0xf0,0xa0,0x50,0x50},
501     {0x44,0x78,0x3c,0x3c},
502     {0xba,0x25,0x9f,0x9f},
503     {0xe3,0x4b,0xa8,0xa8},
504
505     {0xf3,0xa2,0x51,0x51},
506     {0xfe,0x5d,0xa3,0xa3},
507     {0xc0,0x80,0x40,0x40},
508     {0x8a,0x05,0x8f,0x8f},
509
510     {0xad,0x3f,0x92,0x92},
511     {0xbc,0x21,0x9d,0x9d},
512     {0x48,0x70,0x38,0x38},
513     {0x04,0xf1,0xf5,0xf5},
514
515     {0xdf,0x63,0xbc,0xbc},
516     {0xc1,0x77,0xb6,0xb6},
517     {0x75,0xaf,0xda,0xda},
518     {0x63,0x42,0x21,0x21},
519
520     {0x30,0x20,0x10,0x10},
521     {0x1a,0xe5,0xff,0xff},
522     {0x0e,0xfd,0xf3,0xf3},
523     {0x6d,0xbf,0xd2,0xd2},
524
525     {0x4c,0x81,0xcd,0xcd},
526     {0x14,0x18,0x0c,0x0c},
527     {0x35,0x26,0x13,0x13},
528     {0x2f,0xc3,0xec,0xec},
529
530     {0xe1,0xbe,0x5f,0x5f},
531     {0xa2,0x35,0x97,0x97},
532     {0xcc,0x88,0x44,0x44},
533     {0x39,0x2e,0x17,0x17},
534
535     {0x57,0x93,0xc4,0xc4},
536     {0xf2,0x55,0xa7,0xa7},
537     {0x82,0xfc,0x7e,0x7e},
538     {0x47,0x7a,0x3d,0x3d},
539
540     {0xac,0xc8,0x64,0x64},
541     {0xe7,0xba,0x5d,0x5d},
542     {0x2b,0x32,0x19,0x19},
543     {0x95,0xe6,0x73,0x73},
544
545     {0xa0,0xc0,0x60,0x60},
546     {0x98,0x19,0x81,0x81},
547     {0xd1,0x9e,0x4f,0x4f},
548     {0x7f,0xa3,0xdc,0xdc},
549
550     {0x66,0x44,0x22,0x22},
551     {0x7e,0x54,0x2a,0x2a},
552     {0xab,0x3b,0x90,0x90},
553     {0x83,0x0b,0x88,0x88},
554
555     {0xca,0x8c,0x46,0x46},
556     {0x29,0xc7,0xee,0xee},
557     {0xd3,0x6b,0xb8,0xb8},
558     {0x3c,0x28,0x14,0x14},
559
560     {0x79,0xa7,0xde,0xde},
561     {0xe2,0xbc,0x5e,0x5e},
562     {0x1d,0x16,0x0b,0x0b},
563     {0x76,0xad,0xdb,0xdb},
564
565     {0x3b,0xdb,0xe0,0xe0},
566     {0x56,0x64,0x32,0x32},
567     {0x4e,0x74,0x3a,0x3a},
568     {0x1e,0x14,0x0a,0x0a},
569
570     {0xdb,0x92,0x49,0x49},
571     {0x0a,0x0c,0x06,0x06},
572     {0x6c,0x48,0x24,0x24},
573     {0xe4,0xb8,0x5c,0x5c},
574
575     {0x5d,0x9f,0xc2,0xc2},
576     {0x6e,0xbd,0xd3,0xd3},
577     {0xef,0x43,0xac,0xac},
578     {0xa6,0xc4,0x62,0x62},
579
580     {0xa8,0x39,0x91,0x91},
581     {0xa4,0x31,0x95,0x95},
582     {0x37,0xd3,0xe4,0xe4},
583     {0x8b,0xf2,0x79,0x79},
584
585     {0x32,0xd5,0xe7,0xe7},
586     {0x43,0x8b,0xc8,0xc8},
587     {0x59,0x6e,0x37,0x37},
588     {0xb7,0xda,0x6d,0x6d},
589
590     {0x8c,0x01,0x8d,0x8d},
591     {0x64,0xb1,0xd5,0xd5},
592     {0xd2,0x9c,0x4e,0x4e},
593     {0xe0,0x49,0xa9,0xa9},
594
595     {0xb4,0xd8,0x6c,0x6c},
596     {0xfa,0xac,0x56,0x56},
597     {0x07,0xf3,0xf4,0xf4},
598     {0x25,0xcf,0xea,0xea},
599
600     {0xaf,0xca,0x65,0x65},
601     {0x8e,0xf4,0x7a,0x7a},
602     {0xe9,0x47,0xae,0xae},
603     {0x18,0x10,0x08,0x08},
604
605     {0xd5,0x6f,0xba,0xba},
606     {0x88,0xf0,0x78,0x78},
607     {0x6f,0x4a,0x25,0x25},
608     {0x72,0x5c,0x2e,0x2e},
609
610     {0x24,0x38,0x1c,0x1c},
611     {0xf1,0x57,0xa6,0xa6},
612     {0xc7,0x73,0xb4,0xb4},
613     {0x51,0x97,0xc6,0xc6},
614
615     {0x23,0xcb,0xe8,0xe8},
616     {0x7c,0xa1,0xdd,0xdd},
617     {0x9c,0xe8,0x74,0x74},
618     {0x21,0x3e,0x1f,0x1f},
619
620     {0xdd,0x96,0x4b,0x4b},
621     {0xdc,0x61,0xbd,0xbd},
622     {0x86,0x0d,0x8b,0x8b},
623     {0x85,0x0f,0x8a,0x8a},
624
625     {0x90,0xe0,0x70,0x70},
626     {0x42,0x7c,0x3e,0x3e},
627     {0xc4,0x71,0xb5,0xb5},
628     {0xaa,0xcc,0x66,0x66},
629
630     {0xd8,0x90,0x48,0x48},
631     {0x05,0x06,0x03,0x03},
632     {0x01,0xf7,0xf6,0xf6},
633     {0x12,0x1c,0x0e,0x0e},
634
635     {0xa3,0xc2,0x61,0x61},
636     {0x5f,0x6a,0x35,0x35},
637     {0xf9,0xae,0x57,0x57},
638     {0xd0,0x69,0xb9,0xb9},
639
640     {0x91,0x17,0x86,0x86},
641     {0x58,0x99,0xc1,0xc1},
642     {0x27,0x3a,0x1d,0x1d},
643     {0xb9,0x27,0x9e,0x9e},
644
645     {0x38,0xd9,0xe1,0xe1},
646     {0x13,0xeb,0xf8,0xf8},
647     {0xb3,0x2b,0x98,0x98},
648     {0x33,0x22,0x11,0x11},
649
650     {0xbb,0xd2,0x69,0x69},
651     {0x70,0xa9,0xd9,0xd9},
652     {0x89,0x07,0x8e,0x8e},
653     {0xa7,0x33,0x94,0x94},
654
655     {0xb6,0x2d,0x9b,0x9b},
656     {0x22,0x3c,0x1e,0x1e},
657     {0x92,0x15,0x87,0x87},
658     {0x20,0xc9,0xe9,0xe9},
659
660     {0x49,0x87,0xce,0xce},
661     {0xff,0xaa,0x55,0x55},
662     {0x78,0x50,0x28,0x28},
663     {0x7a,0xa5,0xdf,0xdf},
664
665     {0x8f,0x03,0x8c,0x8c},
666     {0xf8,0x59,0xa1,0xa1},
667     {0x80,0x09,0x89,0x89},
668     {0x17,0x1a,0x0d,0x0d},
669
670     {0xda,0x65,0xbf,0xbf},
671     {0x31,0xd7,0xe6,0xe6},
672     {0xc6,0x84,0x42,0x42},
673     {0xb8,0xd0,0x68,0x68},
674
675     {0xc3,0x82,0x41,0x41},
676     {0xb0,0x29,0x99,0x99},
677     {0x77,0x5a,0x2d,0x2d},
678     {0x11,0x1e,0x0f,0x0f},
679
680     {0xcb,0x7b,0xb0,0xb0},
681     {0xfc,0xa8,0x54,0x54},
682     {0xd6,0x6d,0xbb,0xbb},
683     {0x3a,0x2c,0x16,0x16},
684
685 };
686
687 word8 T3[256][4] = {
688     {0x63,0xa5,0xc6,0x63},
689     {0x7c,0x84,0xf8,0x7c},
690     {0x77,0x99,0xee,0x77},
691     {0x7b,0x8d,0xf6,0x7b},
692
693     {0xf2,0x0d,0xff,0xf2},
694     {0x6b,0xbd,0xd6,0x6b},
695     {0x6f,0xb1,0xde,0x6f},
696     {0xc5,0x54,0x91,0xc5},
697
698     {0x30,0x50,0x60,0x30},
699     {0x01,0x03,0x02,0x01},
700     {0x67,0xa9,0xce,0x67},
701     {0x2b,0x7d,0x56,0x2b},
702
703     {0xfe,0x19,0xe7,0xfe},
704     {0xd7,0x62,0xb5,0xd7},
705     {0xab,0xe6,0x4d,0xab},
706     {0x76,0x9a,0xec,0x76},
707
708     {0xca,0x45,0x8f,0xca},
709     {0x82,0x9d,0x1f,0x82},
710     {0xc9,0x40,0x89,0xc9},
711     {0x7d,0x87,0xfa,0x7d},
712
713     {0xfa,0x15,0xef,0xfa},
714     {0x59,0xeb,0xb2,0x59},
715     {0x47,0xc9,0x8e,0x47},
716     {0xf0,0x0b,0xfb,0xf0},
717
718     {0xad,0xec,0x41,0xad},
719     {0xd4,0x67,0xb3,0xd4},
720     {0xa2,0xfd,0x5f,0xa2},
721     {0xaf,0xea,0x45,0xaf},
722
723     {0x9c,0xbf,0x23,0x9c},
724     {0xa4,0xf7,0x53,0xa4},
725     {0x72,0x96,0xe4,0x72},
726     {0xc0,0x5b,0x9b,0xc0},
727
728     {0xb7,0xc2,0x75,0xb7},
729     {0xfd,0x1c,0xe1,0xfd},
730     {0x93,0xae,0x3d,0x93},
731     {0x26,0x6a,0x4c,0x26},
732
733     {0x36,0x5a,0x6c,0x36},
734     {0x3f,0x41,0x7e,0x3f},
735     {0xf7,0x02,0xf5,0xf7},
736     {0xcc,0x4f,0x83,0xcc},
737
738     {0x34,0x5c,0x68,0x34},
739     {0xa5,0xf4,0x51,0xa5},
740     {0xe5,0x34,0xd1,0xe5},
741     {0xf1,0x08,0xf9,0xf1},
742
743     {0x71,0x93,0xe2,0x71},
744     {0xd8,0x73,0xab,0xd8},
745     {0x31,0x53,0x62,0x31},
746     {0x15,0x3f,0x2a,0x15},
747
748     {0x04,0x0c,0x08,0x04},
749     {0xc7,0x52,0x95,0xc7},
750     {0x23,0x65,0x46,0x23},
751     {0xc3,0x5e,0x9d,0xc3},
752
753     {0x18,0x28,0x30,0x18},
754     {0x96,0xa1,0x37,0x96},
755     {0x05,0x0f,0x0a,0x05},
756     {0x9a,0xb5,0x2f,0x9a},
757
758     {0x07,0x09,0x0e,0x07},
759     {0x12,0x36,0x24,0x12},
760     {0x80,0x9b,0x1b,0x80},
761     {0xe2,0x3d,0xdf,0xe2},
762
763     {0xeb,0x26,0xcd,0xeb},
764     {0x27,0x69,0x4e,0x27},
765     {0xb2,0xcd,0x7f,0xb2},
766     {0x75,0x9f,0xea,0x75},
767
768     {0x09,0x1b,0x12,0x09},
769     {0x83,0x9e,0x1d,0x83},
770     {0x2c,0x74,0x58,0x2c},
771     {0x1a,0x2e,0x34,0x1a},
772
773     {0x1b,0x2d,0x36,0x1b},
774     {0x6e,0xb2,0xdc,0x6e},
775     {0x5a,0xee,0xb4,0x5a},
776     {0xa0,0xfb,0x5b,0xa0},
777
778     {0x52,0xf6,0xa4,0x52},
779     {0x3b,0x4d,0x76,0x3b},
780     {0xd6,0x61,0xb7,0xd6},
781     {0xb3,0xce,0x7d,0xb3},
782
783     {0x29,0x7b,0x52,0x29},
784     {0xe3,0x3e,0xdd,0xe3},
785     {0x2f,0x71,0x5e,0x2f},
786     {0x84,0x97,0x13,0x84},
787
788     {0x53,0xf5,0xa6,0x53},
789     {0xd1,0x68,0xb9,0xd1},
790     {0x00,0x00,0x00,0x00},
791     {0xed,0x2c,0xc1,0xed},
792
793     {0x20,0x60,0x40,0x20},
794     {0xfc,0x1f,0xe3,0xfc},
795     {0xb1,0xc8,0x79,0xb1},
796     {0x5b,0xed,0xb6,0x5b},
797
798     {0x6a,0xbe,0xd4,0x6a},
799     {0xcb,0x46,0x8d,0xcb},
800     {0xbe,0xd9,0x67,0xbe},
801     {0x39,0x4b,0x72,0x39},
802
803     {0x4a,0xde,0x94,0x4a},
804     {0x4c,0xd4,0x98,0x4c},
805     {0x58,0xe8,0xb0,0x58},
806     {0xcf,0x4a,0x85,0xcf},
807
808     {0xd0,0x6b,0xbb,0xd0},
809     {0xef,0x2a,0xc5,0xef},
810     {0xaa,0xe5,0x4f,0xaa},
811     {0xfb,0x16,0xed,0xfb},
812
813     {0x43,0xc5,0x86,0x43},
814     {0x4d,0xd7,0x9a,0x4d},
815     {0x33,0x55,0x66,0x33},
816     {0x85,0x94,0x11,0x85},
817
818     {0x45,0xcf,0x8a,0x45},
819     {0xf9,0x10,0xe9,0xf9},
820     {0x02,0x06,0x04,0x02},
821     {0x7f,0x81,0xfe,0x7f},
822
823     {0x50,0xf0,0xa0,0x50},
824     {0x3c,0x44,0x78,0x3c},
825     {0x9f,0xba,0x25,0x9f},
826     {0xa8,0xe3,0x4b,0xa8},
827
828     {0x51,0xf3,0xa2,0x51},
829     {0xa3,0xfe,0x5d,0xa3},
830     {0x40,0xc0,0x80,0x40},
831     {0x8f,0x8a,0x05,0x8f},
832
833     {0x92,0xad,0x3f,0x92},
834     {0x9d,0xbc,0x21,0x9d},
835     {0x38,0x48,0x70,0x38},
836     {0xf5,0x04,0xf1,0xf5},
837
838     {0xbc,0xdf,0x63,0xbc},
839     {0xb6,0xc1,0x77,0xb6},
840     {0xda,0x75,0xaf,0xda},
841     {0x21,0x63,0x42,0x21},
842
843     {0x10,0x30,0x20,0x10},
844     {0xff,0x1a,0xe5,0xff},
845     {0xf3,0x0e,0xfd,0xf3},
846     {0xd2,0x6d,0xbf,0xd2},
847
848     {0xcd,0x4c,0x81,0xcd},
849     {0x0c,0x14,0x18,0x0c},
850     {0x13,0x35,0x26,0x13},
851     {0xec,0x2f,0xc3,0xec},
852
853     {0x5f,0xe1,0xbe,0x5f},
854     {0x97,0xa2,0x35,0x97},
855     {0x44,0xcc,0x88,0x44},
856     {0x17,0x39,0x2e,0x17},
857
858     {0xc4,0x57,0x93,0xc4},
859     {0xa7,0xf2,0x55,0xa7},
860     {0x7e,0x82,0xfc,0x7e},
861     {0x3d,0x47,0x7a,0x3d},
862
863     {0x64,0xac,0xc8,0x64},
864     {0x5d,0xe7,0xba,0x5d},
865     {0x19,0x2b,0x32,0x19},
866     {0x73,0x95,0xe6,0x73},
867
868     {0x60,0xa0,0xc0,0x60},
869     {0x81,0x98,0x19,0x81},
870     {0x4f,0xd1,0x9e,0x4f},
871     {0xdc,0x7f,0xa3,0xdc},
872
873     {0x22,0x66,0x44,0x22},
874     {0x2a,0x7e,0x54,0x2a},
875     {0x90,0xab,0x3b,0x90},
876     {0x88,0x83,0x0b,0x88},
877
878     {0x46,0xca,0x8c,0x46},
879     {0xee,0x29,0xc7,0xee},
880     {0xb8,0xd3,0x6b,0xb8},
881     {0x14,0x3c,0x28,0x14},
882
883     {0xde,0x79,0xa7,0xde},
884     {0x5e,0xe2,0xbc,0x5e},
885     {0x0b,0x1d,0x16,0x0b},
886     {0xdb,0x76,0xad,0xdb},
887
888     {0xe0,0x3b,0xdb,0xe0},
889     {0x32,0x56,0x64,0x32},
890     {0x3a,0x4e,0x74,0x3a},
891     {0x0a,0x1e,0x14,0x0a},
892
893     {0x49,0xdb,0x92,0x49},
894     {0x06,0x0a,0x0c,0x06},
895     {0x24,0x6c,0x48,0x24},
896     {0x5c,0xe4,0xb8,0x5c},
897
898     {0xc2,0x5d,0x9f,0xc2},
899     {0xd3,0x6e,0xbd,0xd3},
900     {0xac,0xef,0x43,0xac},
901     {0x62,0xa6,0xc4,0x62},
902
903     {0x91,0xa8,0x39,0x91},
904     {0x95,0xa4,0x31,0x95},
905     {0xe4,0x37,0xd3,0xe4},
906     {0x79,0x8b,0xf2,0x79},
907
908     {0xe7,0x32,0xd5,0xe7},
909     {0xc8,0x43,0x8b,0xc8},
910     {0x37,0x59,0x6e,0x37},
911     {0x6d,0xb7,0xda,0x6d},
912
913     {0x8d,0x8c,0x01,0x8d},
914     {0xd5,0x64,0xb1,0xd5},
915     {0x4e,0xd2,0x9c,0x4e},
916     {0xa9,0xe0,0x49,0xa9},
917
918     {0x6c,0xb4,0xd8,0x6c},
919     {0x56,0xfa,0xac,0x56},
920     {0xf4,0x07,0xf3,0xf4},
921     {0xea,0x25,0xcf,0xea},
922
923     {0x65,0xaf,0xca,0x65},
924     {0x7a,0x8e,0xf4,0x7a},
925     {0xae,0xe9,0x47,0xae},
926     {0x08,0x18,0x10,0x08},
927
928     {0xba,0xd5,0x6f,0xba},
929     {0x78,0x88,0xf0,0x78},
930     {0x25,0x6f,0x4a,0x25},
931     {0x2e,0x72,0x5c,0x2e},
932
933     {0x1c,0x24,0x38,0x1c},
934     {0xa6,0xf1,0x57,0xa6},
935     {0xb4,0xc7,0x73,0xb4},
936     {0xc6,0x51,0x97,0xc6},
937
938     {0xe8,0x23,0xcb,0xe8},
939     {0xdd,0x7c,0xa1,0xdd},
940     {0x74,0x9c,0xe8,0x74},
941     {0x1f,0x21,0x3e,0x1f},
942
943     {0x4b,0xdd,0x96,0x4b},
944     {0xbd,0xdc,0x61,0xbd},
945     {0x8b,0x86,0x0d,0x8b},
946     {0x8a,0x85,0x0f,0x8a},
947
948     {0x70,0x90,0xe0,0x70},
949     {0x3e,0x42,0x7c,0x3e},
950     {0xb5,0xc4,0x71,0xb5},
951     {0x66,0xaa,0xcc,0x66},
952
953     {0x48,0xd8,0x90,0x48},
954     {0x03,0x05,0x06,0x03},
955     {0xf6,0x01,0xf7,0xf6},
956     {0x0e,0x12,0x1c,0x0e},
957
958     {0x61,0xa3,0xc2,0x61},
959     {0x35,0x5f,0x6a,0x35},
960     {0x57,0xf9,0xae,0x57},
961     {0xb9,0xd0,0x69,0xb9},
962
963     {0x86,0x91,0x17,0x86},
964     {0xc1,0x58,0x99,0xc1},
965     {0x1d,0x27,0x3a,0x1d},
966     {0x9e,0xb9,0x27,0x9e},
967
968     {0xe1,0x38,0xd9,0xe1},
969     {0xf8,0x13,0xeb,0xf8},
970     {0x98,0xb3,0x2b,0x98},
971     {0x11,0x33,0x22,0x11},
972
973     {0x69,0xbb,0xd2,0x69},
974     {0xd9,0x70,0xa9,0xd9},
975     {0x8e,0x89,0x07,0x8e},
976     {0x94,0xa7,0x33,0x94},
977
978     {0x9b,0xb6,0x2d,0x9b},
979     {0x1e,0x22,0x3c,0x1e},
980     {0x87,0x92,0x15,0x87},
981     {0xe9,0x20,0xc9,0xe9},
982
983     {0xce,0x49,0x87,0xce},
984     {0x55,0xff,0xaa,0x55},
985     {0x28,0x78,0x50,0x28},
986     {0xdf,0x7a,0xa5,0xdf},
987
988     {0x8c,0x8f,0x03,0x8c},
989     {0xa1,0xf8,0x59,0xa1},
990     {0x89,0x80,0x09,0x89},
991     {0x0d,0x17,0x1a,0x0d},
992
993     {0xbf,0xda,0x65,0xbf},
994     {0xe6,0x31,0xd7,0xe6},
995     {0x42,0xc6,0x84,0x42},
996     {0x68,0xb8,0xd0,0x68},
997
998     {0x41,0xc3,0x82,0x41},
999     {0x99,0xb0,0x29,0x99},
1000     {0x2d,0x77,0x5a,0x2d},
1001     {0x0f,0x11,0x1e,0x0f},
1002
1003     {0xb0,0xcb,0x7b,0xb0},
1004     {0x54,0xfc,0xa8,0x54},
1005     {0xbb,0xd6,0x6d,0xbb},
1006     {0x16,0x3a,0x2c,0x16},
1007
1008 };
1009
1010 word8 T4[256][4] = {
1011     {0x63,0x63,0xa5,0xc6},
1012     {0x7c,0x7c,0x84,0xf8},
1013     {0x77,0x77,0x99,0xee},
1014     {0x7b,0x7b,0x8d,0xf6},
1015
1016     {0xf2,0xf2,0x0d,0xff},
1017     {0x6b,0x6b,0xbd,0xd6},
1018     {0x6f,0x6f,0xb1,0xde},
1019     {0xc5,0xc5,0x54,0x91},
1020
1021     {0x30,0x30,0x50,0x60},
1022     {0x01,0x01,0x03,0x02},
1023     {0x67,0x67,0xa9,0xce},
1024     {0x2b,0x2b,0x7d,0x56},
1025
1026     {0xfe,0xfe,0x19,0xe7},
1027     {0xd7,0xd7,0x62,0xb5},
1028     {0xab,0xab,0xe6,0x4d},
1029     {0x76,0x76,0x9a,0xec},
1030
1031     {0xca,0xca,0x45,0x8f},
1032     {0x82,0x82,0x9d,0x1f},
1033     {0xc9,0xc9,0x40,0x89},
1034     {0x7d,0x7d,0x87,0xfa},
1035
1036     {0xfa,0xfa,0x15,0xef},
1037     {0x59,0x59,0xeb,0xb2},
1038     {0x47,0x47,0xc9,0x8e},
1039     {0xf0,0xf0,0x0b,0xfb},
1040
1041     {0xad,0xad,0xec,0x41},
1042     {0xd4,0xd4,0x67,0xb3},
1043     {0xa2,0xa2,0xfd,0x5f},
1044     {0xaf,0xaf,0xea,0x45},
1045
1046     {0x9c,0x9c,0xbf,0x23},
1047     {0xa4,0xa4,0xf7,0x53},
1048     {0x72,0x72,0x96,0xe4},
1049     {0xc0,0xc0,0x5b,0x9b},
1050
1051     {0xb7,0xb7,0xc2,0x75},
1052     {0xfd,0xfd,0x1c,0xe1},
1053     {0x93,0x93,0xae,0x3d},
1054     {0x26,0x26,0x6a,0x4c},
1055
1056     {0x36,0x36,0x5a,0x6c},
1057     {0x3f,0x3f,0x41,0x7e},
1058     {0xf7,0xf7,0x02,0xf5},
1059     {0xcc,0xcc,0x4f,0x83},
1060
1061     {0x34,0x34,0x5c,0x68},
1062     {0xa5,0xa5,0xf4,0x51},
1063     {0xe5,0xe5,0x34,0xd1},
1064     {0xf1,0xf1,0x08,0xf9},
1065
1066     {0x71,0x71,0x93,0xe2},
1067     {0xd8,0xd8,0x73,0xab},
1068     {0x31,0x31,0x53,0x62},
1069     {0x15,0x15,0x3f,0x2a},
1070
1071     {0x04,0x04,0x0c,0x08},
1072     {0xc7,0xc7,0x52,0x95},
1073     {0x23,0x23,0x65,0x46},
1074     {0xc3,0xc3,0x5e,0x9d},
1075
1076     {0x18,0x18,0x28,0x30},
1077     {0x96,0x96,0xa1,0x37},
1078     {0x05,0x05,0x0f,0x0a},
1079     {0x9a,0x9a,0xb5,0x2f},
1080
1081     {0x07,0x07,0x09,0x0e},
1082     {0x12,0x12,0x36,0x24},
1083     {0x80,0x80,0x9b,0x1b},
1084     {0xe2,0xe2,0x3d,0xdf},
1085
1086     {0xeb,0xeb,0x26,0xcd},
1087     {0x27,0x27,0x69,0x4e},
1088     {0xb2,0xb2,0xcd,0x7f},
1089     {0x75,0x75,0x9f,0xea},
1090
1091     {0x09,0x09,0x1b,0x12},
1092     {0x83,0x83,0x9e,0x1d},
1093     {0x2c,0x2c,0x74,0x58},
1094     {0x1a,0x1a,0x2e,0x34},
1095
1096     {0x1b,0x1b,0x2d,0x36},
1097     {0x6e,0x6e,0xb2,0xdc},
1098     {0x5a,0x5a,0xee,0xb4},
1099     {0xa0,0xa0,0xfb,0x5b},
1100
1101     {0x52,0x52,0xf6,0xa4},
1102     {0x3b,0x3b,0x4d,0x76},
1103     {0xd6,0xd6,0x61,0xb7},
1104     {0xb3,0xb3,0xce,0x7d},
1105
1106     {0x29,0x29,0x7b,0x52},
1107     {0xe3,0xe3,0x3e,0xdd},
1108     {0x2f,0x2f,0x71,0x5e},
1109     {0x84,0x84,0x97,0x13},
1110
1111     {0x53,0x53,0xf5,0xa6},
1112     {0xd1,0xd1,0x68,0xb9},
1113     {0x00,0x00,0x00,0x00},
1114     {0xed,0xed,0x2c,0xc1},
1115
1116     {0x20,0x20,0x60,0x40},
1117     {0xfc,0xfc,0x1f,0xe3},
1118     {0xb1,0xb1,0xc8,0x79},
1119     {0x5b,0x5b,0xed,0xb6},
1120
1121     {0x6a,0x6a,0xbe,0xd4},
1122     {0xcb,0xcb,0x46,0x8d},
1123     {0xbe,0xbe,0xd9,0x67},
1124     {0x39,0x39,0x4b,0x72},
1125
1126     {0x4a,0x4a,0xde,0x94},
1127     {0x4c,0x4c,0xd4,0x98},
1128     {0x58,0x58,0xe8,0xb0},
1129     {0xcf,0xcf,0x4a,0x85},
1130
1131     {0xd0,0xd0,0x6b,0xbb},
1132     {0xef,0xef,0x2a,0xc5},
1133     {0xaa,0xaa,0xe5,0x4f},
1134     {0xfb,0xfb,0x16,0xed},
1135
1136     {0x43,0x43,0xc5,0x86},
1137     {0x4d,0x4d,0xd7,0x9a},
1138     {0x33,0x33,0x55,0x66},
1139     {0x85,0x85,0x94,0x11},
1140
1141     {0x45,0x45,0xcf,0x8a},
1142     {0xf9,0xf9,0x10,0xe9},
1143     {0x02,0x02,0x06,0x04},
1144     {0x7f,0x7f,0x81,0xfe},
1145
1146     {0x50,0x50,0xf0,0xa0},
1147     {0x3c,0x3c,0x44,0x78},
1148     {0x9f,0x9f,0xba,0x25},
1149     {0xa8,0xa8,0xe3,0x4b},
1150
1151     {0x51,0x51,0xf3,0xa2},
1152     {0xa3,0xa3,0xfe,0x5d},
1153     {0x40,0x40,0xc0,0x80},
1154     {0x8f,0x8f,0x8a,0x05},
1155
1156     {0x92,0x92,0xad,0x3f},
1157     {0x9d,0x9d,0xbc,0x21},
1158     {0x38,0x38,0x48,0x70},
1159     {0xf5,0xf5,0x04,0xf1},
1160
1161     {0xbc,0xbc,0xdf,0x63},
1162     {0xb6,0xb6,0xc1,0x77},
1163     {0xda,0xda,0x75,0xaf},
1164     {0x21,0x21,0x63,0x42},
1165
1166     {0x10,0x10,0x30,0x20},
1167     {0xff,0xff,0x1a,0xe5},
1168     {0xf3,0xf3,0x0e,0xfd},
1169     {0xd2,0xd2,0x6d,0xbf},
1170
1171     {0xcd,0xcd,0x4c,0x81},
1172     {0x0c,0x0c,0x14,0x18},
1173     {0x13,0x13,0x35,0x26},
1174     {0xec,0xec,0x2f,0xc3},
1175
1176     {0x5f,0x5f,0xe1,0xbe},
1177     {0x97,0x97,0xa2,0x35},
1178     {0x44,0x44,0xcc,0x88},
1179     {0x17,0x17,0x39,0x2e},
1180
1181     {0xc4,0xc4,0x57,0x93},
1182     {0xa7,0xa7,0xf2,0x55},
1183     {0x7e,0x7e,0x82,0xfc},
1184     {0x3d,0x3d,0x47,0x7a},
1185
1186     {0x64,0x64,0xac,0xc8},
1187     {0x5d,0x5d,0xe7,0xba},
1188     {0x19,0x19,0x2b,0x32},
1189     {0x73,0x73,0x95,0xe6},
1190
1191     {0x60,0x60,0xa0,0xc0},
1192     {0x81,0x81,0x98,0x19},
1193     {0x4f,0x4f,0xd1,0x9e},
1194     {0xdc,0xdc,0x7f,0xa3},
1195
1196     {0x22,0x22,0x66,0x44},
1197     {0x2a,0x2a,0x7e,0x54},
1198     {0x90,0x90,0xab,0x3b},
1199     {0x88,0x88,0x83,0x0b},
1200
1201     {0x46,0x46,0xca,0x8c},
1202     {0xee,0xee,0x29,0xc7},
1203     {0xb8,0xb8,0xd3,0x6b},
1204     {0x14,0x14,0x3c,0x28},
1205
1206     {0xde,0xde,0x79,0xa7},
1207     {0x5e,0x5e,0xe2,0xbc},
1208     {0x0b,0x0b,0x1d,0x16},
1209     {0xdb,0xdb,0x76,0xad},
1210
1211     {0xe0,0xe0,0x3b,0xdb},
1212     {0x32,0x32,0x56,0x64},
1213     {0x3a,0x3a,0x4e,0x74},
1214     {0x0a,0x0a,0x1e,0x14},
1215
1216     {0x49,0x49,0xdb,0x92},
1217     {0x06,0x06,0x0a,0x0c},
1218     {0x24,0x24,0x6c,0x48},
1219     {0x5c,0x5c,0xe4,0xb8},
1220
1221     {0xc2,0xc2,0x5d,0x9f},
1222     {0xd3,0xd3,0x6e,0xbd},
1223     {0xac,0xac,0xef,0x43},
1224     {0x62,0x62,0xa6,0xc4},
1225
1226     {0x91,0x91,0xa8,0x39},
1227     {0x95,0x95,0xa4,0x31},
1228     {0xe4,0xe4,0x37,0xd3},
1229     {0x79,0x79,0x8b,0xf2},
1230
1231     {0xe7,0xe7,0x32,0xd5},
1232     {0xc8,0xc8,0x43,0x8b},
1233     {0x37,0x37,0x59,0x6e},
1234     {0x6d,0x6d,0xb7,0xda},
1235
1236     {0x8d,0x8d,0x8c,0x01},
1237     {0xd5,0xd5,0x64,0xb1},
1238     {0x4e,0x4e,0xd2,0x9c},
1239     {0xa9,0xa9,0xe0,0x49},
1240
1241     {0x6c,0x6c,0xb4,0xd8},
1242     {0x56,0x56,0xfa,0xac},
1243     {0xf4,0xf4,0x07,0xf3},
1244     {0xea,0xea,0x25,0xcf},
1245
1246     {0x65,0x65,0xaf,0xca},
1247     {0x7a,0x7a,0x8e,0xf4},
1248     {0xae,0xae,0xe9,0x47},
1249     {0x08,0x08,0x18,0x10},
1250
1251     {0xba,0xba,0xd5,0x6f},
1252     {0x78,0x78,0x88,0xf0},
1253     {0x25,0x25,0x6f,0x4a},
1254     {0x2e,0x2e,0x72,0x5c},
1255
1256     {0x1c,0x1c,0x24,0x38},
1257     {0xa6,0xa6,0xf1,0x57},
1258     {0xb4,0xb4,0xc7,0x73},
1259     {0xc6,0xc6,0x51,0x97},
1260
1261     {0xe8,0xe8,0x23,0xcb},
1262     {0xdd,0xdd,0x7c,0xa1},
1263     {0x74,0x74,0x9c,0xe8},
1264     {0x1f,0x1f,0x21,0x3e},
1265
1266     {0x4b,0x4b,0xdd,0x96},
1267     {0xbd,0xbd,0xdc,0x61},
1268     {0x8b,0x8b,0x86,0x0d},
1269     {0x8a,0x8a,0x85,0x0f},
1270
1271     {0x70,0x70,0x90,0xe0},
1272     {0x3e,0x3e,0x42,0x7c},
1273     {0xb5,0xb5,0xc4,0x71},
1274     {0x66,0x66,0xaa,0xcc},
1275
1276     {0x48,0x48,0xd8,0x90},
1277     {0x03,0x03,0x05,0x06},
1278     {0xf6,0xf6,0x01,0xf7},
1279     {0x0e,0x0e,0x12,0x1c},
1280
1281     {0x61,0x61,0xa3,0xc2},
1282     {0x35,0x35,0x5f,0x6a},
1283     {0x57,0x57,0xf9,0xae},
1284     {0xb9,0xb9,0xd0,0x69},
1285
1286     {0x86,0x86,0x91,0x17},
1287     {0xc1,0xc1,0x58,0x99},
1288     {0x1d,0x1d,0x27,0x3a},
1289     {0x9e,0x9e,0xb9,0x27},
1290
1291     {0xe1,0xe1,0x38,0xd9},
1292     {0xf8,0xf8,0x13,0xeb},
1293     {0x98,0x98,0xb3,0x2b},
1294     {0x11,0x11,0x33,0x22},
1295
1296     {0x69,0x69,0xbb,0xd2},
1297     {0xd9,0xd9,0x70,0xa9},
1298     {0x8e,0x8e,0x89,0x07},
1299     {0x94,0x94,0xa7,0x33},
1300
1301     {0x9b,0x9b,0xb6,0x2d},
1302     {0x1e,0x1e,0x22,0x3c},
1303     {0x87,0x87,0x92,0x15},
1304     {0xe9,0xe9,0x20,0xc9},
1305
1306     {0xce,0xce,0x49,0x87},
1307     {0x55,0x55,0xff,0xaa},
1308     {0x28,0x28,0x78,0x50},
1309     {0xdf,0xdf,0x7a,0xa5},
1310
1311     {0x8c,0x8c,0x8f,0x03},
1312     {0xa1,0xa1,0xf8,0x59},
1313     {0x89,0x89,0x80,0x09},
1314     {0x0d,0x0d,0x17,0x1a},
1315
1316     {0xbf,0xbf,0xda,0x65},
1317     {0xe6,0xe6,0x31,0xd7},
1318     {0x42,0x42,0xc6,0x84},
1319     {0x68,0x68,0xb8,0xd0},
1320
1321     {0x41,0x41,0xc3,0x82},
1322     {0x99,0x99,0xb0,0x29},
1323     {0x2d,0x2d,0x77,0x5a},
1324     {0x0f,0x0f,0x11,0x1e},
1325
1326     {0xb0,0xb0,0xcb,0x7b},
1327     {0x54,0x54,0xfc,0xa8},
1328     {0xbb,0xbb,0xd6,0x6d},
1329     {0x16,0x16,0x3a,0x2c},
1330
1331 };
1332
1333 word8 T5[256][4] = {
1334     {0x51,0xf4,0xa7,0x50},
1335     {0x7e,0x41,0x65,0x53},
1336     {0x1a,0x17,0xa4,0xc3},
1337     {0x3a,0x27,0x5e,0x96},
1338
1339     {0x3b,0xab,0x6b,0xcb},
1340     {0x1f,0x9d,0x45,0xf1},
1341     {0xac,0xfa,0x58,0xab},
1342     {0x4b,0xe3,0x03,0x93},
1343
1344     {0x20,0x30,0xfa,0x55},
1345     {0xad,0x76,0x6d,0xf6},
1346     {0x88,0xcc,0x76,0x91},
1347     {0xf5,0x02,0x4c,0x25},
1348
1349     {0x4f,0xe5,0xd7,0xfc},
1350     {0xc5,0x2a,0xcb,0xd7},
1351     {0x26,0x35,0x44,0x80},
1352     {0xb5,0x62,0xa3,0x8f},
1353
1354     {0xde,0xb1,0x5a,0x49},
1355     {0x25,0xba,0x1b,0x67},
1356     {0x45,0xea,0x0e,0x98},
1357     {0x5d,0xfe,0xc0,0xe1},
1358
1359     {0xc3,0x2f,0x75,0x02},
1360     {0x81,0x4c,0xf0,0x12},
1361     {0x8d,0x46,0x97,0xa3},
1362     {0x6b,0xd3,0xf9,0xc6},
1363
1364     {0x03,0x8f,0x5f,0xe7},
1365     {0x15,0x92,0x9c,0x95},
1366     {0xbf,0x6d,0x7a,0xeb},
1367     {0x95,0x52,0x59,0xda},
1368
1369     {0xd4,0xbe,0x83,0x2d},
1370     {0x58,0x74,0x21,0xd3},
1371     {0x49,0xe0,0x69,0x29},
1372     {0x8e,0xc9,0xc8,0x44},
1373
1374     {0x75,0xc2,0x89,0x6a},
1375     {0xf4,0x8e,0x79,0x78},
1376     {0x99,0x58,0x3e,0x6b},
1377     {0x27,0xb9,0x71,0xdd},
1378
1379     {0xbe,0xe1,0x4f,0xb6},
1380     {0xf0,0x88,0xad,0x17},
1381     {0xc9,0x20,0xac,0x66},
1382     {0x7d,0xce,0x3a,0xb4},
1383
1384     {0x63,0xdf,0x4a,0x18},
1385     {0xe5,0x1a,0x31,0x82},
1386     {0x97,0x51,0x33,0x60},
1387     {0x62,0x53,0x7f,0x45},
1388
1389     {0xb1,0x64,0x77,0xe0},
1390     {0xbb,0x6b,0xae,0x84},
1391     {0xfe,0x81,0xa0,0x1c},
1392     {0xf9,0x08,0x2b,0x94},
1393
1394     {0x70,0x48,0x68,0x58},
1395     {0x8f,0x45,0xfd,0x19},
1396     {0x94,0xde,0x6c,0x87},
1397     {0x52,0x7b,0xf8,0xb7},
1398
1399     {0xab,0x73,0xd3,0x23},
1400     {0x72,0x4b,0x02,0xe2},
1401     {0xe3,0x1f,0x8f,0x57},
1402     {0x66,0x55,0xab,0x2a},
1403
1404     {0xb2,0xeb,0x28,0x07},
1405     {0x2f,0xb5,0xc2,0x03},
1406     {0x86,0xc5,0x7b,0x9a},
1407     {0xd3,0x37,0x08,0xa5},
1408
1409     {0x30,0x28,0x87,0xf2},
1410     {0x23,0xbf,0xa5,0xb2},
1411     {0x02,0x03,0x6a,0xba},
1412     {0xed,0x16,0x82,0x5c},
1413
1414     {0x8a,0xcf,0x1c,0x2b},
1415     {0xa7,0x79,0xb4,0x92},
1416     {0xf3,0x07,0xf2,0xf0},
1417     {0x4e,0x69,0xe2,0xa1},
1418
1419     {0x65,0xda,0xf4,0xcd},
1420     {0x06,0x05,0xbe,0xd5},
1421     {0xd1,0x34,0x62,0x1f},
1422     {0xc4,0xa6,0xfe,0x8a},
1423
1424     {0x34,0x2e,0x53,0x9d},
1425     {0xa2,0xf3,0x55,0xa0},
1426     {0x05,0x8a,0xe1,0x32},
1427     {0xa4,0xf6,0xeb,0x75},
1428
1429     {0x0b,0x83,0xec,0x39},
1430     {0x40,0x60,0xef,0xaa},
1431     {0x5e,0x71,0x9f,0x06},
1432     {0xbd,0x6e,0x10,0x51},
1433
1434     {0x3e,0x21,0x8a,0xf9},
1435     {0x96,0xdd,0x06,0x3d},
1436     {0xdd,0x3e,0x05,0xae},
1437     {0x4d,0xe6,0xbd,0x46},
1438
1439     {0x91,0x54,0x8d,0xb5},
1440     {0x71,0xc4,0x5d,0x05},
1441     {0x04,0x06,0xd4,0x6f},
1442     {0x60,0x50,0x15,0xff},
1443
1444     {0x19,0x98,0xfb,0x24},
1445     {0xd6,0xbd,0xe9,0x97},
1446     {0x89,0x40,0x43,0xcc},
1447     {0x67,0xd9,0x9e,0x77},
1448
1449     {0xb0,0xe8,0x42,0xbd},
1450     {0x07,0x89,0x8b,0x88},
1451     {0xe7,0x19,0x5b,0x38},
1452     {0x79,0xc8,0xee,0xdb},
1453
1454     {0xa1,0x7c,0x0a,0x47},
1455     {0x7c,0x42,0x0f,0xe9},
1456     {0xf8,0x84,0x1e,0xc9},
1457     {0x00,0x00,0x00,0x00},
1458
1459     {0x09,0x80,0x86,0x83},
1460     {0x32,0x2b,0xed,0x48},
1461     {0x1e,0x11,0x70,0xac},
1462     {0x6c,0x5a,0x72,0x4e},
1463
1464     {0xfd,0x0e,0xff,0xfb},
1465     {0x0f,0x85,0x38,0x56},
1466     {0x3d,0xae,0xd5,0x1e},
1467     {0x36,0x2d,0x39,0x27},
1468
1469     {0x0a,0x0f,0xd9,0x64},
1470     {0x68,0x5c,0xa6,0x21},
1471     {0x9b,0x5b,0x54,0xd1},
1472     {0x24,0x36,0x2e,0x3a},
1473
1474     {0x0c,0x0a,0x67,0xb1},
1475     {0x93,0x57,0xe7,0x0f},
1476     {0xb4,0xee,0x96,0xd2},
1477     {0x1b,0x9b,0x91,0x9e},
1478
1479     {0x80,0xc0,0xc5,0x4f},
1480     {0x61,0xdc,0x20,0xa2},
1481     {0x5a,0x77,0x4b,0x69},
1482     {0x1c,0x12,0x1a,0x16},
1483
1484     {0xe2,0x93,0xba,0x0a},
1485     {0xc0,0xa0,0x2a,0xe5},
1486     {0x3c,0x22,0xe0,0x43},
1487     {0x12,0x1b,0x17,0x1d},
1488
1489     {0x0e,0x09,0x0d,0x0b},
1490     {0xf2,0x8b,0xc7,0xad},
1491     {0x2d,0xb6,0xa8,0xb9},
1492     {0x14,0x1e,0xa9,0xc8},
1493
1494     {0x57,0xf1,0x19,0x85},
1495     {0xaf,0x75,0x07,0x4c},
1496     {0xee,0x99,0xdd,0xbb},
1497     {0xa3,0x7f,0x60,0xfd},
1498
1499     {0xf7,0x01,0x26,0x9f},
1500     {0x5c,0x72,0xf5,0xbc},
1501     {0x44,0x66,0x3b,0xc5},
1502     {0x5b,0xfb,0x7e,0x34},
1503
1504     {0x8b,0x43,0x29,0x76},
1505     {0xcb,0x23,0xc6,0xdc},
1506     {0xb6,0xed,0xfc,0x68},
1507     {0xb8,0xe4,0xf1,0x63},
1508
1509     {0xd7,0x31,0xdc,0xca},
1510     {0x42,0x63,0x85,0x10},
1511     {0x13,0x97,0x22,0x40},
1512     {0x84,0xc6,0x11,0x20},
1513
1514     {0x85,0x4a,0x24,0x7d},
1515     {0xd2,0xbb,0x3d,0xf8},
1516     {0xae,0xf9,0x32,0x11},
1517     {0xc7,0x29,0xa1,0x6d},
1518
1519     {0x1d,0x9e,0x2f,0x4b},
1520     {0xdc,0xb2,0x30,0xf3},
1521     {0x0d,0x86,0x52,0xec},
1522     {0x77,0xc1,0xe3,0xd0},
1523
1524     {0x2b,0xb3,0x16,0x6c},
1525     {0xa9,0x70,0xb9,0x99},
1526     {0x11,0x94,0x48,0xfa},
1527     {0x47,0xe9,0x64,0x22},
1528
1529     {0xa8,0xfc,0x8c,0xc4},
1530     {0xa0,0xf0,0x3f,0x1a},
1531     {0x56,0x7d,0x2c,0xd8},
1532     {0x22,0x33,0x90,0xef},
1533
1534     {0x87,0x49,0x4e,0xc7},
1535     {0xd9,0x38,0xd1,0xc1},
1536     {0x8c,0xca,0xa2,0xfe},
1537     {0x98,0xd4,0x0b,0x36},
1538
1539     {0xa6,0xf5,0x81,0xcf},
1540     {0xa5,0x7a,0xde,0x28},
1541     {0xda,0xb7,0x8e,0x26},
1542     {0x3f,0xad,0xbf,0xa4},
1543
1544     {0x2c,0x3a,0x9d,0xe4},
1545     {0x50,0x78,0x92,0x0d},
1546     {0x6a,0x5f,0xcc,0x9b},
1547     {0x54,0x7e,0x46,0x62},
1548
1549     {0xf6,0x8d,0x13,0xc2},
1550     {0x90,0xd8,0xb8,0xe8},
1551     {0x2e,0x39,0xf7,0x5e},
1552     {0x82,0xc3,0xaf,0xf5},
1553
1554     {0x9f,0x5d,0x80,0xbe},
1555     {0x69,0xd0,0x93,0x7c},
1556     {0x6f,0xd5,0x2d,0xa9},
1557     {0xcf,0x25,0x12,0xb3},
1558
1559     {0xc8,0xac,0x99,0x3b},
1560     {0x10,0x18,0x7d,0xa7},
1561     {0xe8,0x9c,0x63,0x6e},
1562     {0xdb,0x3b,0xbb,0x7b},
1563
1564     {0xcd,0x26,0x78,0x09},
1565     {0x6e,0x59,0x18,0xf4},
1566     {0xec,0x9a,0xb7,0x01},
1567     {0x83,0x4f,0x9a,0xa8},
1568
1569     {0xe6,0x95,0x6e,0x65},
1570     {0xaa,0xff,0xe6,0x7e},
1571     {0x21,0xbc,0xcf,0x08},
1572     {0xef,0x15,0xe8,0xe6},
1573
1574     {0xba,0xe7,0x9b,0xd9},
1575     {0x4a,0x6f,0x36,0xce},
1576     {0xea,0x9f,0x09,0xd4},
1577     {0x29,0xb0,0x7c,0xd6},
1578
1579     {0x31,0xa4,0xb2,0xaf},
1580     {0x2a,0x3f,0x23,0x31},
1581     {0xc6,0xa5,0x94,0x30},
1582     {0x35,0xa2,0x66,0xc0},
1583
1584     {0x74,0x4e,0xbc,0x37},
1585     {0xfc,0x82,0xca,0xa6},
1586     {0xe0,0x90,0xd0,0xb0},
1587     {0x33,0xa7,0xd8,0x15},
1588
1589     {0xf1,0x04,0x98,0x4a},
1590     {0x41,0xec,0xda,0xf7},
1591     {0x7f,0xcd,0x50,0x0e},
1592     {0x17,0x91,0xf6,0x2f},
1593
1594     {0x76,0x4d,0xd6,0x8d},
1595     {0x43,0xef,0xb0,0x4d},
1596     {0xcc,0xaa,0x4d,0x54},
1597     {0xe4,0x96,0x04,0xdf},
1598
1599     {0x9e,0xd1,0xb5,0xe3},
1600     {0x4c,0x6a,0x88,0x1b},
1601     {0xc1,0x2c,0x1f,0xb8},
1602     {0x46,0x65,0x51,0x7f},
1603
1604     {0x9d,0x5e,0xea,0x04},
1605     {0x01,0x8c,0x35,0x5d},
1606     {0xfa,0x87,0x74,0x73},
1607     {0xfb,0x0b,0x41,0x2e},
1608
1609     {0xb3,0x67,0x1d,0x5a},
1610     {0x92,0xdb,0xd2,0x52},
1611     {0xe9,0x10,0x56,0x33},
1612     {0x6d,0xd6,0x47,0x13},
1613
1614     {0x9a,0xd7,0x61,0x8c},
1615     {0x37,0xa1,0x0c,0x7a},
1616     {0x59,0xf8,0x14,0x8e},
1617     {0xeb,0x13,0x3c,0x89},
1618
1619     {0xce,0xa9,0x27,0xee},
1620     {0xb7,0x61,0xc9,0x35},
1621     {0xe1,0x1c,0xe5,0xed},
1622     {0x7a,0x47,0xb1,0x3c},
1623
1624     {0x9c,0xd2,0xdf,0x59},
1625     {0x55,0xf2,0x73,0x3f},
1626     {0x18,0x14,0xce,0x79},
1627     {0x73,0xc7,0x37,0xbf},
1628
1629     {0x53,0xf7,0xcd,0xea},
1630     {0x5f,0xfd,0xaa,0x5b},
1631     {0xdf,0x3d,0x6f,0x14},
1632     {0x78,0x44,0xdb,0x86},
1633
1634     {0xca,0xaf,0xf3,0x81},
1635     {0xb9,0x68,0xc4,0x3e},
1636     {0x38,0x24,0x34,0x2c},
1637     {0xc2,0xa3,0x40,0x5f},
1638
1639     {0x16,0x1d,0xc3,0x72},
1640     {0xbc,0xe2,0x25,0x0c},
1641     {0x28,0x3c,0x49,0x8b},
1642     {0xff,0x0d,0x95,0x41},
1643
1644     {0x39,0xa8,0x01,0x71},
1645     {0x08,0x0c,0xb3,0xde},
1646     {0xd8,0xb4,0xe4,0x9c},
1647     {0x64,0x56,0xc1,0x90},
1648
1649     {0x7b,0xcb,0x84,0x61},
1650     {0xd5,0x32,0xb6,0x70},
1651     {0x48,0x6c,0x5c,0x74},
1652     {0xd0,0xb8,0x57,0x42},
1653
1654 };
1655
1656 word8 T6[256][4] = {
1657     {0x50,0x51,0xf4,0xa7},
1658     {0x53,0x7e,0x41,0x65},
1659     {0xc3,0x1a,0x17,0xa4},
1660     {0x96,0x3a,0x27,0x5e},
1661
1662     {0xcb,0x3b,0xab,0x6b},
1663     {0xf1,0x1f,0x9d,0x45},
1664     {0xab,0xac,0xfa,0x58},
1665     {0x93,0x4b,0xe3,0x03},
1666
1667     {0x55,0x20,0x30,0xfa},
1668     {0xf6,0xad,0x76,0x6d},
1669     {0x91,0x88,0xcc,0x76},
1670     {0x25,0xf5,0x02,0x4c},
1671
1672     {0xfc,0x4f,0xe5,0xd7},
1673     {0xd7,0xc5,0x2a,0xcb},
1674     {0x80,0x26,0x35,0x44},
1675     {0x8f,0xb5,0x62,0xa3},
1676
1677     {0x49,0xde,0xb1,0x5a},
1678     {0x67,0x25,0xba,0x1b},
1679     {0x98,0x45,0xea,0x0e},
1680     {0xe1,0x5d,0xfe,0xc0},
1681
1682     {0x02,0xc3,0x2f,0x75},
1683     {0x12,0x81,0x4c,0xf0},
1684     {0xa3,0x8d,0x46,0x97},
1685     {0xc6,0x6b,0xd3,0xf9},
1686
1687     {0xe7,0x03,0x8f,0x5f},
1688     {0x95,0x15,0x92,0x9c},
1689     {0xeb,0xbf,0x6d,0x7a},
1690     {0xda,0x95,0x52,0x59},
1691
1692     {0x2d,0xd4,0xbe,0x83},
1693     {0xd3,0x58,0x74,0x21},
1694     {0x29,0x49,0xe0,0x69},
1695     {0x44,0x8e,0xc9,0xc8},
1696
1697     {0x6a,0x75,0xc2,0x89},
1698     {0x78,0xf4,0x8e,0x79},
1699     {0x6b,0x99,0x58,0x3e},
1700     {0xdd,0x27,0xb9,0x71},
1701
1702     {0xb6,0xbe,0xe1,0x4f},
1703     {0x17,0xf0,0x88,0xad},
1704     {0x66,0xc9,0x20,0xac},
1705     {0xb4,0x7d,0xce,0x3a},
1706
1707     {0x18,0x63,0xdf,0x4a},
1708     {0x82,0xe5,0x1a,0x31},
1709     {0x60,0x97,0x51,0x33},
1710     {0x45,0x62,0x53,0x7f},
1711
1712     {0xe0,0xb1,0x64,0x77},
1713     {0x84,0xbb,0x6b,0xae},
1714     {0x1c,0xfe,0x81,0xa0},
1715     {0x94,0xf9,0x08,0x2b},
1716
1717     {0x58,0x70,0x48,0x68},
1718     {0x19,0x8f,0x45,0xfd},
1719     {0x87,0x94,0xde,0x6c},
1720     {0xb7,0x52,0x7b,0xf8},
1721
1722     {0x23,0xab,0x73,0xd3},
1723     {0xe2,0x72,0x4b,0x02},
1724     {0x57,0xe3,0x1f,0x8f},
1725     {0x2a,0x66,0x55,0xab},
1726
1727     {0x07,0xb2,0xeb,0x28},
1728     {0x03,0x2f,0xb5,0xc2},
1729     {0x9a,0x86,0xc5,0x7b},
1730     {0xa5,0xd3,0x37,0x08},
1731
1732     {0xf2,0x30,0x28,0x87},
1733     {0xb2,0x23,0xbf,0xa5},
1734     {0xba,0x02,0x03,0x6a},
1735     {0x5c,0xed,0x16,0x82},
1736
1737     {0x2b,0x8a,0xcf,0x1c},
1738     {0x92,0xa7,0x79,0xb4},
1739     {0xf0,0xf3,0x07,0xf2},
1740     {0xa1,0x4e,0x69,0xe2},
1741
1742     {0xcd,0x65,0xda,0xf4},
1743     {0xd5,0x06,0x05,0xbe},
1744     {0x1f,0xd1,0x34,0x62},
1745     {0x8a,0xc4,0xa6,0xfe},
1746
1747     {0x9d,0x34,0x2e,0x53},
1748     {0xa0,0xa2,0xf3,0x55},
1749     {0x32,0x05,0x8a,0xe1},
1750     {0x75,0xa4,0xf6,0xeb},
1751
1752     {0x39,0x0b,0x83,0xec},
1753     {0xaa,0x40,0x60,0xef},
1754     {0x06,0x5e,0x71,0x9f},
1755     {0x51,0xbd,0x6e,0x10},
1756
1757     {0xf9,0x3e,0x21,0x8a},
1758     {0x3d,0x96,0xdd,0x06},
1759     {0xae,0xdd,0x3e,0x05},
1760     {0x46,0x4d,0xe6,0xbd},
1761
1762     {0xb5,0x91,0x54,0x8d},
1763     {0x05,0x71,0xc4,0x5d},
1764     {0x6f,0x04,0x06,0xd4},
1765     {0xff,0x60,0x50,0x15},
1766
1767     {0x24,0x19,0x98,0xfb},
1768     {0x97,0xd6,0xbd,0xe9},
1769     {0xcc,0x89,0x40,0x43},
1770     {0x77,0x67,0xd9,0x9e},
1771
1772     {0xbd,0xb0,0xe8,0x42},
1773     {0x88,0x07,0x89,0x8b},
1774     {0x38,0xe7,0x19,0x5b},
1775     {0xdb,0x79,0xc8,0xee},
1776
1777     {0x47,0xa1,0x7c,0x0a},
1778     {0xe9,0x7c,0x42,0x0f},
1779     {0xc9,0xf8,0x84,0x1e},
1780     {0x00,0x00,0x00,0x00},
1781
1782     {0x83,0x09,0x80,0x86},
1783     {0x48,0x32,0x2b,0xed},
1784     {0xac,0x1e,0x11,0x70},
1785     {0x4e,0x6c,0x5a,0x72},
1786
1787     {0xfb,0xfd,0x0e,0xff},
1788     {0x56,0x0f,0x85,0x38},
1789     {0x1e,0x3d,0xae,0xd5},
1790     {0x27,0x36,0x2d,0x39},
1791
1792     {0x64,0x0a,0x0f,0xd9},
1793     {0x21,0x68,0x5c,0xa6},
1794     {0xd1,0x9b,0x5b,0x54},
1795     {0x3a,0x24,0x36,0x2e},
1796
1797     {0xb1,0x0c,0x0a,0x67},
1798     {0x0f,0x93,0x57,0xe7},
1799     {0xd2,0xb4,0xee,0x96},
1800     {0x9e,0x1b,0x9b,0x91},
1801
1802     {0x4f,0x80,0xc0,0xc5},
1803     {0xa2,0x61,0xdc,0x20},
1804     {0x69,0x5a,0x77,0x4b},
1805     {0x16,0x1c,0x12,0x1a},
1806
1807     {0x0a,0xe2,0x93,0xba},
1808     {0xe5,0xc0,0xa0,0x2a},
1809     {0x43,0x3c,0x22,0xe0},
1810     {0x1d,0x12,0x1b,0x17},
1811
1812     {0x0b,0x0e,0x09,0x0d},
1813     {0xad,0xf2,0x8b,0xc7},
1814     {0xb9,0x2d,0xb6,0xa8},
1815     {0xc8,0x14,0x1e,0xa9},
1816
1817     {0x85,0x57,0xf1,0x19},
1818     {0x4c,0xaf,0x75,0x07},
1819     {0xbb,0xee,0x99,0xdd},
1820     {0xfd,0xa3,0x7f,0x60},
1821
1822     {0x9f,0xf7,0x01,0x26},
1823     {0xbc,0x5c,0x72,0xf5},
1824     {0xc5,0x44,0x66,0x3b},
1825     {0x34,0x5b,0xfb,0x7e},
1826
1827     {0x76,0x8b,0x43,0x29},
1828     {0xdc,0xcb,0x23,0xc6},
1829     {0x68,0xb6,0xed,0xfc},
1830     {0x63,0xb8,0xe4,0xf1},
1831
1832     {0xca,0xd7,0x31,0xdc},
1833     {0x10,0x42,0x63,0x85},
1834     {0x40,0x13,0x97,0x22},
1835     {0x20,0x84,0xc6,0x11},
1836
1837     {0x7d,0x85,0x4a,0x24},
1838     {0xf8,0xd2,0xbb,0x3d},
1839     {0x11,0xae,0xf9,0x32},
1840     {0x6d,0xc7,0x29,0xa1},
1841
1842     {0x4b,0x1d,0x9e,0x2f},
1843     {0xf3,0xdc,0xb2,0x30},
1844     {0xec,0x0d,0x86,0x52},
1845     {0xd0,0x77,0xc1,0xe3},
1846
1847     {0x6c,0x2b,0xb3,0x16},
1848     {0x99,0xa9,0x70,0xb9},
1849     {0xfa,0x11,0x94,0x48},
1850     {0x22,0x47,0xe9,0x64},
1851
1852     {0xc4,0xa8,0xfc,0x8c},
1853     {0x1a,0xa0,0xf0,0x3f},
1854     {0xd8,0x56,0x7d,0x2c},
1855     {0xef,0x22,0x33,0x90},
1856
1857     {0xc7,0x87,0x49,0x4e},
1858     {0xc1,0xd9,0x38,0xd1},
1859     {0xfe,0x8c,0xca,0xa2},
1860     {0x36,0x98,0xd4,0x0b},
1861
1862     {0xcf,0xa6,0xf5,0x81},
1863     {0x28,0xa5,0x7a,0xde},
1864     {0x26,0xda,0xb7,0x8e},
1865     {0xa4,0x3f,0xad,0xbf},
1866
1867     {0xe4,0x2c,0x3a,0x9d},
1868     {0x0d,0x50,0x78,0x92},
1869     {0x9b,0x6a,0x5f,0xcc},
1870     {0x62,0x54,0x7e,0x46},
1871
1872     {0xc2,0xf6,0x8d,0x13},
1873     {0xe8,0x90,0xd8,0xb8},
1874     {0x5e,0x2e,0x39,0xf7},
1875     {0xf5,0x82,0xc3,0xaf},
1876
1877     {0xbe,0x9f,0x5d,0x80},
1878     {0x7c,0x69,0xd0,0x93},
1879     {0xa9,0x6f,0xd5,0x2d},
1880     {0xb3,0xcf,0x25,0x12},
1881
1882     {0x3b,0xc8,0xac,0x99},
1883     {0xa7,0x10,0x18,0x7d},
1884     {0x6e,0xe8,0x9c,0x63},
1885     {0x7b,0xdb,0x3b,0xbb},
1886
1887     {0x09,0xcd,0x26,0x78},
1888     {0xf4,0x6e,0x59,0x18},
1889     {0x01,0xec,0x9a,0xb7},
1890     {0xa8,0x83,0x4f,0x9a},
1891
1892     {0x65,0xe6,0x95,0x6e},
1893     {0x7e,0xaa,0xff,0xe6},
1894     {0x08,0x21,0xbc,0xcf},
1895     {0xe6,0xef,0x15,0xe8},
1896
1897     {0xd9,0xba,0xe7,0x9b},
1898     {0xce,0x4a,0x6f,0x36},
1899     {0xd4,0xea,0x9f,0x09},
1900     {0xd6,0x29,0xb0,0x7c},
1901
1902     {0xaf,0x31,0xa4,0xb2},
1903     {0x31,0x2a,0x3f,0x23},
1904     {0x30,0xc6,0xa5,0x94},
1905     {0xc0,0x35,0xa2,0x66},
1906
1907     {0x37,0x74,0x4e,0xbc},
1908     {0xa6,0xfc,0x82,0xca},
1909     {0xb0,0xe0,0x90,0xd0},
1910     {0x15,0x33,0xa7,0xd8},
1911
1912     {0x4a,0xf1,0x04,0x98},
1913     {0xf7,0x41,0xec,0xda},
1914     {0x0e,0x7f,0xcd,0x50},
1915     {0x2f,0x17,0x91,0xf6},
1916
1917     {0x8d,0x76,0x4d,0xd6},
1918     {0x4d,0x43,0xef,0xb0},
1919     {0x54,0xcc,0xaa,0x4d},
1920     {0xdf,0xe4,0x96,0x04},
1921
1922     {0xe3,0x9e,0xd1,0xb5},
1923     {0x1b,0x4c,0x6a,0x88},
1924     {0xb8,0xc1,0x2c,0x1f},
1925     {0x7f,0x46,0x65,0x51},
1926
1927     {0x04,0x9d,0x5e,0xea},
1928     {0x5d,0x01,0x8c,0x35},
1929     {0x73,0xfa,0x87,0x74},
1930     {0x2e,0xfb,0x0b,0x41},
1931
1932     {0x5a,0xb3,0x67,0x1d},
1933     {0x52,0x92,0xdb,0xd2},
1934     {0x33,0xe9,0x10,0x56},
1935     {0x13,0x6d,0xd6,0x47},
1936
1937     {0x8c,0x9a,0xd7,0x61},
1938     {0x7a,0x37,0xa1,0x0c},
1939     {0x8e,0x59,0xf8,0x14},
1940     {0x89,0xeb,0x13,0x3c},
1941
1942     {0xee,0xce,0xa9,0x27},
1943     {0x35,0xb7,0x61,0xc9},
1944     {0xed,0xe1,0x1c,0xe5},
1945     {0x3c,0x7a,0x47,0xb1},
1946
1947     {0x59,0x9c,0xd2,0xdf},
1948     {0x3f,0x55,0xf2,0x73},
1949     {0x79,0x18,0x14,0xce},
1950     {0xbf,0x73,0xc7,0x37},
1951
1952     {0xea,0x53,0xf7,0xcd},
1953     {0x5b,0x5f,0xfd,0xaa},
1954     {0x14,0xdf,0x3d,0x6f},
1955     {0x86,0x78,0x44,0xdb},
1956
1957     {0x81,0xca,0xaf,0xf3},
1958     {0x3e,0xb9,0x68,0xc4},
1959     {0x2c,0x38,0x24,0x34},
1960     {0x5f,0xc2,0xa3,0x40},
1961
1962     {0x72,0x16,0x1d,0xc3},
1963     {0x0c,0xbc,0xe2,0x25},
1964     {0x8b,0x28,0x3c,0x49},
1965     {0x41,0xff,0x0d,0x95},
1966
1967     {0x71,0x39,0xa8,0x01},
1968     {0xde,0x08,0x0c,0xb3},
1969     {0x9c,0xd8,0xb4,0xe4},
1970     {0x90,0x64,0x56,0xc1},
1971
1972     {0x61,0x7b,0xcb,0x84},
1973     {0x70,0xd5,0x32,0xb6},
1974     {0x74,0x48,0x6c,0x5c},
1975     {0x42,0xd0,0xb8,0x57},
1976
1977 };
1978
1979 word8 T7[256][4] = {
1980     {0xa7,0x50,0x51,0xf4},
1981     {0x65,0x53,0x7e,0x41},
1982     {0xa4,0xc3,0x1a,0x17},
1983     {0x5e,0x96,0x3a,0x27},
1984
1985     {0x6b,0xcb,0x3b,0xab},
1986     {0x45,0xf1,0x1f,0x9d},
1987     {0x58,0xab,0xac,0xfa},
1988     {0x03,0x93,0x4b,0xe3},
1989
1990     {0xfa,0x55,0x20,0x30},
1991     {0x6d,0xf6,0xad,0x76},
1992     {0x76,0x91,0x88,0xcc},
1993     {0x4c,0x25,0xf5,0x02},
1994
1995     {0xd7,0xfc,0x4f,0xe5},
1996     {0xcb,0xd7,0xc5,0x2a},
1997     {0x44,0x80,0x26,0x35},
1998     {0xa3,0x8f,0xb5,0x62},
1999
2000     {0x5a,0x49,0xde,0xb1},
2001     {0x1b,0x67,0x25,0xba},
2002     {0x0e,0x98,0x45,0xea},
2003     {0xc0,0xe1,0x5d,0xfe},
2004
2005     {0x75,0x02,0xc3,0x2f},
2006     {0xf0,0x12,0x81,0x4c},
2007     {0x97,0xa3,0x8d,0x46},
2008     {0xf9,0xc6,0x6b,0xd3},
2009
2010     {0x5f,0xe7,0x03,0x8f},
2011     {0x9c,0x95,0x15,0x92},
2012     {0x7a,0xeb,0xbf,0x6d},
2013     {0x59,0xda,0x95,0x52},
2014
2015     {0x83,0x2d,0xd4,0xbe},
2016     {0x21,0xd3,0x58,0x74},
2017     {0x69,0x29,0x49,0xe0},
2018     {0xc8,0x44,0x8e,0xc9},
2019
2020     {0x89,0x6a,0x75,0xc2},
2021     {0x79,0x78,0xf4,0x8e},
2022     {0x3e,0x6b,0x99,0x58},
2023     {0x71,0xdd,0x27,0xb9},
2024
2025     {0x4f,0xb6,0xbe,0xe1},
2026     {0xad,0x17,0xf0,0x88},
2027     {0xac,0x66,0xc9,0x20},
2028     {0x3a,0xb4,0x7d,0xce},
2029
2030     {0x4a,0x18,0x63,0xdf},
2031     {0x31,0x82,0xe5,0x1a},
2032     {0x33,0x60,0x97,0x51},
2033     {0x7f,0x45,0x62,0x53},
2034
2035     {0x77,0xe0,0xb1,0x64},
2036     {0xae,0x84,0xbb,0x6b},
2037     {0xa0,0x1c,0xfe,0x81},
2038     {0x2b,0x94,0xf9,0x08},
2039
2040     {0x68,0x58,0x70,0x48},
2041     {0xfd,0x19,0x8f,0x45},
2042     {0x6c,0x87,0x94,0xde},
2043     {0xf8,0xb7,0x52,0x7b},
2044
2045     {0xd3,0x23,0xab,0x73},
2046     {0x02,0xe2,0x72,0x4b},
2047     {0x8f,0x57,0xe3,0x1f},
2048     {0xab,0x2a,0x66,0x55},
2049
2050     {0x28,0x07,0xb2,0xeb},
2051     {0xc2,0x03,0x2f,0xb5},
2052     {0x7b,0x9a,0x86,0xc5},
2053     {0x08,0xa5,0xd3,0x37},
2054
2055     {0x87,0xf2,0x30,0x28},
2056     {0xa5,0xb2,0x23,0xbf},
2057     {0x6a,0xba,0x02,0x03},
2058     {0x82,0x5c,0xed,0x16},
2059
2060     {0x1c,0x2b,0x8a,0xcf},
2061     {0xb4,0x92,0xa7,0x79},
2062     {0xf2,0xf0,0xf3,0x07},
2063     {0xe2,0xa1,0x4e,0x69},
2064
2065     {0xf4,0xcd,0x65,0xda},
2066     {0xbe,0xd5,0x06,0x05},
2067     {0x62,0x1f,0xd1,0x34},
2068     {0xfe,0x8a,0xc4,0xa6},
2069
2070     {0x53,0x9d,0x34,0x2e},
2071     {0x55,0xa0,0xa2,0xf3},
2072     {0xe1,0x32,0x05,0x8a},
2073     {0xeb,0x75,0xa4,0xf6},
2074
2075     {0xec,0x39,0x0b,0x83},
2076     {0xef,0xaa,0x40,0x60},
2077     {0x9f,0x06,0x5e,0x71},
2078     {0x10,0x51,0xbd,0x6e},
2079
2080     {0x8a,0xf9,0x3e,0x21},
2081     {0x06,0x3d,0x96,0xdd},
2082     {0x05,0xae,0xdd,0x3e},
2083     {0xbd,0x46,0x4d,0xe6},
2084
2085     {0x8d,0xb5,0x91,0x54},
2086     {0x5d,0x05,0x71,0xc4},
2087     {0xd4,0x6f,0x04,0x06},
2088     {0x15,0xff,0x60,0x50},
2089
2090     {0xfb,0x24,0x19,0x98},
2091     {0xe9,0x97,0xd6,0xbd},
2092     {0x43,0xcc,0x89,0x40},
2093     {0x9e,0x77,0x67,0xd9},
2094
2095     {0x42,0xbd,0xb0,0xe8},
2096     {0x8b,0x88,0x07,0x89},
2097     {0x5b,0x38,0xe7,0x19},
2098     {0xee,0xdb,0x79,0xc8},
2099
2100     {0x0a,0x47,0xa1,0x7c},
2101     {0x0f,0xe9,0x7c,0x42},
2102     {0x1e,0xc9,0xf8,0x84},
2103     {0x00,0x00,0x00,0x00},
2104
2105     {0x86,0x83,0x09,0x80},
2106     {0xed,0x48,0x32,0x2b},
2107     {0x70,0xac,0x1e,0x11},
2108     {0x72,0x4e,0x6c,0x5a},
2109
2110     {0xff,0xfb,0xfd,0x0e},
2111     {0x38,0x56,0x0f,0x85},
2112     {0xd5,0x1e,0x3d,0xae},
2113     {0x39,0x27,0x36,0x2d},
2114
2115     {0xd9,0x64,0x0a,0x0f},
2116     {0xa6,0x21,0x68,0x5c},
2117     {0x54,0xd1,0x9b,0x5b},
2118     {0x2e,0x3a,0x24,0x36},
2119
2120     {0x67,0xb1,0x0c,0x0a},
2121     {0xe7,0x0f,0x93,0x57},
2122     {0x96,0xd2,0xb4,0xee},
2123     {0x91,0x9e,0x1b,0x9b},
2124
2125     {0xc5,0x4f,0x80,0xc0},
2126     {0x20,0xa2,0x61,0xdc},
2127     {0x4b,0x69,0x5a,0x77},
2128     {0x1a,0x16,0x1c,0x12},
2129
2130     {0xba,0x0a,0xe2,0x93},
2131     {0x2a,0xe5,0xc0,0xa0},
2132     {0xe0,0x43,0x3c,0x22},
2133     {0x17,0x1d,0x12,0x1b},
2134
2135     {0x0d,0x0b,0x0e,0x09},
2136     {0xc7,0xad,0xf2,0x8b},
2137     {0xa8,0xb9,0x2d,0xb6},
2138     {0xa9,0xc8,0x14,0x1e},
2139
2140     {0x19,0x85,0x57,0xf1},
2141     {0x07,0x4c,0xaf,0x75},
2142     {0xdd,0xbb,0xee,0x99},
2143     {0x60,0xfd,0xa3,0x7f},
2144
2145     {0x26,0x9f,0xf7,0x01},
2146     {0xf5,0xbc,0x5c,0x72},
2147     {0x3b,0xc5,0x44,0x66},
2148     {0x7e,0x34,0x5b,0xfb},
2149
2150     {0x29,0x76,0x8b,0x43},
2151     {0xc6,0xdc,0xcb,0x23},
2152     {0xfc,0x68,0xb6,0xed},
2153     {0xf1,0x63,0xb8,0xe4},
2154
2155     {0xdc,0xca,0xd7,0x31},
2156     {0x85,0x10,0x42,0x63},
2157     {0x22,0x40,0x13,0x97},
2158     {0x11,0x20,0x84,0xc6},
2159
2160     {0x24,0x7d,0x85,0x4a},
2161     {0x3d,0xf8,0xd2,0xbb},
2162     {0x32,0x11,0xae,0xf9},
2163     {0xa1,0x6d,0xc7,0x29},
2164
2165     {0x2f,0x4b,0x1d,0x9e},
2166     {0x30,0xf3,0xdc,0xb2},
2167     {0x52,0xec,0x0d,0x86},
2168     {0xe3,0xd0,0x77,0xc1},
2169
2170     {0x16,0x6c,0x2b,0xb3},
2171     {0xb9,0x99,0xa9,0x70},
2172     {0x48,0xfa,0x11,0x94},
2173     {0x64,0x22,0x47,0xe9},
2174
2175     {0x8c,0xc4,0xa8,0xfc},
2176     {0x3f,0x1a,0xa0,0xf0},
2177     {0x2c,0xd8,0x56,0x7d},
2178     {0x90,0xef,0x22,0x33},
2179
2180     {0x4e,0xc7,0x87,0x49},
2181     {0xd1,0xc1,0xd9,0x38},
2182     {0xa2,0xfe,0x8c,0xca},
2183     {0x0b,0x36,0x98,0xd4},
2184
2185     {0x81,0xcf,0xa6,0xf5},
2186     {0xde,0x28,0xa5,0x7a},
2187     {0x8e,0x26,0xda,0xb7},
2188     {0xbf,0xa4,0x3f,0xad},
2189
2190     {0x9d,0xe4,0x2c,0x3a},
2191     {0x92,0x0d,0x50,0x78},
2192     {0xcc,0x9b,0x6a,0x5f},
2193     {0x46,0x62,0x54,0x7e},
2194
2195     {0x13,0xc2,0xf6,0x8d},
2196     {0xb8,0xe8,0x90,0xd8},
2197     {0xf7,0x5e,0x2e,0x39},
2198     {0xaf,0xf5,0x82,0xc3},
2199
2200     {0x80,0xbe,0x9f,0x5d},
2201     {0x93,0x7c,0x69,0xd0},
2202     {0x2d,0xa9,0x6f,0xd5},
2203     {0x12,0xb3,0xcf,0x25},
2204
2205     {0x99,0x3b,0xc8,0xac},
2206     {0x7d,0xa7,0x10,0x18},
2207     {0x63,0x6e,0xe8,0x9c},
2208     {0xbb,0x7b,0xdb,0x3b},
2209
2210     {0x78,0x09,0xcd,0x26},
2211     {0x18,0xf4,0x6e,0x59},
2212     {0xb7,0x01,0xec,0x9a},
2213     {0x9a,0xa8,0x83,0x4f},
2214
2215     {0x6e,0x65,0xe6,0x95},
2216     {0xe6,0x7e,0xaa,0xff},
2217     {0xcf,0x08,0x21,0xbc},
2218     {0xe8,0xe6,0xef,0x15},
2219
2220     {0x9b,0xd9,0xba,0xe7},
2221     {0x36,0xce,0x4a,0x6f},
2222     {0x09,0xd4,0xea,0x9f},
2223     {0x7c,0xd6,0x29,0xb0},
2224
2225     {0xb2,0xaf,0x31,0xa4},
2226     {0x23,0x31,0x2a,0x3f},
2227     {0x94,0x30,0xc6,0xa5},
2228     {0x66,0xc0,0x35,0xa2},
2229
2230     {0xbc,0x37,0x74,0x4e},
2231     {0xca,0xa6,0xfc,0x82},
2232     {0xd0,0xb0,0xe0,0x90},
2233     {0xd8,0x15,0x33,0xa7},
2234
2235     {0x98,0x4a,0xf1,0x04},
2236     {0xda,0xf7,0x41,0xec},
2237     {0x50,0x0e,0x7f,0xcd},
2238     {0xf6,0x2f,0x17,0x91},
2239
2240     {0xd6,0x8d,0x76,0x4d},
2241     {0xb0,0x4d,0x43,0xef},
2242     {0x4d,0x54,0xcc,0xaa},
2243     {0x04,0xdf,0xe4,0x96},
2244
2245     {0xb5,0xe3,0x9e,0xd1},
2246     {0x88,0x1b,0x4c,0x6a},
2247     {0x1f,0xb8,0xc1,0x2c},
2248     {0x51,0x7f,0x46,0x65},
2249
2250     {0xea,0x04,0x9d,0x5e},
2251     {0x35,0x5d,0x01,0x8c},
2252     {0x74,0x73,0xfa,0x87},
2253     {0x41,0x2e,0xfb,0x0b},
2254
2255     {0x1d,0x5a,0xb3,0x67},
2256     {0xd2,0x52,0x92,0xdb},
2257     {0x56,0x33,0xe9,0x10},
2258     {0x47,0x13,0x6d,0xd6},
2259
2260     {0x61,0x8c,0x9a,0xd7},
2261     {0x0c,0x7a,0x37,0xa1},
2262     {0x14,0x8e,0x59,0xf8},
2263     {0x3c,0x89,0xeb,0x13},
2264
2265     {0x27,0xee,0xce,0xa9},
2266     {0xc9,0x35,0xb7,0x61},
2267     {0xe5,0xed,0xe1,0x1c},
2268     {0xb1,0x3c,0x7a,0x47},
2269
2270     {0xdf,0x59,0x9c,0xd2},
2271     {0x73,0x3f,0x55,0xf2},
2272     {0xce,0x79,0x18,0x14},
2273     {0x37,0xbf,0x73,0xc7},
2274
2275     {0xcd,0xea,0x53,0xf7},
2276     {0xaa,0x5b,0x5f,0xfd},
2277     {0x6f,0x14,0xdf,0x3d},
2278     {0xdb,0x86,0x78,0x44},
2279
2280     {0xf3,0x81,0xca,0xaf},
2281     {0xc4,0x3e,0xb9,0x68},
2282     {0x34,0x2c,0x38,0x24},
2283     {0x40,0x5f,0xc2,0xa3},
2284
2285     {0xc3,0x72,0x16,0x1d},
2286     {0x25,0x0c,0xbc,0xe2},
2287     {0x49,0x8b,0x28,0x3c},
2288     {0x95,0x41,0xff,0x0d},
2289
2290     {0x01,0x71,0x39,0xa8},
2291     {0xb3,0xde,0x08,0x0c},
2292     {0xe4,0x9c,0xd8,0xb4},
2293     {0xc1,0x90,0x64,0x56},
2294
2295     {0x84,0x61,0x7b,0xcb},
2296     {0xb6,0x70,0xd5,0x32},
2297     {0x5c,0x74,0x48,0x6c},
2298     {0x57,0x42,0xd0,0xb8},
2299
2300 };
2301
2302 word8 T8[256][4] = {
2303     {0xf4,0xa7,0x50,0x51},
2304     {0x41,0x65,0x53,0x7e},
2305     {0x17,0xa4,0xc3,0x1a},
2306     {0x27,0x5e,0x96,0x3a},
2307
2308     {0xab,0x6b,0xcb,0x3b},
2309     {0x9d,0x45,0xf1,0x1f},
2310     {0xfa,0x58,0xab,0xac},
2311     {0xe3,0x03,0x93,0x4b},
2312
2313     {0x30,0xfa,0x55,0x20},
2314     {0x76,0x6d,0xf6,0xad},
2315     {0xcc,0x76,0x91,0x88},
2316     {0x02,0x4c,0x25,0xf5},
2317
2318     {0xe5,0xd7,0xfc,0x4f},
2319     {0x2a,0xcb,0xd7,0xc5},
2320     {0x35,0x44,0x80,0x26},
2321     {0x62,0xa3,0x8f,0xb5},
2322
2323     {0xb1,0x5a,0x49,0xde},
2324     {0xba,0x1b,0x67,0x25},
2325     {0xea,0x0e,0x98,0x45},
2326     {0xfe,0xc0,0xe1,0x5d},
2327
2328     {0x2f,0x75,0x02,0xc3},
2329     {0x4c,0xf0,0x12,0x81},
2330     {0x46,0x97,0xa3,0x8d},
2331     {0xd3,0xf9,0xc6,0x6b},
2332
2333     {0x8f,0x5f,0xe7,0x03},
2334     {0x92,0x9c,0x95,0x15},
2335     {0x6d,0x7a,0xeb,0xbf},
2336     {0x52,0x59,0xda,0x95},
2337
2338     {0xbe,0x83,0x2d,0xd4},
2339     {0x74,0x21,0xd3,0x58},
2340     {0xe0,0x69,0x29,0x49},
2341     {0xc9,0xc8,0x44,0x8e},
2342
2343     {0xc2,0x89,0x6a,0x75},
2344     {0x8e,0x79,0x78,0xf4},
2345     {0x58,0x3e,0x6b,0x99},
2346     {0xb9,0x71,0xdd,0x27},
2347
2348     {0xe1,0x4f,0xb6,0xbe},
2349     {0x88,0xad,0x17,0xf0},
2350     {0x20,0xac,0x66,0xc9},
2351     {0xce,0x3a,0xb4,0x7d},
2352
2353     {0xdf,0x4a,0x18,0x63},
2354     {0x1a,0x31,0x82,0xe5},
2355     {0x51,0x33,0x60,0x97},
2356     {0x53,0x7f,0x45,0x62},
2357
2358     {0x64,0x77,0xe0,0xb1},
2359     {0x6b,0xae,0x84,0xbb},
2360     {0x81,0xa0,0x1c,0xfe},
2361     {0x08,0x2b,0x94,0xf9},
2362
2363     {0x48,0x68,0x58,0x70},
2364     {0x45,0xfd,0x19,0x8f},
2365     {0xde,0x6c,0x87,0x94},
2366     {0x7b,0xf8,0xb7,0x52},
2367
2368     {0x73,0xd3,0x23,0xab},
2369     {0x4b,0x02,0xe2,0x72},
2370     {0x1f,0x8f,0x57,0xe3},
2371     {0x55,0xab,0x2a,0x66},
2372
2373     {0xeb,0x28,0x07,0xb2},
2374     {0xb5,0xc2,0x03,0x2f},
2375     {0xc5,0x7b,0x9a,0x86},
2376     {0x37,0x08,0xa5,0xd3},
2377
2378     {0x28,0x87,0xf2,0x30},
2379     {0xbf,0xa5,0xb2,0x23},
2380     {0x03,0x6a,0xba,0x02},
2381     {0x16,0x82,0x5c,0xed},
2382
2383     {0xcf,0x1c,0x2b,0x8a},
2384     {0x79,0xb4,0x92,0xa7},
2385     {0x07,0xf2,0xf0,0xf3},
2386     {0x69,0xe2,0xa1,0x4e},
2387
2388     {0xda,0xf4,0xcd,0x65},
2389     {0x05,0xbe,0xd5,0x06},
2390     {0x34,0x62,0x1f,0xd1},
2391     {0xa6,0xfe,0x8a,0xc4},
2392
2393     {0x2e,0x53,0x9d,0x34},
2394     {0xf3,0x55,0xa0,0xa2},
2395     {0x8a,0xe1,0x32,0x05},
2396     {0xf6,0xeb,0x75,0xa4},
2397
2398     {0x83,0xec,0x39,0x0b},
2399     {0x60,0xef,0xaa,0x40},
2400     {0x71,0x9f,0x06,0x5e},
2401     {0x6e,0x10,0x51,0xbd},
2402
2403     {0x21,0x8a,0xf9,0x3e},
2404     {0xdd,0x06,0x3d,0x96},
2405     {0x3e,0x05,0xae,0xdd},
2406     {0xe6,0xbd,0x46,0x4d},
2407
2408     {0x54,0x8d,0xb5,0x91},
2409     {0xc4,0x5d,0x05,0x71},
2410     {0x06,0xd4,0x6f,0x04},
2411     {0x50,0x15,0xff,0x60},
2412
2413     {0x98,0xfb,0x24,0x19},
2414     {0xbd,0xe9,0x97,0xd6},
2415     {0x40,0x43,0xcc,0x89},
2416     {0xd9,0x9e,0x77,0x67},
2417
2418     {0xe8,0x42,0xbd,0xb0},
2419     {0x89,0x8b,0x88,0x07},
2420     {0x19,0x5b,0x38,0xe7},
2421     {0xc8,0xee,0xdb,0x79},
2422
2423     {0x7c,0x0a,0x47,0xa1},
2424     {0x42,0x0f,0xe9,0x7c},
2425     {0x84,0x1e,0xc9,0xf8},
2426     {0x00,0x00,0x00,0x00},
2427
2428     {0x80,0x86,0x83,0x09},
2429     {0x2b,0xed,0x48,0x32},
2430     {0x11,0x70,0xac,0x1e},
2431     {0x5a,0x72,0x4e,0x6c},
2432
2433     {0x0e,0xff,0xfb,0xfd},
2434     {0x85,0x38,0x56,0x0f},
2435     {0xae,0xd5,0x1e,0x3d},
2436     {0x2d,0x39,0x27,0x36},
2437
2438     {0x0f,0xd9,0x64,0x0a},
2439     {0x5c,0xa6,0x21,0x68},
2440     {0x5b,0x54,0xd1,0x9b},
2441     {0x36,0x2e,0x3a,0x24},
2442
2443     {0x0a,0x67,0xb1,0x0c},
2444     {0x57,0xe7,0x0f,0x93},
2445     {0xee,0x96,0xd2,0xb4},
2446     {0x9b,0x91,0x9e,0x1b},
2447
2448     {0xc0,0xc5,0x4f,0x80},
2449     {0xdc,0x20,0xa2,0x61},
2450     {0x77,0x4b,0x69,0x5a},
2451     {0x12,0x1a,0x16,0x1c},
2452
2453     {0x93,0xba,0x0a,0xe2},
2454     {0xa0,0x2a,0xe5,0xc0},
2455     {0x22,0xe0,0x43,0x3c},
2456     {0x1b,0x17,0x1d,0x12},
2457
2458     {0x09,0x0d,0x0b,0x0e},
2459     {0x8b,0xc7,0xad,0xf2},
2460     {0xb6,0xa8,0xb9,0x2d},
2461     {0x1e,0xa9,0xc8,0x14},
2462
2463     {0xf1,0x19,0x85,0x57},
2464     {0x75,0x07,0x4c,0xaf},
2465     {0x99,0xdd,0xbb,0xee},
2466     {0x7f,0x60,0xfd,0xa3},
2467
2468     {0x01,0x26,0x9f,0xf7},
2469     {0x72,0xf5,0xbc,0x5c},
2470     {0x66,0x3b,0xc5,0x44},
2471     {0xfb,0x7e,0x34,0x5b},
2472
2473     {0x43,0x29,0x76,0x8b},
2474     {0x23,0xc6,0xdc,0xcb},
2475     {0xed,0xfc,0x68,0xb6},
2476     {0xe4,0xf1,0x63,0xb8},
2477
2478     {0x31,0xdc,0xca,0xd7},
2479     {0x63,0x85,0x10,0x42},
2480     {0x97,0x22,0x40,0x13},
2481     {0xc6,0x11,0x20,0x84},
2482
2483     {0x4a,0x24,0x7d,0x85},
2484     {0xbb,0x3d,0xf8,0xd2},
2485     {0xf9,0x32,0x11,0xae},
2486     {0x29,0xa1,0x6d,0xc7},
2487
2488     {0x9e,0x2f,0x4b,0x1d},
2489     {0xb2,0x30,0xf3,0xdc},
2490     {0x86,0x52,0xec,0x0d},
2491     {0xc1,0xe3,0xd0,0x77},
2492
2493     {0xb3,0x16,0x6c,0x2b},
2494     {0x70,0xb9,0x99,0xa9},
2495     {0x94,0x48,0xfa,0x11},
2496     {0xe9,0x64,0x22,0x47},
2497
2498     {0xfc,0x8c,0xc4,0xa8},
2499     {0xf0,0x3f,0x1a,0xa0},
2500     {0x7d,0x2c,0xd8,0x56},
2501     {0x33,0x90,0xef,0x22},
2502
2503     {0x49,0x4e,0xc7,0x87},
2504     {0x38,0xd1,0xc1,0xd9},
2505     {0xca,0xa2,0xfe,0x8c},
2506     {0xd4,0x0b,0x36,0x98},
2507
2508     {0xf5,0x81,0xcf,0xa6},
2509     {0x7a,0xde,0x28,0xa5},
2510     {0xb7,0x8e,0x26,0xda},
2511     {0xad,0xbf,0xa4,0x3f},
2512
2513     {0x3a,0x9d,0xe4,0x2c},
2514     {0x78,0x92,0x0d,0x50},
2515     {0x5f,0xcc,0x9b,0x6a},
2516     {0x7e,0x46,0x62,0x54},
2517
2518     {0x8d,0x13,0xc2,0xf6},
2519     {0xd8,0xb8,0xe8,0x90},
2520     {0x39,0xf7,0x5e,0x2e},
2521     {0xc3,0xaf,0xf5,0x82},
2522
2523     {0x5d,0x80,0xbe,0x9f},
2524     {0xd0,0x93,0x7c,0x69},
2525     {0xd5,0x2d,0xa9,0x6f},
2526     {0x25,0x12,0xb3,0xcf},
2527
2528     {0xac,0x99,0x3b,0xc8},
2529     {0x18,0x7d,0xa7,0x10},
2530     {0x9c,0x63,0x6e,0xe8},
2531     {0x3b,0xbb,0x7b,0xdb},
2532
2533     {0x26,0x78,0x09,0xcd},
2534     {0x59,0x18,0xf4,0x6e},
2535     {0x9a,0xb7,0x01,0xec},
2536     {0x4f,0x9a,0xa8,0x83},
2537
2538     {0x95,0x6e,0x65,0xe6},
2539     {0xff,0xe6,0x7e,0xaa},
2540     {0xbc,0xcf,0x08,0x21},
2541     {0x15,0xe8,0xe6,0xef},
2542
2543     {0xe7,0x9b,0xd9,0xba},
2544     {0x6f,0x36,0xce,0x4a},
2545     {0x9f,0x09,0xd4,0xea},
2546     {0xb0,0x7c,0xd6,0x29},
2547
2548     {0xa4,0xb2,0xaf,0x31},
2549     {0x3f,0x23,0x31,0x2a},
2550     {0xa5,0x94,0x30,0xc6},
2551     {0xa2,0x66,0xc0,0x35},
2552
2553     {0x4e,0xbc,0x37,0x74},
2554     {0x82,0xca,0xa6,0xfc},
2555     {0x90,0xd0,0xb0,0xe0},
2556     {0xa7,0xd8,0x15,0x33},
2557
2558     {0x04,0x98,0x4a,0xf1},
2559     {0xec,0xda,0xf7,0x41},
2560     {0xcd,0x50,0x0e,0x7f},
2561     {0x91,0xf6,0x2f,0x17},
2562
2563     {0x4d,0xd6,0x8d,0x76},
2564     {0xef,0xb0,0x4d,0x43},
2565     {0xaa,0x4d,0x54,0xcc},
2566     {0x96,0x04,0xdf,0xe4},
2567
2568     {0xd1,0xb5,0xe3,0x9e},
2569     {0x6a,0x88,0x1b,0x4c},
2570     {0x2c,0x1f,0xb8,0xc1},
2571     {0x65,0x51,0x7f,0x46},
2572
2573     {0x5e,0xea,0x04,0x9d},
2574     {0x8c,0x35,0x5d,0x01},
2575     {0x87,0x74,0x73,0xfa},
2576     {0x0b,0x41,0x2e,0xfb},
2577
2578     {0x67,0x1d,0x5a,0xb3},
2579     {0xdb,0xd2,0x52,0x92},
2580     {0x10,0x56,0x33,0xe9},
2581     {0xd6,0x47,0x13,0x6d},
2582
2583     {0xd7,0x61,0x8c,0x9a},
2584     {0xa1,0x0c,0x7a,0x37},
2585     {0xf8,0x14,0x8e,0x59},
2586     {0x13,0x3c,0x89,0xeb},
2587
2588     {0xa9,0x27,0xee,0xce},
2589     {0x61,0xc9,0x35,0xb7},
2590     {0x1c,0xe5,0xed,0xe1},
2591     {0x47,0xb1,0x3c,0x7a},
2592
2593     {0xd2,0xdf,0x59,0x9c},
2594     {0xf2,0x73,0x3f,0x55},
2595     {0x14,0xce,0x79,0x18},
2596     {0xc7,0x37,0xbf,0x73},
2597
2598     {0xf7,0xcd,0xea,0x53},
2599     {0xfd,0xaa,0x5b,0x5f},
2600     {0x3d,0x6f,0x14,0xdf},
2601     {0x44,0xdb,0x86,0x78},
2602
2603     {0xaf,0xf3,0x81,0xca},
2604     {0x68,0xc4,0x3e,0xb9},
2605     {0x24,0x34,0x2c,0x38},
2606     {0xa3,0x40,0x5f,0xc2},
2607
2608     {0x1d,0xc3,0x72,0x16},
2609     {0xe2,0x25,0x0c,0xbc},
2610     {0x3c,0x49,0x8b,0x28},
2611     {0x0d,0x95,0x41,0xff},
2612
2613     {0xa8,0x01,0x71,0x39},
2614     {0x0c,0xb3,0xde,0x08},
2615     {0xb4,0xe4,0x9c,0xd8},
2616     {0x56,0xc1,0x90,0x64},
2617
2618     {0xcb,0x84,0x61,0x7b},
2619     {0x32,0xb6,0x70,0xd5},
2620     {0x6c,0x5c,0x74,0x48},
2621     {0xb8,0x57,0x42,0xd0},
2622
2623 };
2624
2625 word8 S5[256] = {
2626 0x52,0x09,0x6a,0xd5,
2627 0x30,0x36,0xa5,0x38,
2628 0xbf,0x40,0xa3,0x9e,
2629 0x81,0xf3,0xd7,0xfb,
2630 0x7c,0xe3,0x39,0x82,
2631 0x9b,0x2f,0xff,0x87,
2632 0x34,0x8e,0x43,0x44,
2633 0xc4,0xde,0xe9,0xcb,
2634 0x54,0x7b,0x94,0x32,
2635 0xa6,0xc2,0x23,0x3d,
2636 0xee,0x4c,0x95,0x0b,
2637 0x42,0xfa,0xc3,0x4e,
2638 0x08,0x2e,0xa1,0x66,
2639 0x28,0xd9,0x24,0xb2,
2640 0x76,0x5b,0xa2,0x49,
2641 0x6d,0x8b,0xd1,0x25,
2642 0x72,0xf8,0xf6,0x64,
2643 0x86,0x68,0x98,0x16,
2644 0xd4,0xa4,0x5c,0xcc,
2645 0x5d,0x65,0xb6,0x92,
2646 0x6c,0x70,0x48,0x50,
2647 0xfd,0xed,0xb9,0xda,
2648 0x5e,0x15,0x46,0x57,
2649 0xa7,0x8d,0x9d,0x84,
2650 0x90,0xd8,0xab,0x00,
2651 0x8c,0xbc,0xd3,0x0a,
2652 0xf7,0xe4,0x58,0x05,
2653 0xb8,0xb3,0x45,0x06,
2654 0xd0,0x2c,0x1e,0x8f,
2655 0xca,0x3f,0x0f,0x02,
2656 0xc1,0xaf,0xbd,0x03,
2657 0x01,0x13,0x8a,0x6b,
2658 0x3a,0x91,0x11,0x41,
2659 0x4f,0x67,0xdc,0xea,
2660 0x97,0xf2,0xcf,0xce,
2661 0xf0,0xb4,0xe6,0x73,
2662 0x96,0xac,0x74,0x22,
2663 0xe7,0xad,0x35,0x85,
2664 0xe2,0xf9,0x37,0xe8,
2665 0x1c,0x75,0xdf,0x6e,
2666 0x47,0xf1,0x1a,0x71,
2667 0x1d,0x29,0xc5,0x89,
2668 0x6f,0xb7,0x62,0x0e,
2669 0xaa,0x18,0xbe,0x1b,
2670 0xfc,0x56,0x3e,0x4b,
2671 0xc6,0xd2,0x79,0x20,
2672 0x9a,0xdb,0xc0,0xfe,
2673 0x78,0xcd,0x5a,0xf4,
2674 0x1f,0xdd,0xa8,0x33,
2675 0x88,0x07,0xc7,0x31,
2676 0xb1,0x12,0x10,0x59,
2677 0x27,0x80,0xec,0x5f,
2678 0x60,0x51,0x7f,0xa9,
2679 0x19,0xb5,0x4a,0x0d,
2680 0x2d,0xe5,0x7a,0x9f,
2681 0x93,0xc9,0x9c,0xef,
2682 0xa0,0xe0,0x3b,0x4d,
2683 0xae,0x2a,0xf5,0xb0,
2684 0xc8,0xeb,0xbb,0x3c,
2685 0x83,0x53,0x99,0x61,
2686 0x17,0x2b,0x04,0x7e,
2687 0xba,0x77,0xd6,0x26,
2688 0xe1,0x69,0x14,0x63,
2689 0x55,0x21,0x0c,0x7d
2690 };
2691
2692 word8 U1[256][4] = {
2693     {0x00,0x00,0x00,0x00},
2694     {0x0e,0x09,0x0d,0x0b},
2695     {0x1c,0x12,0x1a,0x16},
2696     {0x12,0x1b,0x17,0x1d},
2697
2698     {0x38,0x24,0x34,0x2c},
2699     {0x36,0x2d,0x39,0x27},
2700     {0x24,0x36,0x2e,0x3a},
2701     {0x2a,0x3f,0x23,0x31},
2702
2703     {0x70,0x48,0x68,0x58},
2704     {0x7e,0x41,0x65,0x53},
2705     {0x6c,0x5a,0x72,0x4e},
2706     {0x62,0x53,0x7f,0x45},
2707
2708     {0x48,0x6c,0x5c,0x74},
2709     {0x46,0x65,0x51,0x7f},
2710     {0x54,0x7e,0x46,0x62},
2711     {0x5a,0x77,0x4b,0x69},
2712
2713     {0xe0,0x90,0xd0,0xb0},
2714     {0xee,0x99,0xdd,0xbb},
2715     {0xfc,0x82,0xca,0xa6},
2716     {0xf2,0x8b,0xc7,0xad},
2717
2718     {0xd8,0xb4,0xe4,0x9c},
2719     {0xd6,0xbd,0xe9,0x97},
2720     {0xc4,0xa6,0xfe,0x8a},
2721     {0xca,0xaf,0xf3,0x81},
2722
2723     {0x90,0xd8,0xb8,0xe8},
2724     {0x9e,0xd1,0xb5,0xe3},
2725     {0x8c,0xca,0xa2,0xfe},
2726     {0x82,0xc3,0xaf,0xf5},
2727
2728     {0xa8,0xfc,0x8c,0xc4},
2729     {0xa6,0xf5,0x81,0xcf},
2730     {0xb4,0xee,0x96,0xd2},
2731     {0xba,0xe7,0x9b,0xd9},
2732
2733     {0xdb,0x3b,0xbb,0x7b},
2734     {0xd5,0x32,0xb6,0x70},
2735     {0xc7,0x29,0xa1,0x6d},
2736     {0xc9,0x20,0xac,0x66},
2737
2738     {0xe3,0x1f,0x8f,0x57},
2739     {0xed,0x16,0x82,0x5c},
2740     {0xff,0x0d,0x95,0x41},
2741     {0xf1,0x04,0x98,0x4a},
2742
2743     {0xab,0x73,0xd3,0x23},
2744     {0xa5,0x7a,0xde,0x28},
2745     {0xb7,0x61,0xc9,0x35},
2746     {0xb9,0x68,0xc4,0x3e},
2747
2748     {0x93,0x57,0xe7,0x0f},
2749     {0x9d,0x5e,0xea,0x04},
2750     {0x8f,0x45,0xfd,0x19},
2751     {0x81,0x4c,0xf0,0x12},
2752
2753     {0x3b,0xab,0x6b,0xcb},
2754     {0x35,0xa2,0x66,0xc0},
2755     {0x27,0xb9,0x71,0xdd},
2756     {0x29,0xb0,0x7c,0xd6},
2757
2758     {0x03,0x8f,0x5f,0xe7},
2759     {0x0d,0x86,0x52,0xec},
2760     {0x1f,0x9d,0x45,0xf1},
2761     {0x11,0x94,0x48,0xfa},
2762
2763     {0x4b,0xe3,0x03,0x93},
2764     {0x45,0xea,0x0e,0x98},
2765     {0x57,0xf1,0x19,0x85},
2766     {0x59,0xf8,0x14,0x8e},
2767
2768     {0x73,0xc7,0x37,0xbf},
2769     {0x7d,0xce,0x3a,0xb4},
2770     {0x6f,0xd5,0x2d,0xa9},
2771     {0x61,0xdc,0x20,0xa2},
2772
2773     {0xad,0x76,0x6d,0xf6},
2774     {0xa3,0x7f,0x60,0xfd},
2775     {0xb1,0x64,0x77,0xe0},
2776     {0xbf,0x6d,0x7a,0xeb},
2777
2778     {0x95,0x52,0x59,0xda},
2779     {0x9b,0x5b,0x54,0xd1},
2780     {0x89,0x40,0x43,0xcc},
2781     {0x87,0x49,0x4e,0xc7},
2782
2783     {0xdd,0x3e,0x05,0xae},
2784     {0xd3,0x37,0x08,0xa5},
2785     {0xc1,0x2c,0x1f,0xb8},
2786     {0xcf,0x25,0x12,0xb3},
2787
2788     {0xe5,0x1a,0x31,0x82},
2789     {0xeb,0x13,0x3c,0x89},
2790     {0xf9,0x08,0x2b,0x94},
2791     {0xf7,0x01,0x26,0x9f},
2792
2793     {0x4d,0xe6,0xbd,0x46},
2794     {0x43,0xef,0xb0,0x4d},
2795     {0x51,0xf4,0xa7,0x50},
2796     {0x5f,0xfd,0xaa,0x5b},
2797
2798     {0x75,0xc2,0x89,0x6a},
2799     {0x7b,0xcb,0x84,0x61},
2800     {0x69,0xd0,0x93,0x7c},
2801     {0x67,0xd9,0x9e,0x77},
2802
2803     {0x3d,0xae,0xd5,0x1e},
2804     {0x33,0xa7,0xd8,0x15},
2805     {0x21,0xbc,0xcf,0x08},
2806     {0x2f,0xb5,0xc2,0x03},
2807
2808     {0x05,0x8a,0xe1,0x32},
2809     {0x0b,0x83,0xec,0x39},
2810     {0x19,0x98,0xfb,0x24},
2811     {0x17,0x91,0xf6,0x2f},
2812
2813     {0x76,0x4d,0xd6,0x8d},
2814     {0x78,0x44,0xdb,0x86},
2815     {0x6a,0x5f,0xcc,0x9b},
2816     {0x64,0x56,0xc1,0x90},
2817
2818     {0x4e,0x69,0xe2,0xa1},
2819     {0x40,0x60,0xef,0xaa},
2820     {0x52,0x7b,0xf8,0xb7},
2821     {0x5c,0x72,0xf5,0xbc},
2822
2823     {0x06,0x05,0xbe,0xd5},
2824     {0x08,0x0c,0xb3,0xde},
2825     {0x1a,0x17,0xa4,0xc3},
2826     {0x14,0x1e,0xa9,0xc8},
2827
2828     {0x3e,0x21,0x8a,0xf9},
2829     {0x30,0x28,0x87,0xf2},
2830     {0x22,0x33,0x90,0xef},
2831     {0x2c,0x3a,0x9d,0xe4},
2832
2833     {0x96,0xdd,0x06,0x3d},
2834     {0x98,0xd4,0x0b,0x36},
2835     {0x8a,0xcf,0x1c,0x2b},
2836     {0x84,0xc6,0x11,0x20},
2837
2838     {0xae,0xf9,0x32,0x11},
2839     {0xa0,0xf0,0x3f,0x1a},
2840     {0xb2,0xeb,0x28,0x07},
2841     {0xbc,0xe2,0x25,0x0c},
2842
2843     {0xe6,0x95,0x6e,0x65},
2844     {0xe8,0x9c,0x63,0x6e},
2845     {0xfa,0x87,0x74,0x73},
2846     {0xf4,0x8e,0x79,0x78},
2847
2848     {0xde,0xb1,0x5a,0x49},
2849     {0xd0,0xb8,0x57,0x42},
2850     {0xc2,0xa3,0x40,0x5f},
2851     {0xcc,0xaa,0x4d,0x54},
2852
2853     {0x41,0xec,0xda,0xf7},
2854     {0x4f,0xe5,0xd7,0xfc},
2855     {0x5d,0xfe,0xc0,0xe1},
2856     {0x53,0xf7,0xcd,0xea},
2857
2858     {0x79,0xc8,0xee,0xdb},
2859     {0x77,0xc1,0xe3,0xd0},
2860     {0x65,0xda,0xf4,0xcd},
2861     {0x6b,0xd3,0xf9,0xc6},
2862
2863     {0x31,0xa4,0xb2,0xaf},
2864     {0x3f,0xad,0xbf,0xa4},
2865     {0x2d,0xb6,0xa8,0xb9},
2866     {0x23,0xbf,0xa5,0xb2},
2867
2868     {0x09,0x80,0x86,0x83},
2869     {0x07,0x89,0x8b,0x88},
2870     {0x15,0x92,0x9c,0x95},
2871     {0x1b,0x9b,0x91,0x9e},
2872
2873     {0xa1,0x7c,0x0a,0x47},
2874     {0xaf,0x75,0x07,0x4c},
2875     {0xbd,0x6e,0x10,0x51},
2876     {0xb3,0x67,0x1d,0x5a},
2877
2878     {0x99,0x58,0x3e,0x6b},
2879     {0x97,0x51,0x33,0x60},
2880     {0x85,0x4a,0x24,0x7d},
2881     {0x8b,0x43,0x29,0x76},
2882
2883     {0xd1,0x34,0x62,0x1f},
2884     {0xdf,0x3d,0x6f,0x14},
2885     {0xcd,0x26,0x78,0x09},
2886     {0xc3,0x2f,0x75,0x02},
2887
2888     {0xe9,0x10,0x56,0x33},
2889     {0xe7,0x19,0x5b,0x38},
2890     {0xf5,0x02,0x4c,0x25},
2891     {0xfb,0x0b,0x41,0x2e},
2892
2893     {0x9a,0xd7,0x61,0x8c},
2894     {0x94,0xde,0x6c,0x87},
2895     {0x86,0xc5,0x7b,0x9a},
2896     {0x88,0xcc,0x76,0x91},
2897
2898     {0xa2,0xf3,0x55,0xa0},
2899     {0xac,0xfa,0x58,0xab},
2900     {0xbe,0xe1,0x4f,0xb6},
2901     {0xb0,0xe8,0x42,0xbd},
2902
2903     {0xea,0x9f,0x09,0xd4},
2904     {0xe4,0x96,0x04,0xdf},
2905     {0xf6,0x8d,0x13,0xc2},
2906     {0xf8,0x84,0x1e,0xc9},
2907
2908     {0xd2,0xbb,0x3d,0xf8},
2909     {0xdc,0xb2,0x30,0xf3},
2910     {0xce,0xa9,0x27,0xee},
2911     {0xc0,0xa0,0x2a,0xe5},
2912
2913     {0x7a,0x47,0xb1,0x3c},
2914     {0x74,0x4e,0xbc,0x37},
2915     {0x66,0x55,0xab,0x2a},
2916     {0x68,0x5c,0xa6,0x21},
2917
2918     {0x42,0x63,0x85,0x10},
2919     {0x4c,0x6a,0x88,0x1b},
2920     {0x5e,0x71,0x9f,0x06},
2921     {0x50,0x78,0x92,0x0d},
2922
2923     {0x0a,0x0f,0xd9,0x64},
2924     {0x04,0x06,0xd4,0x6f},
2925     {0x16,0x1d,0xc3,0x72},
2926     {0x18,0x14,0xce,0x79},
2927
2928     {0x32,0x2b,0xed,0x48},
2929     {0x3c,0x22,0xe0,0x43},
2930     {0x2e,0x39,0xf7,0x5e},
2931     {0x20,0x30,0xfa,0x55},
2932
2933     {0xec,0x9a,0xb7,0x01},
2934     {0xe2,0x93,0xba,0x0a},
2935     {0xf0,0x88,0xad,0x17},
2936     {0xfe,0x81,0xa0,0x1c},
2937
2938     {0xd4,0xbe,0x83,0x2d},
2939     {0xda,0xb7,0x8e,0x26},
2940     {0xc8,0xac,0x99,0x3b},
2941     {0xc6,0xa5,0x94,0x30},
2942
2943     {0x9c,0xd2,0xdf,0x59},
2944     {0x92,0xdb,0xd2,0x52},
2945     {0x80,0xc0,0xc5,0x4f},
2946     {0x8e,0xc9,0xc8,0x44},
2947
2948     {0xa4,0xf6,0xeb,0x75},
2949     {0xaa,0xff,0xe6,0x7e},
2950     {0xb8,0xe4,0xf1,0x63},
2951     {0xb6,0xed,0xfc,0x68},
2952
2953     {0x0c,0x0a,0x67,0xb1},
2954     {0x02,0x03,0x6a,0xba},
2955     {0x10,0x18,0x7d,0xa7},
2956     {0x1e,0x11,0x70,0xac},
2957
2958     {0x34,0x2e,0x53,0x9d},
2959     {0x3a,0x27,0x5e,0x96},
2960     {0x28,0x3c,0x49,0x8b},
2961     {0x26,0x35,0x44,0x80},
2962
2963     {0x7c,0x42,0x0f,0xe9},
2964     {0x72,0x4b,0x02,0xe2},
2965     {0x60,0x50,0x15,0xff},
2966     {0x6e,0x59,0x18,0xf4},
2967
2968     {0x44,0x66,0x3b,0xc5},
2969     {0x4a,0x6f,0x36,0xce},
2970     {0x58,0x74,0x21,0xd3},
2971     {0x56,0x7d,0x2c,0xd8},
2972
2973     {0x37,0xa1,0x0c,0x7a},
2974     {0x39,0xa8,0x01,0x71},
2975     {0x2b,0xb3,0x16,0x6c},
2976     {0x25,0xba,0x1b,0x67},
2977
2978     {0x0f,0x85,0x38,0x56},
2979     {0x01,0x8c,0x35,0x5d},
2980     {0x13,0x97,0x22,0x40},
2981     {0x1d,0x9e,0x2f,0x4b},
2982
2983     {0x47,0xe9,0x64,0x22},
2984     {0x49,0xe0,0x69,0x29},
2985     {0x5b,0xfb,0x7e,0x34},
2986     {0x55,0xf2,0x73,0x3f},
2987
2988     {0x7f,0xcd,0x50,0x0e},
2989     {0x71,0xc4,0x5d,0x05},
2990     {0x63,0xdf,0x4a,0x18},
2991     {0x6d,0xd6,0x47,0x13},
2992
2993     {0xd7,0x31,0xdc,0xca},
2994     {0xd9,0x38,0xd1,0xc1},
2995     {0xcb,0x23,0xc6,0xdc},
2996     {0xc5,0x2a,0xcb,0xd7},
2997
2998     {0xef,0x15,0xe8,0xe6},
2999     {0xe1,0x1c,0xe5,0xed},
3000     {0xf3,0x07,0xf2,0xf0},
3001     {0xfd,0x0e,0xff,0xfb},
3002
3003     {0xa7,0x79,0xb4,0x92},
3004     {0xa9,0x70,0xb9,0x99},
3005     {0xbb,0x6b,0xae,0x84},
3006     {0xb5,0x62,0xa3,0x8f},
3007
3008     {0x9f,0x5d,0x80,0xbe},
3009     {0x91,0x54,0x8d,0xb5},
3010     {0x83,0x4f,0x9a,0xa8},
3011     {0x8d,0x46,0x97,0xa3},
3012
3013 };
3014
3015 word8 U2[256][4] = {
3016     {0x00,0x00,0x00,0x00},
3017     {0x0b,0x0e,0x09,0x0d},
3018     {0x16,0x1c,0x12,0x1a},
3019     {0x1d,0x12,0x1b,0x17},
3020
3021     {0x2c,0x38,0x24,0x34},
3022     {0x27,0x36,0x2d,0x39},
3023     {0x3a,0x24,0x36,0x2e},
3024     {0x31,0x2a,0x3f,0x23},
3025
3026     {0x58,0x70,0x48,0x68},
3027     {0x53,0x7e,0x41,0x65},
3028     {0x4e,0x6c,0x5a,0x72},
3029     {0x45,0x62,0x53,0x7f},
3030
3031     {0x74,0x48,0x6c,0x5c},
3032     {0x7f,0x46,0x65,0x51},
3033     {0x62,0x54,0x7e,0x46},
3034     {0x69,0x5a,0x77,0x4b},
3035
3036     {0xb0,0xe0,0x90,0xd0},
3037     {0xbb,0xee,0x99,0xdd},
3038     {0xa6,0xfc,0x82,0xca},
3039     {0xad,0xf2,0x8b,0xc7},
3040
3041     {0x9c,0xd8,0xb4,0xe4},
3042     {0x97,0xd6,0xbd,0xe9},
3043     {0x8a,0xc4,0xa6,0xfe},
3044     {0x81,0xca,0xaf,0xf3},
3045
3046     {0xe8,0x90,0xd8,0xb8},
3047     {0xe3,0x9e,0xd1,0xb5},
3048     {0xfe,0x8c,0xca,0xa2},
3049     {0xf5,0x82,0xc3,0xaf},
3050
3051     {0xc4,0xa8,0xfc,0x8c},
3052     {0xcf,0xa6,0xf5,0x81},
3053     {0xd2,0xb4,0xee,0x96},
3054     {0xd9,0xba,0xe7,0x9b},
3055
3056     {0x7b,0xdb,0x3b,0xbb},
3057     {0x70,0xd5,0x32,0xb6},
3058     {0x6d,0xc7,0x29,0xa1},
3059     {0x66,0xc9,0x20,0xac},
3060
3061     {0x57,0xe3,0x1f,0x8f},
3062     {0x5c,0xed,0x16,0x82},
3063     {0x41,0xff,0x0d,0x95},
3064     {0x4a,0xf1,0x04,0x98},
3065
3066     {0x23,0xab,0x73,0xd3},
3067     {0x28,0xa5,0x7a,0xde},
3068     {0x35,0xb7,0x61,0xc9},
3069     {0x3e,0xb9,0x68,0xc4},
3070
3071     {0x0f,0x93,0x57,0xe7},
3072     {0x04,0x9d,0x5e,0xea},
3073     {0x19,0x8f,0x45,0xfd},
3074     {0x12,0x81,0x4c,0xf0},
3075
3076     {0xcb,0x3b,0xab,0x6b},
3077     {0xc0,0x35,0xa2,0x66},
3078     {0xdd,0x27,0xb9,0x71},
3079     {0xd6,0x29,0xb0,0x7c},
3080
3081     {0xe7,0x03,0x8f,0x5f},
3082     {0xec,0x0d,0x86,0x52},
3083     {0xf1,0x1f,0x9d,0x45},
3084     {0xfa,0x11,0x94,0x48},
3085
3086     {0x93,0x4b,0xe3,0x03},
3087     {0x98,0x45,0xea,0x0e},
3088     {0x85,0x57,0xf1,0x19},
3089     {0x8e,0x59,0xf8,0x14},
3090
3091     {0xbf,0x73,0xc7,0x37},
3092     {0xb4,0x7d,0xce,0x3a},
3093     {0xa9,0x6f,0xd5,0x2d},
3094     {0xa2,0x61,0xdc,0x20},
3095
3096     {0xf6,0xad,0x76,0x6d},
3097     {0xfd,0xa3,0x7f,0x60},
3098     {0xe0,0xb1,0x64,0x77},
3099     {0xeb,0xbf,0x6d,0x7a},
3100
3101     {0xda,0x95,0x52,0x59},
3102     {0xd1,0x9b,0x5b,0x54},
3103     {0xcc,0x89,0x40,0x43},
3104     {0xc7,0x87,0x49,0x4e},
3105
3106     {0xae,0xdd,0x3e,0x05},
3107     {0xa5,0xd3,0x37,0x08},
3108     {0xb8,0xc1,0x2c,0x1f},
3109     {0xb3,0xcf,0x25,0x12},
3110
3111     {0x82,0xe5,0x1a,0x31},
3112     {0x89,0xeb,0x13,0x3c},
3113     {0x94,0xf9,0x08,0x2b},
3114     {0x9f,0xf7,0x01,0x26},
3115
3116     {0x46,0x4d,0xe6,0xbd},
3117     {0x4d,0x43,0xef,0xb0},
3118     {0x50,0x51,0xf4,0xa7},
3119     {0x5b,0x5f,0xfd,0xaa},
3120
3121     {0x6a,0x75,0xc2,0x89},
3122     {0x61,0x7b,0xcb,0x84},
3123     {0x7c,0x69,0xd0,0x93},
3124     {0x77,0x67,0xd9,0x9e},
3125
3126     {0x1e,0x3d,0xae,0xd5},
3127     {0x15,0x33,0xa7,0xd8},
3128     {0x08,0x21,0xbc,0xcf},
3129     {0x03,0x2f,0xb5,0xc2},
3130
3131     {0x32,0x05,0x8a,0xe1},
3132     {0x39,0x0b,0x83,0xec},
3133     {0x24,0x19,0x98,0xfb},
3134     {0x2f,0x17,0x91,0xf6},
3135
3136     {0x8d,0x76,0x4d,0xd6},
3137     {0x86,0x78,0x44,0xdb},
3138     {0x9b,0x6a,0x5f,0xcc},
3139     {0x90,0x64,0x56,0xc1},
3140
3141     {0xa1,0x4e,0x69,0xe2},
3142     {0xaa,0x40,0x60,0xef},
3143     {0xb7,0x52,0x7b,0xf8},
3144     {0xbc,0x5c,0x72,0xf5},
3145
3146     {0xd5,0x06,0x05,0xbe},
3147     {0xde,0x08,0x0c,0xb3},
3148     {0xc3,0x1a,0x17,0xa4},
3149     {0xc8,0x14,0x1e,0xa9},
3150
3151     {0xf9,0x3e,0x21,0x8a},
3152     {0xf2,0x30,0x28,0x87},
3153     {0xef,0x22,0x33,0x90},
3154     {0xe4,0x2c,0x3a,0x9d},
3155
3156     {0x3d,0x96,0xdd,0x06},
3157     {0x36,0x98,0xd4,0x0b},
3158     {0x2b,0x8a,0xcf,0x1c},
3159     {0x20,0x84,0xc6,0x11},
3160
3161     {0x11,0xae,0xf9,0x32},
3162     {0x1a,0xa0,0xf0,0x3f},
3163     {0x07,0xb2,0xeb,0x28},
3164     {0x0c,0xbc,0xe2,0x25},
3165
3166     {0x65,0xe6,0x95,0x6e},
3167     {0x6e,0xe8,0x9c,0x63},
3168     {0x73,0xfa,0x87,0x74},
3169     {0x78,0xf4,0x8e,0x79},
3170
3171     {0x49,0xde,0xb1,0x5a},
3172     {0x42,0xd0,0xb8,0x57},
3173     {0x5f,0xc2,0xa3,0x40},
3174     {0x54,0xcc,0xaa,0x4d},
3175
3176     {0xf7,0x41,0xec,0xda},
3177     {0xfc,0x4f,0xe5,0xd7},
3178     {0xe1,0x5d,0xfe,0xc0},
3179     {0xea,0x53,0xf7,0xcd},
3180
3181     {0xdb,0x79,0xc8,0xee},
3182     {0xd0,0x77,0xc1,0xe3},
3183     {0xcd,0x65,0xda,0xf4},
3184     {0xc6,0x6b,0xd3,0xf9},
3185
3186     {0xaf,0x31,0xa4,0xb2},
3187     {0xa4,0x3f,0xad,0xbf},
3188     {0xb9,0x2d,0xb6,0xa8},
3189     {0xb2,0x23,0xbf,0xa5},
3190
3191     {0x83,0x09,0x80,0x86},
3192     {0x88,0x07,0x89,0x8b},
3193     {0x95,0x15,0x92,0x9c},
3194     {0x9e,0x1b,0x9b,0x91},
3195
3196     {0x47,0xa1,0x7c,0x0a},
3197     {0x4c,0xaf,0x75,0x07},
3198     {0x51,0xbd,0x6e,0x10},
3199     {0x5a,0xb3,0x67,0x1d},
3200
3201     {0x6b,0x99,0x58,0x3e},
3202     {0x60,0x97,0x51,0x33},
3203     {0x7d,0x85,0x4a,0x24},
3204     {0x76,0x8b,0x43,0x29},
3205
3206     {0x1f,0xd1,0x34,0x62},
3207     {0x14,0xdf,0x3d,0x6f},
3208     {0x09,0xcd,0x26,0x78},
3209     {0x02,0xc3,0x2f,0x75},
3210
3211     {0x33,0xe9,0x10,0x56},
3212     {0x38,0xe7,0x19,0x5b},
3213     {0x25,0xf5,0x02,0x4c},
3214     {0x2e,0xfb,0x0b,0x41},
3215
3216     {0x8c,0x9a,0xd7,0x61},
3217     {0x87,0x94,0xde,0x6c},
3218     {0x9a,0x86,0xc5,0x7b},
3219     {0x91,0x88,0xcc,0x76},
3220
3221     {0xa0,0xa2,0xf3,0x55},
3222     {0xab,0xac,0xfa,0x58},
3223     {0xb6,0xbe,0xe1,0x4f},
3224     {0xbd,0xb0,0xe8,0x42},
3225
3226     {0xd4,0xea,0x9f,0x09},
3227     {0xdf,0xe4,0x96,0x04},
3228     {0xc2,0xf6,0x8d,0x13},
3229     {0xc9,0xf8,0x84,0x1e},
3230
3231     {0xf8,0xd2,0xbb,0x3d},
3232     {0xf3,0xdc,0xb2,0x30},
3233     {0xee,0xce,0xa9,0x27},
3234     {0xe5,0xc0,0xa0,0x2a},
3235
3236     {0x3c,0x7a,0x47,0xb1},
3237     {0x37,0x74,0x4e,0xbc},
3238     {0x2a,0x66,0x55,0xab},
3239     {0x21,0x68,0x5c,0xa6},
3240
3241     {0x10,0x42,0x63,0x85},
3242     {0x1b,0x4c,0x6a,0x88},
3243     {0x06,0x5e,0x71,0x9f},
3244     {0x0d,0x50,0x78,0x92},
3245
3246     {0x64,0x0a,0x0f,0xd9},
3247     {0x6f,0x04,0x06,0xd4},
3248     {0x72,0x16,0x1d,0xc3},
3249     {0x79,0x18,0x14,0xce},
3250
3251     {0x48,0x32,0x2b,0xed},
3252     {0x43,0x3c,0x22,0xe0},
3253     {0x5e,0x2e,0x39,0xf7},
3254     {0x55,0x20,0x30,0xfa},
3255
3256     {0x01,0xec,0x9a,0xb7},
3257     {0x0a,0xe2,0x93,0xba},
3258     {0x17,0xf0,0x88,0xad},
3259     {0x1c,0xfe,0x81,0xa0},
3260
3261     {0x2d,0xd4,0xbe,0x83},
3262     {0x26,0xda,0xb7,0x8e},
3263     {0x3b,0xc8,0xac,0x99},
3264     {0x30,0xc6,0xa5,0x94},
3265
3266     {0x59,0x9c,0xd2,0xdf},
3267     {0x52,0x92,0xdb,0xd2},
3268     {0x4f,0x80,0xc0,0xc5},
3269     {0x44,0x8e,0xc9,0xc8},
3270
3271     {0x75,0xa4,0xf6,0xeb},
3272     {0x7e,0xaa,0xff,0xe6},
3273     {0x63,0xb8,0xe4,0xf1},
3274     {0x68,0xb6,0xed,0xfc},
3275
3276     {0xb1,0x0c,0x0a,0x67},
3277     {0xba,0x02,0x03,0x6a},
3278     {0xa7,0x10,0x18,0x7d},
3279     {0xac,0x1e,0x11,0x70},
3280
3281     {0x9d,0x34,0x2e,0x53},
3282     {0x96,0x3a,0x27,0x5e},
3283     {0x8b,0x28,0x3c,0x49},
3284     {0x80,0x26,0x35,0x44},
3285
3286     {0xe9,0x7c,0x42,0x0f},
3287     {0xe2,0x72,0x4b,0x02},
3288     {0xff,0x60,0x50,0x15},
3289     {0xf4,0x6e,0x59,0x18},
3290
3291     {0xc5,0x44,0x66,0x3b},
3292     {0xce,0x4a,0x6f,0x36},
3293     {0xd3,0x58,0x74,0x21},
3294     {0xd8,0x56,0x7d,0x2c},
3295
3296     {0x7a,0x37,0xa1,0x0c},
3297     {0x71,0x39,0xa8,0x01},
3298     {0x6c,0x2b,0xb3,0x16},
3299     {0x67,0x25,0xba,0x1b},
3300
3301     {0x56,0x0f,0x85,0x38},
3302     {0x5d,0x01,0x8c,0x35},
3303     {0x40,0x13,0x97,0x22},
3304     {0x4b,0x1d,0x9e,0x2f},
3305
3306     {0x22,0x47,0xe9,0x64},
3307     {0x29,0x49,0xe0,0x69},
3308     {0x34,0x5b,0xfb,0x7e},
3309     {0x3f,0x55,0xf2,0x73},
3310
3311     {0x0e,0x7f,0xcd,0x50},
3312     {0x05,0x71,0xc4,0x5d},
3313     {0x18,0x63,0xdf,0x4a},
3314     {0x13,0x6d,0xd6,0x47},
3315
3316     {0xca,0xd7,0x31,0xdc},
3317     {0xc1,0xd9,0x38,0xd1},
3318     {0xdc,0xcb,0x23,0xc6},
3319     {0xd7,0xc5,0x2a,0xcb},
3320
3321     {0xe6,0xef,0x15,0xe8},
3322     {0xed,0xe1,0x1c,0xe5},
3323     {0xf0,0xf3,0x07,0xf2},
3324     {0xfb,0xfd,0x0e,0xff},
3325
3326     {0x92,0xa7,0x79,0xb4},
3327     {0x99,0xa9,0x70,0xb9},
3328     {0x84,0xbb,0x6b,0xae},
3329     {0x8f,0xb5,0x62,0xa3},
3330
3331     {0xbe,0x9f,0x5d,0x80},
3332     {0xb5,0x91,0x54,0x8d},
3333     {0xa8,0x83,0x4f,0x9a},
3334     {0xa3,0x8d,0x46,0x97},
3335
3336 };
3337
3338 word8 U3[256][4] = {
3339     {0x00,0x00,0x00,0x00},
3340     {0x0d,0x0b,0x0e,0x09},
3341     {0x1a,0x16,0x1c,0x12},
3342     {0x17,0x1d,0x12,0x1b},
3343
3344     {0x34,0x2c,0x38,0x24},
3345     {0x39,0x27,0x36,0x2d},
3346     {0x2e,0x3a,0x24,0x36},
3347     {0x23,0x31,0x2a,0x3f},
3348
3349     {0x68,0x58,0x70,0x48},
3350     {0x65,0x53,0x7e,0x41},
3351     {0x72,0x4e,0x6c,0x5a},
3352     {0x7f,0x45,0x62,0x53},
3353
3354     {0x5c,0x74,0x48,0x6c},
3355     {0x51,0x7f,0x46,0x65},
3356     {0x46,0x62,0x54,0x7e},
3357     {0x4b,0x69,0x5a,0x77},
3358
3359     {0xd0,0xb0,0xe0,0x90},
3360     {0xdd,0xbb,0xee,0x99},
3361     {0xca,0xa6,0xfc,0x82},
3362     {0xc7,0xad,0xf2,0x8b},
3363
3364     {0xe4,0x9c,0xd8,0xb4},
3365     {0xe9,0x97,0xd6,0xbd},
3366     {0xfe,0x8a,0xc4,0xa6},
3367     {0xf3,0x81,0xca,0xaf},
3368
3369     {0xb8,0xe8,0x90,0xd8},
3370     {0xb5,0xe3,0x9e,0xd1},
3371     {0xa2,0xfe,0x8c,0xca},
3372     {0xaf,0xf5,0x82,0xc3},
3373
3374     {0x8c,0xc4,0xa8,0xfc},
3375     {0x81,0xcf,0xa6,0xf5},
3376     {0x96,0xd2,0xb4,0xee},
3377     {0x9b,0xd9,0xba,0xe7},
3378
3379     {0xbb,0x7b,0xdb,0x3b},
3380     {0xb6,0x70,0xd5,0x32},
3381     {0xa1,0x6d,0xc7,0x29},
3382     {0xac,0x66,0xc9,0x20},
3383
3384     {0x8f,0x57,0xe3,0x1f},
3385     {0x82,0x5c,0xed,0x16},
3386     {0x95,0x41,0xff,0x0d},
3387     {0x98,0x4a,0xf1,0x04},
3388
3389     {0xd3,0x23,0xab,0x73},
3390     {0xde,0x28,0xa5,0x7a},
3391     {0xc9,0x35,0xb7,0x61},
3392     {0xc4,0x3e,0xb9,0x68},
3393
3394     {0xe7,0x0f,0x93,0x57},
3395     {0xea,0x04,0x9d,0x5e},
3396     {0xfd,0x19,0x8f,0x45},
3397     {0xf0,0x12,0x81,0x4c},
3398
3399     {0x6b,0xcb,0x3b,0xab},
3400     {0x66,0xc0,0x35,0xa2},
3401     {0x71,0xdd,0x27,0xb9},
3402     {0x7c,0xd6,0x29,0xb0},
3403
3404     {0x5f,0xe7,0x03,0x8f},
3405     {0x52,0xec,0x0d,0x86},
3406     {0x45,0xf1,0x1f,0x9d},
3407     {0x48,0xfa,0x11,0x94},
3408
3409     {0x03,0x93,0x4b,0xe3},
3410     {0x0e,0x98,0x45,0xea},
3411     {0x19,0x85,0x57,0xf1},
3412     {0x14,0x8e,0x59,0xf8},
3413
3414     {0x37,0xbf,0x73,0xc7},
3415     {0x3a,0xb4,0x7d,0xce},
3416     {0x2d,0xa9,0x6f,0xd5},
3417     {0x20,0xa2,0x61,0xdc},
3418
3419     {0x6d,0xf6,0xad,0x76},
3420     {0x60,0xfd,0xa3,0x7f},
3421     {0x77,0xe0,0xb1,0x64},
3422     {0x7a,0xeb,0xbf,0x6d},
3423
3424     {0x59,0xda,0x95,0x52},
3425     {0x54,0xd1,0x9b,0x5b},
3426     {0x43,0xcc,0x89,0x40},
3427     {0x4e,0xc7,0x87,0x49},
3428
3429     {0x05,0xae,0xdd,0x3e},
3430     {0x08,0xa5,0xd3,0x37},
3431     {0x1f,0xb8,0xc1,0x2c},
3432     {0x12,0xb3,0xcf,0x25},
3433
3434     {0x31,0x82,0xe5,0x1a},
3435     {0x3c,0x89,0xeb,0x13},
3436     {0x2b,0x94,0xf9,0x08},
3437     {0x26,0x9f,0xf7,0x01},
3438
3439     {0xbd,0x46,0x4d,0xe6},
3440     {0xb0,0x4d,0x43,0xef},
3441     {0xa7,0x50,0x51,0xf4},
3442     {0xaa,0x5b,0x5f,0xfd},
3443
3444     {0x89,0x6a,0x75,0xc2},
3445     {0x84,0x61,0x7b,0xcb},
3446     {0x93,0x7c,0x69,0xd0},
3447     {0x9e,0x77,0x67,0xd9},
3448
3449     {0xd5,0x1e,0x3d,0xae},
3450     {0xd8,0x15,0x33,0xa7},
3451     {0xcf,0x08,0x21,0xbc},
3452     {0xc2,0x03,0x2f,0xb5},
3453
3454     {0xe1,0x32,0x05,0x8a},
3455     {0xec,0x39,0x0b,0x83},
3456     {0xfb,0x24,0x19,0x98},
3457     {0xf6,0x2f,0x17,0x91},
3458
3459     {0xd6,0x8d,0x76,0x4d},
3460     {0xdb,0x86,0x78,0x44},
3461     {0xcc,0x9b,0x6a,0x5f},
3462     {0xc1,0x90,0x64,0x56},
3463
3464     {0xe2,0xa1,0x4e,0x69},
3465     {0xef,0xaa,0x40,0x60},
3466     {0xf8,0xb7,0x52,0x7b},
3467     {0xf5,0xbc,0x5c,0x72},
3468
3469     {0xbe,0xd5,0x06,0x05},
3470     {0xb3,0xde,0x08,0x0c},
3471     {0xa4,0xc3,0x1a,0x17},
3472     {0xa9,0xc8,0x14,0x1e},
3473
3474     {0x8a,0xf9,0x3e,0x21},
3475     {0x87,0xf2,0x30,0x28},
3476     {0x90,0xef,0x22,0x33},
3477     {0x9d,0xe4,0x2c,0x3a},
3478
3479     {0x06,0x3d,0x96,0xdd},
3480     {0x0b,0x36,0x98,0xd4},
3481     {0x1c,0x2b,0x8a,0xcf},
3482     {0x11,0x20,0x84,0xc6},
3483
3484     {0x32,0x11,0xae,0xf9},
3485     {0x3f,0x1a,0xa0,0xf0},
3486     {0x28,0x07,0xb2,0xeb},
3487     {0x25,0x0c,0xbc,0xe2},
3488
3489     {0x6e,0x65,0xe6,0x95},
3490     {0x63,0x6e,0xe8,0x9c},
3491     {0x74,0x73,0xfa,0x87},
3492     {0x79,0x78,0xf4,0x8e},
3493
3494     {0x5a,0x49,0xde,0xb1},
3495     {0x57,0x42,0xd0,0xb8},
3496     {0x40,0x5f,0xc2,0xa3},
3497     {0x4d,0x54,0xcc,0xaa},
3498
3499     {0xda,0xf7,0x41,0xec},
3500     {0xd7,0xfc,0x4f,0xe5},
3501     {0xc0,0xe1,0x5d,0xfe},
3502     {0xcd,0xea,0x53,0xf7},
3503
3504     {0xee,0xdb,0x79,0xc8},
3505     {0xe3,0xd0,0x77,0xc1},
3506     {0xf4,0xcd,0x65,0xda},
3507     {0xf9,0xc6,0x6b,0xd3},
3508
3509     {0xb2,0xaf,0x31,0xa4},
3510     {0xbf,0xa4,0x3f,0xad},
3511     {0xa8,0xb9,0x2d,0xb6},
3512     {0xa5,0xb2,0x23,0xbf},
3513
3514     {0x86,0x83,0x09,0x80},
3515     {0x8b,0x88,0x07,0x89},
3516     {0x9c,0x95,0x15,0x92},
3517     {0x91,0x9e,0x1b,0x9b},
3518
3519     {0x0a,0x47,0xa1,0x7c},
3520     {0x07,0x4c,0xaf,0x75},
3521     {0x10,0x51,0xbd,0x6e},
3522     {0x1d,0x5a,0xb3,0x67},
3523
3524     {0x3e,0x6b,0x99,0x58},
3525     {0x33,0x60,0x97,0x51},
3526     {0x24,0x7d,0x85,0x4a},
3527     {0x29,0x76,0x8b,0x43},
3528
3529     {0x62,0x1f,0xd1,0x34},
3530     {0x6f,0x14,0xdf,0x3d},
3531     {0x78,0x09,0xcd,0x26},
3532     {0x75,0x02,0xc3,0x2f},
3533
3534     {0x56,0x33,0xe9,0x10},
3535     {0x5b,0x38,0xe7,0x19},
3536     {0x4c,0x25,0xf5,0x02},
3537     {0x41,0x2e,0xfb,0x0b},
3538
3539     {0x61,0x8c,0x9a,0xd7},
3540     {0x6c,0x87,0x94,0xde},
3541     {0x7b,0x9a,0x86,0xc5},
3542     {0x76,0x91,0x88,0xcc},
3543
3544     {0x55,0xa0,0xa2,0xf3},
3545     {0x58,0xab,0xac,0xfa},
3546     {0x4f,0xb6,0xbe,0xe1},
3547     {0x42,0xbd,0xb0,0xe8},
3548
3549     {0x09,0xd4,0xea,0x9f},
3550     {0x04,0xdf,0xe4,0x96},
3551     {0x13,0xc2,0xf6,0x8d},
3552     {0x1e,0xc9,0xf8,0x84},
3553
3554     {0x3d,0xf8,0xd2,0xbb},
3555     {0x30,0xf3,0xdc,0xb2},
3556     {0x27,0xee,0xce,0xa9},
3557     {0x2a,0xe5,0xc0,0xa0},
3558
3559     {0xb1,0x3c,0x7a,0x47},
3560     {0xbc,0x37,0x74,0x4e},
3561     {0xab,0x2a,0x66,0x55},
3562     {0xa6,0x21,0x68,0x5c},
3563
3564     {0x85,0x10,0x42,0x63},
3565     {0x88,0x1b,0x4c,0x6a},
3566     {0x9f,0x06,0x5e,0x71},
3567     {0x92,0x0d,0x50,0x78},
3568
3569     {0xd9,0x64,0x0a,0x0f},
3570     {0xd4,0x6f,0x04,0x06},
3571     {0xc3,0x72,0x16,0x1d},
3572     {0xce,0x79,0x18,0x14},
3573
3574     {0xed,0x48,0x32,0x2b},
3575     {0xe0,0x43,0x3c,0x22},
3576     {0xf7,0x5e,0x2e,0x39},
3577     {0xfa,0x55,0x20,0x30},
3578
3579     {0xb7,0x01,0xec,0x9a},
3580     {0xba,0x0a,0xe2,0x93},
3581     {0xad,0x17,0xf0,0x88},
3582     {0xa0,0x1c,0xfe,0x81},
3583
3584     {0x83,0x2d,0xd4,0xbe},
3585     {0x8e,0x26,0xda,0xb7},
3586     {0x99,0x3b,0xc8,0xac},
3587     {0x94,0x30,0xc6,0xa5},
3588
3589     {0xdf,0x59,0x9c,0xd2},
3590     {0xd2,0x52,0x92,0xdb},
3591     {0xc5,0x4f,0x80,0xc0},
3592     {0xc8,0x44,0x8e,0xc9},
3593
3594     {0xeb,0x75,0xa4,0xf6},
3595     {0xe6,0x7e,0xaa,0xff},
3596     {0xf1,0x63,0xb8,0xe4},
3597     {0xfc,0x68,0xb6,0xed},
3598
3599     {0x67,0xb1,0x0c,0x0a},
3600     {0x6a,0xba,0x02,0x03},
3601     {0x7d,0xa7,0x10,0x18},
3602     {0x70,0xac,0x1e,0x11},
3603
3604     {0x53,0x9d,0x34,0x2e},
3605     {0x5e,0x96,0x3a,0x27},
3606     {0x49,0x8b,0x28,0x3c},
3607     {0x44,0x80,0x26,0x35},
3608
3609     {0x0f,0xe9,0x7c,0x42},
3610     {0x02,0xe2,0x72,0x4b},
3611     {0x15,0xff,0x60,0x50},
3612     {0x18,0xf4,0x6e,0x59},
3613
3614     {0x3b,0xc5,0x44,0x66},
3615     {0x36,0xce,0x4a,0x6f},
3616     {0x21,0xd3,0x58,0x74},
3617     {0x2c,0xd8,0x56,0x7d},
3618
3619     {0x0c,0x7a,0x37,0xa1},
3620     {0x01,0x71,0x39,0xa8},
3621     {0x16,0x6c,0x2b,0xb3},
3622     {0x1b,0x67,0x25,0xba},
3623
3624     {0x38,0x56,0x0f,0x85},
3625     {0x35,0x5d,0x01,0x8c},
3626     {0x22,0x40,0x13,0x97},
3627     {0x2f,0x4b,0x1d,0x9e},
3628
3629     {0x64,0x22,0x47,0xe9},
3630     {0x69,0x29,0x49,0xe0},
3631     {0x7e,0x34,0x5b,0xfb},
3632     {0x73,0x3f,0x55,0xf2},
3633
3634     {0x50,0x0e,0x7f,0xcd},
3635     {0x5d,0x05,0x71,0xc4},
3636     {0x4a,0x18,0x63,0xdf},
3637     {0x47,0x13,0x6d,0xd6},
3638
3639     {0xdc,0xca,0xd7,0x31},
3640     {0xd1,0xc1,0xd9,0x38},
3641     {0xc6,0xdc,0xcb,0x23},
3642     {0xcb,0xd7,0xc5,0x2a},
3643
3644     {0xe8,0xe6,0xef,0x15},
3645     {0xe5,0xed,0xe1,0x1c},
3646     {0xf2,0xf0,0xf3,0x07},
3647     {0xff,0xfb,0xfd,0x0e},
3648
3649     {0xb4,0x92,0xa7,0x79},
3650     {0xb9,0x99,0xa9,0x70},
3651     {0xae,0x84,0xbb,0x6b},
3652     {0xa3,0x8f,0xb5,0x62},
3653
3654     {0x80,0xbe,0x9f,0x5d},
3655     {0x8d,0xb5,0x91,0x54},
3656     {0x9a,0xa8,0x83,0x4f},
3657     {0x97,0xa3,0x8d,0x46},
3658
3659 };
3660
3661 word8 U4[256][4] = {
3662     {0x00,0x00,0x00,0x00},
3663     {0x09,0x0d,0x0b,0x0e},
3664     {0x12,0x1a,0x16,0x1c},
3665     {0x1b,0x17,0x1d,0x12},
3666
3667     {0x24,0x34,0x2c,0x38},
3668     {0x2d,0x39,0x27,0x36},
3669     {0x36,0x2e,0x3a,0x24},
3670     {0x3f,0x23,0x31,0x2a},
3671
3672     {0x48,0x68,0x58,0x70},
3673     {0x41,0x65,0x53,0x7e},
3674     {0x5a,0x72,0x4e,0x6c},
3675     {0x53,0x7f,0x45,0x62},
3676
3677     {0x6c,0x5c,0x74,0x48},
3678     {0x65,0x51,0x7f,0x46},
3679     {0x7e,0x46,0x62,0x54},
3680     {0x77,0x4b,0x69,0x5a},
3681
3682     {0x90,0xd0,0xb0,0xe0},
3683     {0x99,0xdd,0xbb,0xee},
3684     {0x82,0xca,0xa6,0xfc},
3685     {0x8b,0xc7,0xad,0xf2},
3686
3687     {0xb4,0xe4,0x9c,0xd8},
3688     {0xbd,0xe9,0x97,0xd6},
3689     {0xa6,0xfe,0x8a,0xc4},
3690     {0xaf,0xf3,0x81,0xca},
3691
3692     {0xd8,0xb8,0xe8,0x90},
3693     {0xd1,0xb5,0xe3,0x9e},
3694     {0xca,0xa2,0xfe,0x8c},
3695     {0xc3,0xaf,0xf5,0x82},
3696
3697     {0xfc,0x8c,0xc4,0xa8},
3698     {0xf5,0x81,0xcf,0xa6},
3699     {0xee,0x96,0xd2,0xb4},
3700     {0xe7,0x9b,0xd9,0xba},
3701
3702     {0x3b,0xbb,0x7b,0xdb},
3703     {0x32,0xb6,0x70,0xd5},
3704     {0x29,0xa1,0x6d,0xc7},
3705     {0x20,0xac,0x66,0xc9},
3706
3707     {0x1f,0x8f,0x57,0xe3},
3708     {0x16,0x82,0x5c,0xed},
3709     {0x0d,0x95,0x41,0xff},
3710     {0x04,0x98,0x4a,0xf1},
3711
3712     {0x73,0xd3,0x23,0xab},
3713     {0x7a,0xde,0x28,0xa5},
3714     {0x61,0xc9,0x35,0xb7},
3715     {0x68,0xc4,0x3e,0xb9},
3716
3717     {0x57,0xe7,0x0f,0x93},
3718     {0x5e,0xea,0x04,0x9d},
3719     {0x45,0xfd,0x19,0x8f},
3720     {0x4c,0xf0,0x12,0x81},
3721
3722     {0xab,0x6b,0xcb,0x3b},
3723     {0xa2,0x66,0xc0,0x35},
3724     {0xb9,0x71,0xdd,0x27},
3725     {0xb0,0x7c,0xd6,0x29},
3726
3727     {0x8f,0x5f,0xe7,0x03},
3728     {0x86,0x52,0xec,0x0d},
3729     {0x9d,0x45,0xf1,0x1f},
3730     {0x94,0x48,0xfa,0x11},
3731
3732     {0xe3,0x03,0x93,0x4b},
3733     {0xea,0x0e,0x98,0x45},
3734     {0xf1,0x19,0x85,0x57},
3735     {0xf8,0x14,0x8e,0x59},
3736
3737     {0xc7,0x37,0xbf,0x73},
3738     {0xce,0x3a,0xb4,0x7d},
3739     {0xd5,0x2d,0xa9,0x6f},
3740     {0xdc,0x20,0xa2,0x61},
3741
3742     {0x76,0x6d,0xf6,0xad},
3743     {0x7f,0x60,0xfd,0xa3},
3744     {0x64,0x77,0xe0,0xb1},
3745     {0x6d,0x7a,0xeb,0xbf},
3746
3747     {0x52,0x59,0xda,0x95},
3748     {0x5b,0x54,0xd1,0x9b},
3749     {0x40,0x43,0xcc,0x89},
3750     {0x49,0x4e,0xc7,0x87},
3751
3752     {0x3e,0x05,0xae,0xdd},
3753     {0x37,0x08,0xa5,0xd3},
3754     {0x2c,0x1f,0xb8,0xc1},
3755     {0x25,0x12,0xb3,0xcf},
3756
3757     {0x1a,0x31,0x82,0xe5},
3758     {0x13,0x3c,0x89,0xeb},
3759     {0x08,0x2b,0x94,0xf9},
3760     {0x01,0x26,0x9f,0xf7},
3761
3762     {0xe6,0xbd,0x46,0x4d},
3763     {0xef,0xb0,0x4d,0x43},
3764     {0xf4,0xa7,0x50,0x51},
3765     {0xfd,0xaa,0x5b,0x5f},
3766
3767     {0xc2,0x89,0x6a,0x75},
3768     {0xcb,0x84,0x61,0x7b},
3769     {0xd0,0x93,0x7c,0x69},
3770     {0xd9,0x9e,0x77,0x67},
3771
3772     {0xae,0xd5,0x1e,0x3d},
3773     {0xa7,0xd8,0x15,0x33},
3774     {0xbc,0xcf,0x08,0x21},
3775     {0xb5,0xc2,0x03,0x2f},
3776
3777     {0x8a,0xe1,0x32,0x05},
3778     {0x83,0xec,0x39,0x0b},
3779     {0x98,0xfb,0x24,0x19},
3780     {0x91,0xf6,0x2f,0x17},
3781
3782     {0x4d,0xd6,0x8d,0x76},
3783     {0x44,0xdb,0x86,0x78},
3784     {0x5f,0xcc,0x9b,0x6a},
3785     {0x56,0xc1,0x90,0x64},
3786
3787     {0x69,0xe2,0xa1,0x4e},
3788     {0x60,0xef,0xaa,0x40},
3789     {0x7b,0xf8,0xb7,0x52},
3790     {0x72,0xf5,0xbc,0x5c},
3791
3792     {0x05,0xbe,0xd5,0x06},
3793     {0x0c,0xb3,0xde,0x08},
3794     {0x17,0xa4,0xc3,0x1a},
3795     {0x1e,0xa9,0xc8,0x14},
3796
3797     {0x21,0x8a,0xf9,0x3e},
3798     {0x28,0x87,0xf2,0x30},
3799     {0x33,0x90,0xef,0x22},
3800     {0x3a,0x9d,0xe4,0x2c},
3801
3802     {0xdd,0x06,0x3d,0x96},
3803     {0xd4,0x0b,0x36,0x98},
3804     {0xcf,0x1c,0x2b,0x8a},
3805     {0xc6,0x11,0x20,0x84},
3806
3807     {0xf9,0x32,0x11,0xae},
3808     {0xf0,0x3f,0x1a,0xa0},
3809     {0xeb,0x28,0x07,0xb2},
3810     {0xe2,0x25,0x0c,0xbc},
3811
3812     {0x95,0x6e,0x65,0xe6},
3813     {0x9c,0x63,0x6e,0xe8},
3814     {0x87,0x74,0x73,0xfa},
3815     {0x8e,0x79,0x78,0xf4},
3816
3817     {0xb1,0x5a,0x49,0xde},
3818     {0xb8,0x57,0x42,0xd0},
3819     {0xa3,0x40,0x5f,0xc2},
3820     {0xaa,0x4d,0x54,0xcc},
3821
3822     {0xec,0xda,0xf7,0x41},
3823     {0xe5,0xd7,0xfc,0x4f},
3824     {0xfe,0xc0,0xe1,0x5d},
3825     {0xf7,0xcd,0xea,0x53},
3826
3827     {0xc8,0xee,0xdb,0x79},
3828     {0xc1,0xe3,0xd0,0x77},
3829     {0xda,0xf4,0xcd,0x65},
3830     {0xd3,0xf9,0xc6,0x6b},
3831
3832     {0xa4,0xb2,0xaf,0x31},
3833     {0xad,0xbf,0xa4,0x3f},
3834     {0xb6,0xa8,0xb9,0x2d},
3835     {0xbf,0xa5,0xb2,0x23},
3836
3837     {0x80,0x86,0x83,0x09},
3838     {0x89,0x8b,0x88,0x07},
3839     {0x92,0x9c,0x95,0x15},
3840     {0x9b,0x91,0x9e,0x1b},
3841
3842     {0x7c,0x0a,0x47,0xa1},
3843     {0x75,0x07,0x4c,0xaf},
3844     {0x6e,0x10,0x51,0xbd},
3845     {0x67,0x1d,0x5a,0xb3},
3846
3847     {0x58,0x3e,0x6b,0x99},
3848     {0x51,0x33,0x60,0x97},
3849     {0x4a,0x24,0x7d,0x85},
3850     {0x43,0x29,0x76,0x8b},
3851
3852     {0x34,0x62,0x1f,0xd1},
3853     {0x3d,0x6f,0x14,0xdf},
3854     {0x26,0x78,0x09,0xcd},
3855     {0x2f,0x75,0x02,0xc3},
3856
3857     {0x10,0x56,0x33,0xe9},
3858     {0x19,0x5b,0x38,0xe7},
3859     {0x02,0x4c,0x25,0xf5},
3860     {0x0b,0x41,0x2e,0xfb},
3861
3862     {0xd7,0x61,0x8c,0x9a},
3863     {0xde,0x6c,0x87,0x94},
3864     {0xc5,0x7b,0x9a,0x86},
3865     {0xcc,0x76,0x91,0x88},
3866
3867     {0xf3,0x55,0xa0,0xa2},
3868     {0xfa,0x58,0xab,0xac},
3869     {0xe1,0x4f,0xb6,0xbe},
3870     {0xe8,0x42,0xbd,0xb0},
3871
3872     {0x9f,0x09,0xd4,0xea},
3873     {0x96,0x04,0xdf,0xe4},
3874     {0x8d,0x13,0xc2,0xf6},
3875     {0x84,0x1e,0xc9,0xf8},
3876
3877     {0xbb,0x3d,0xf8,0xd2},
3878     {0xb2,0x30,0xf3,0xdc},
3879     {0xa9,0x27,0xee,0xce},
3880     {0xa0,0x2a,0xe5,0xc0},
3881
3882     {0x47,0xb1,0x3c,0x7a},
3883     {0x4e,0xbc,0x37,0x74},
3884     {0x55,0xab,0x2a,0x66},
3885     {0x5c,0xa6,0x21,0x68},
3886
3887     {0x63,0x85,0x10,0x42},
3888     {0x6a,0x88,0x1b,0x4c},
3889     {0x71,0x9f,0x06,0x5e},
3890     {0x78,0x92,0x0d,0x50},
3891
3892     {0x0f,0xd9,0x64,0x0a},
3893     {0x06,0xd4,0x6f,0x04},
3894     {0x1d,0xc3,0x72,0x16},
3895     {0x14,0xce,0x79,0x18},
3896
3897     {0x2b,0xed,0x48,0x32},
3898     {0x22,0xe0,0x43,0x3c},
3899     {0x39,0xf7,0x5e,0x2e},
3900     {0x30,0xfa,0x55,0x20},
3901
3902     {0x9a,0xb7,0x01,0xec},
3903     {0x93,0xba,0x0a,0xe2},
3904     {0x88,0xad,0x17,0xf0},
3905     {0x81,0xa0,0x1c,0xfe},
3906
3907     {0xbe,0x83,0x2d,0xd4},
3908     {0xb7,0x8e,0x26,0xda},
3909     {0xac,0x99,0x3b,0xc8},
3910     {0xa5,0x94,0x30,0xc6},
3911
3912     {0xd2,0xdf,0x59,0x9c},
3913     {0xdb,0xd2,0x52,0x92},
3914     {0xc0,0xc5,0x4f,0x80},
3915     {0xc9,0xc8,0x44,0x8e},
3916
3917     {0xf6,0xeb,0x75,0xa4},
3918     {0xff,0xe6,0x7e,0xaa},
3919     {0xe4,0xf1,0x63,0xb8},
3920     {0xed,0xfc,0x68,0xb6},
3921
3922     {0x0a,0x67,0xb1,0x0c},
3923     {0x03,0x6a,0xba,0x02},
3924     {0x18,0x7d,0xa7,0x10},
3925     {0x11,0x70,0xac,0x1e},
3926
3927     {0x2e,0x53,0x9d,0x34},
3928     {0x27,0x5e,0x96,0x3a},
3929     {0x3c,0x49,0x8b,0x28},
3930     {0x35,0x44,0x80,0x26},
3931
3932     {0x42,0x0f,0xe9,0x7c},
3933     {0x4b,0x02,0xe2,0x72},
3934     {0x50,0x15,0xff,0x60},
3935     {0x59,0x18,0xf4,0x6e},
3936
3937     {0x66,0x3b,0xc5,0x44},
3938     {0x6f,0x36,0xce,0x4a},
3939     {0x74,0x21,0xd3,0x58},
3940     {0x7d,0x2c,0xd8,0x56},
3941
3942     {0xa1,0x0c,0x7a,0x37},
3943     {0xa8,0x01,0x71,0x39},
3944     {0xb3,0x16,0x6c,0x2b},
3945     {0xba,0x1b,0x67,0x25},
3946
3947     {0x85,0x38,0x56,0x0f},
3948     {0x8c,0x35,0x5d,0x01},
3949     {0x97,0x22,0x40,0x13},
3950     {0x9e,0x2f,0x4b,0x1d},
3951
3952     {0xe9,0x64,0x22,0x47},
3953     {0xe0,0x69,0x29,0x49},
3954     {0xfb,0x7e,0x34,0x5b},
3955     {0xf2,0x73,0x3f,0x55},
3956
3957     {0xcd,0x50,0x0e,0x7f},
3958     {0xc4,0x5d,0x05,0x71},
3959     {0xdf,0x4a,0x18,0x63},
3960     {0xd6,0x47,0x13,0x6d},
3961
3962     {0x31,0xdc,0xca,0xd7},
3963     {0x38,0xd1,0xc1,0xd9},
3964     {0x23,0xc6,0xdc,0xcb},
3965     {0x2a,0xcb,0xd7,0xc5},
3966
3967     {0x15,0xe8,0xe6,0xef},
3968     {0x1c,0xe5,0xed,0xe1},
3969     {0x07,0xf2,0xf0,0xf3},
3970     {0x0e,0xff,0xfb,0xfd},
3971
3972     {0x79,0xb4,0x92,0xa7},
3973     {0x70,0xb9,0x99,0xa9},
3974     {0x6b,0xae,0x84,0xbb},
3975     {0x62,0xa3,0x8f,0xb5},
3976
3977     {0x5d,0x80,0xbe,0x9f},
3978     {0x54,0x8d,0xb5,0x91},
3979     {0x4f,0x9a,0xa8,0x83},
3980     {0x46,0x97,0xa3,0x8d},
3981
3982 };
3983
3984 word32 rcon[30] = { 
3985   0x01,0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91
3986 };