ReactOS  0.4.14-dev-52-g6116262
des.c
Go to the documentation of this file.
1 /*
2  * dlls/rsaenh/des.c
3  * DES functions
4  *
5  * Copyright 2004 Michael Jung
6  * Based on public domain code by Tom St Denis (tomstdenis@iahu.ca)
7  * and Dobes Vandermeer.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 /*
25  * This file contains code from the LibTomCrypt cryptographic
26  * library written by Tom St Denis (tomstdenis@iahu.ca). LibTomCrypt
27  * is in the public domain. The code in this file is tailored to
28  * special requirements. Take a look at http://libtomcrypt.org for the
29  * original version.
30  */
31 
32 #include "tomcrypt.h"
33 
34 #define EN0 0
35 #define DE1 1
36 
37 static const ulong32 bytebit[8] =
38 {
39  0200, 0100, 040, 020, 010, 04, 02, 01
40 };
41 
42 static const ulong32 bigbyte[24] =
43 {
44  0x800000UL, 0x400000UL, 0x200000UL, 0x100000UL,
45  0x80000UL, 0x40000UL, 0x20000UL, 0x10000UL,
46  0x8000UL, 0x4000UL, 0x2000UL, 0x1000UL,
47  0x800UL, 0x400UL, 0x200UL, 0x100UL,
48  0x80UL, 0x40UL, 0x20UL, 0x10UL,
49  0x8UL, 0x4UL, 0x2UL, 0x1L
50 };
51 
52 /* Use the key schedule specific in the standard (ANSI X3.92-1981) */
53 
54 static const unsigned char pc1[56] = {
55  56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17,
56  9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35,
57  62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21,
58  13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3
59 };
60 
61 static const unsigned char totrot[16] = {
62  1, 2, 4, 6,
63  8, 10, 12, 14,
64  15, 17, 19, 21,
65  23, 25, 27, 28
66 };
67 
68 static const unsigned char pc2[48] = {
69  13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9,
70  22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1,
71  40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47,
72  43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31
73 };
74 
75 
76 static const ulong32 SP1[64] =
77 {
78  0x01010400UL, 0x00000000UL, 0x00010000UL, 0x01010404UL,
79  0x01010004UL, 0x00010404UL, 0x00000004UL, 0x00010000UL,
80  0x00000400UL, 0x01010400UL, 0x01010404UL, 0x00000400UL,
81  0x01000404UL, 0x01010004UL, 0x01000000UL, 0x00000004UL,
82  0x00000404UL, 0x01000400UL, 0x01000400UL, 0x00010400UL,
83  0x00010400UL, 0x01010000UL, 0x01010000UL, 0x01000404UL,
84  0x00010004UL, 0x01000004UL, 0x01000004UL, 0x00010004UL,
85  0x00000000UL, 0x00000404UL, 0x00010404UL, 0x01000000UL,
86  0x00010000UL, 0x01010404UL, 0x00000004UL, 0x01010000UL,
87  0x01010400UL, 0x01000000UL, 0x01000000UL, 0x00000400UL,
88  0x01010004UL, 0x00010000UL, 0x00010400UL, 0x01000004UL,
89  0x00000400UL, 0x00000004UL, 0x01000404UL, 0x00010404UL,
90  0x01010404UL, 0x00010004UL, 0x01010000UL, 0x01000404UL,
91  0x01000004UL, 0x00000404UL, 0x00010404UL, 0x01010400UL,
92  0x00000404UL, 0x01000400UL, 0x01000400UL, 0x00000000UL,
93  0x00010004UL, 0x00010400UL, 0x00000000UL, 0x01010004UL
94 };
95 
96 static const ulong32 SP2[64] =
97 {
98  0x80108020UL, 0x80008000UL, 0x00008000UL, 0x00108020UL,
99  0x00100000UL, 0x00000020UL, 0x80100020UL, 0x80008020UL,
100  0x80000020UL, 0x80108020UL, 0x80108000UL, 0x80000000UL,
101  0x80008000UL, 0x00100000UL, 0x00000020UL, 0x80100020UL,
102  0x00108000UL, 0x00100020UL, 0x80008020UL, 0x00000000UL,
103  0x80000000UL, 0x00008000UL, 0x00108020UL, 0x80100000UL,
104  0x00100020UL, 0x80000020UL, 0x00000000UL, 0x00108000UL,
105  0x00008020UL, 0x80108000UL, 0x80100000UL, 0x00008020UL,
106  0x00000000UL, 0x00108020UL, 0x80100020UL, 0x00100000UL,
107  0x80008020UL, 0x80100000UL, 0x80108000UL, 0x00008000UL,
108  0x80100000UL, 0x80008000UL, 0x00000020UL, 0x80108020UL,
109  0x00108020UL, 0x00000020UL, 0x00008000UL, 0x80000000UL,
110  0x00008020UL, 0x80108000UL, 0x00100000UL, 0x80000020UL,
111  0x00100020UL, 0x80008020UL, 0x80000020UL, 0x00100020UL,
112  0x00108000UL, 0x00000000UL, 0x80008000UL, 0x00008020UL,
113  0x80000000UL, 0x80100020UL, 0x80108020UL, 0x00108000UL
114 };
115 
116 static const ulong32 SP3[64] =
117 {
118  0x00000208UL, 0x08020200UL, 0x00000000UL, 0x08020008UL,
119  0x08000200UL, 0x00000000UL, 0x00020208UL, 0x08000200UL,
120  0x00020008UL, 0x08000008UL, 0x08000008UL, 0x00020000UL,
121  0x08020208UL, 0x00020008UL, 0x08020000UL, 0x00000208UL,
122  0x08000000UL, 0x00000008UL, 0x08020200UL, 0x00000200UL,
123  0x00020200UL, 0x08020000UL, 0x08020008UL, 0x00020208UL,
124  0x08000208UL, 0x00020200UL, 0x00020000UL, 0x08000208UL,
125  0x00000008UL, 0x08020208UL, 0x00000200UL, 0x08000000UL,
126  0x08020200UL, 0x08000000UL, 0x00020008UL, 0x00000208UL,
127  0x00020000UL, 0x08020200UL, 0x08000200UL, 0x00000000UL,
128  0x00000200UL, 0x00020008UL, 0x08020208UL, 0x08000200UL,
129  0x08000008UL, 0x00000200UL, 0x00000000UL, 0x08020008UL,
130  0x08000208UL, 0x00020000UL, 0x08000000UL, 0x08020208UL,
131  0x00000008UL, 0x00020208UL, 0x00020200UL, 0x08000008UL,
132  0x08020000UL, 0x08000208UL, 0x00000208UL, 0x08020000UL,
133  0x00020208UL, 0x00000008UL, 0x08020008UL, 0x00020200UL
134 };
135 
136 static const ulong32 SP4[64] =
137 {
138  0x00802001UL, 0x00002081UL, 0x00002081UL, 0x00000080UL,
139  0x00802080UL, 0x00800081UL, 0x00800001UL, 0x00002001UL,
140  0x00000000UL, 0x00802000UL, 0x00802000UL, 0x00802081UL,
141  0x00000081UL, 0x00000000UL, 0x00800080UL, 0x00800001UL,
142  0x00000001UL, 0x00002000UL, 0x00800000UL, 0x00802001UL,
143  0x00000080UL, 0x00800000UL, 0x00002001UL, 0x00002080UL,
144  0x00800081UL, 0x00000001UL, 0x00002080UL, 0x00800080UL,
145  0x00002000UL, 0x00802080UL, 0x00802081UL, 0x00000081UL,
146  0x00800080UL, 0x00800001UL, 0x00802000UL, 0x00802081UL,
147  0x00000081UL, 0x00000000UL, 0x00000000UL, 0x00802000UL,
148  0x00002080UL, 0x00800080UL, 0x00800081UL, 0x00000001UL,
149  0x00802001UL, 0x00002081UL, 0x00002081UL, 0x00000080UL,
150  0x00802081UL, 0x00000081UL, 0x00000001UL, 0x00002000UL,
151  0x00800001UL, 0x00002001UL, 0x00802080UL, 0x00800081UL,
152  0x00002001UL, 0x00002080UL, 0x00800000UL, 0x00802001UL,
153  0x00000080UL, 0x00800000UL, 0x00002000UL, 0x00802080UL
154 };
155 
156 static const ulong32 SP5[64] =
157 {
158  0x00000100UL, 0x02080100UL, 0x02080000UL, 0x42000100UL,
159  0x00080000UL, 0x00000100UL, 0x40000000UL, 0x02080000UL,
160  0x40080100UL, 0x00080000UL, 0x02000100UL, 0x40080100UL,
161  0x42000100UL, 0x42080000UL, 0x00080100UL, 0x40000000UL,
162  0x02000000UL, 0x40080000UL, 0x40080000UL, 0x00000000UL,
163  0x40000100UL, 0x42080100UL, 0x42080100UL, 0x02000100UL,
164  0x42080000UL, 0x40000100UL, 0x00000000UL, 0x42000000UL,
165  0x02080100UL, 0x02000000UL, 0x42000000UL, 0x00080100UL,
166  0x00080000UL, 0x42000100UL, 0x00000100UL, 0x02000000UL,
167  0x40000000UL, 0x02080000UL, 0x42000100UL, 0x40080100UL,
168  0x02000100UL, 0x40000000UL, 0x42080000UL, 0x02080100UL,
169  0x40080100UL, 0x00000100UL, 0x02000000UL, 0x42080000UL,
170  0x42080100UL, 0x00080100UL, 0x42000000UL, 0x42080100UL,
171  0x02080000UL, 0x00000000UL, 0x40080000UL, 0x42000000UL,
172  0x00080100UL, 0x02000100UL, 0x40000100UL, 0x00080000UL,
173  0x00000000UL, 0x40080000UL, 0x02080100UL, 0x40000100UL
174 };
175 
176 static const ulong32 SP6[64] =
177 {
178  0x20000010UL, 0x20400000UL, 0x00004000UL, 0x20404010UL,
179  0x20400000UL, 0x00000010UL, 0x20404010UL, 0x00400000UL,
180  0x20004000UL, 0x00404010UL, 0x00400000UL, 0x20000010UL,
181  0x00400010UL, 0x20004000UL, 0x20000000UL, 0x00004010UL,
182  0x00000000UL, 0x00400010UL, 0x20004010UL, 0x00004000UL,
183  0x00404000UL, 0x20004010UL, 0x00000010UL, 0x20400010UL,
184  0x20400010UL, 0x00000000UL, 0x00404010UL, 0x20404000UL,
185  0x00004010UL, 0x00404000UL, 0x20404000UL, 0x20000000UL,
186  0x20004000UL, 0x00000010UL, 0x20400010UL, 0x00404000UL,
187  0x20404010UL, 0x00400000UL, 0x00004010UL, 0x20000010UL,
188  0x00400000UL, 0x20004000UL, 0x20000000UL, 0x00004010UL,
189  0x20000010UL, 0x20404010UL, 0x00404000UL, 0x20400000UL,
190  0x00404010UL, 0x20404000UL, 0x00000000UL, 0x20400010UL,
191  0x00000010UL, 0x00004000UL, 0x20400000UL, 0x00404010UL,
192  0x00004000UL, 0x00400010UL, 0x20004010UL, 0x00000000UL,
193  0x20404000UL, 0x20000000UL, 0x00400010UL, 0x20004010UL
194 };
195 
196 static const ulong32 SP7[64] =
197 {
198  0x00200000UL, 0x04200002UL, 0x04000802UL, 0x00000000UL,
199  0x00000800UL, 0x04000802UL, 0x00200802UL, 0x04200800UL,
200  0x04200802UL, 0x00200000UL, 0x00000000UL, 0x04000002UL,
201  0x00000002UL, 0x04000000UL, 0x04200002UL, 0x00000802UL,
202  0x04000800UL, 0x00200802UL, 0x00200002UL, 0x04000800UL,
203  0x04000002UL, 0x04200000UL, 0x04200800UL, 0x00200002UL,
204  0x04200000UL, 0x00000800UL, 0x00000802UL, 0x04200802UL,
205  0x00200800UL, 0x00000002UL, 0x04000000UL, 0x00200800UL,
206  0x04000000UL, 0x00200800UL, 0x00200000UL, 0x04000802UL,
207  0x04000802UL, 0x04200002UL, 0x04200002UL, 0x00000002UL,
208  0x00200002UL, 0x04000000UL, 0x04000800UL, 0x00200000UL,
209  0x04200800UL, 0x00000802UL, 0x00200802UL, 0x04200800UL,
210  0x00000802UL, 0x04000002UL, 0x04200802UL, 0x04200000UL,
211  0x00200800UL, 0x00000000UL, 0x00000002UL, 0x04200802UL,
212  0x00000000UL, 0x00200802UL, 0x04200000UL, 0x00000800UL,
213  0x04000002UL, 0x04000800UL, 0x00000800UL, 0x00200002UL
214 };
215 
216 static const ulong32 SP8[64] =
217 {
218  0x10001040UL, 0x00001000UL, 0x00040000UL, 0x10041040UL,
219  0x10000000UL, 0x10001040UL, 0x00000040UL, 0x10000000UL,
220  0x00040040UL, 0x10040000UL, 0x10041040UL, 0x00041000UL,
221  0x10041000UL, 0x00041040UL, 0x00001000UL, 0x00000040UL,
222  0x10040000UL, 0x10000040UL, 0x10001000UL, 0x00001040UL,
223  0x00041000UL, 0x00040040UL, 0x10040040UL, 0x10041000UL,
224  0x00001040UL, 0x00000000UL, 0x00000000UL, 0x10040040UL,
225  0x10000040UL, 0x10001000UL, 0x00041040UL, 0x00040000UL,
226  0x00041040UL, 0x00040000UL, 0x10041000UL, 0x00001000UL,
227  0x00000040UL, 0x10040040UL, 0x00001000UL, 0x00041040UL,
228  0x10001000UL, 0x00000040UL, 0x10000040UL, 0x10040000UL,
229  0x10040040UL, 0x10000000UL, 0x00040000UL, 0x10001040UL,
230  0x00000000UL, 0x10041040UL, 0x00040040UL, 0x10000040UL,
231  0x10040000UL, 0x10001000UL, 0x10001040UL, 0x00000000UL,
232  0x10041040UL, 0x00041000UL, 0x00041000UL, 0x00001040UL,
233  0x00001040UL, 0x00040040UL, 0x10000000UL, 0x10041000UL
234 };
235 
236 static const ulong64 des_ip[8][256] = {
237 
238 { CONST64(0x00000000,0x00000000), CONST64(0x00000010,0x00000000), CONST64(0x00000000,0x00000010), CONST64(0x00000010,0x00000010),
239  CONST64(0x00001000,0x00000000), CONST64(0x00001010,0x00000000), CONST64(0x00001000,0x00000010), CONST64(0x00001010,0x00000010),
240  CONST64(0x00000000,0x00001000), CONST64(0x00000010,0x00001000), CONST64(0x00000000,0x00001010), CONST64(0x00000010,0x00001010),
241  CONST64(0x00001000,0x00001000), CONST64(0x00001010,0x00001000), CONST64(0x00001000,0x00001010), CONST64(0x00001010,0x00001010),
242  CONST64(0x00100000,0x00000000), CONST64(0x00100010,0x00000000), CONST64(0x00100000,0x00000010), CONST64(0x00100010,0x00000010),
243  CONST64(0x00101000,0x00000000), CONST64(0x00101010,0x00000000), CONST64(0x00101000,0x00000010), CONST64(0x00101010,0x00000010),
244  CONST64(0x00100000,0x00001000), CONST64(0x00100010,0x00001000), CONST64(0x00100000,0x00001010), CONST64(0x00100010,0x00001010),
245  CONST64(0x00101000,0x00001000), CONST64(0x00101010,0x00001000), CONST64(0x00101000,0x00001010), CONST64(0x00101010,0x00001010),
246  CONST64(0x00000000,0x00100000), CONST64(0x00000010,0x00100000), CONST64(0x00000000,0x00100010), CONST64(0x00000010,0x00100010),
247  CONST64(0x00001000,0x00100000), CONST64(0x00001010,0x00100000), CONST64(0x00001000,0x00100010), CONST64(0x00001010,0x00100010),
248  CONST64(0x00000000,0x00101000), CONST64(0x00000010,0x00101000), CONST64(0x00000000,0x00101010), CONST64(0x00000010,0x00101010),
249  CONST64(0x00001000,0x00101000), CONST64(0x00001010,0x00101000), CONST64(0x00001000,0x00101010), CONST64(0x00001010,0x00101010),
250  CONST64(0x00100000,0x00100000), CONST64(0x00100010,0x00100000), CONST64(0x00100000,0x00100010), CONST64(0x00100010,0x00100010),
251  CONST64(0x00101000,0x00100000), CONST64(0x00101010,0x00100000), CONST64(0x00101000,0x00100010), CONST64(0x00101010,0x00100010),
252  CONST64(0x00100000,0x00101000), CONST64(0x00100010,0x00101000), CONST64(0x00100000,0x00101010), CONST64(0x00100010,0x00101010),
253  CONST64(0x00101000,0x00101000), CONST64(0x00101010,0x00101000), CONST64(0x00101000,0x00101010), CONST64(0x00101010,0x00101010),
254  CONST64(0x10000000,0x00000000), CONST64(0x10000010,0x00000000), CONST64(0x10000000,0x00000010), CONST64(0x10000010,0x00000010),
255  CONST64(0x10001000,0x00000000), CONST64(0x10001010,0x00000000), CONST64(0x10001000,0x00000010), CONST64(0x10001010,0x00000010),
256  CONST64(0x10000000,0x00001000), CONST64(0x10000010,0x00001000), CONST64(0x10000000,0x00001010), CONST64(0x10000010,0x00001010),
257  CONST64(0x10001000,0x00001000), CONST64(0x10001010,0x00001000), CONST64(0x10001000,0x00001010), CONST64(0x10001010,0x00001010),
258  CONST64(0x10100000,0x00000000), CONST64(0x10100010,0x00000000), CONST64(0x10100000,0x00000010), CONST64(0x10100010,0x00000010),
259  CONST64(0x10101000,0x00000000), CONST64(0x10101010,0x00000000), CONST64(0x10101000,0x00000010), CONST64(0x10101010,0x00000010),
260  CONST64(0x10100000,0x00001000), CONST64(0x10100010,0x00001000), CONST64(0x10100000,0x00001010), CONST64(0x10100010,0x00001010),
261  CONST64(0x10101000,0x00001000), CONST64(0x10101010,0x00001000), CONST64(0x10101000,0x00001010), CONST64(0x10101010,0x00001010),
262  CONST64(0x10000000,0x00100000), CONST64(0x10000010,0x00100000), CONST64(0x10000000,0x00100010), CONST64(0x10000010,0x00100010),
263  CONST64(0x10001000,0x00100000), CONST64(0x10001010,0x00100000), CONST64(0x10001000,0x00100010), CONST64(0x10001010,0x00100010),
264  CONST64(0x10000000,0x00101000), CONST64(0x10000010,0x00101000), CONST64(0x10000000,0x00101010), CONST64(0x10000010,0x00101010),
265  CONST64(0x10001000,0x00101000), CONST64(0x10001010,0x00101000), CONST64(0x10001000,0x00101010), CONST64(0x10001010,0x00101010),
266  CONST64(0x10100000,0x00100000), CONST64(0x10100010,0x00100000), CONST64(0x10100000,0x00100010), CONST64(0x10100010,0x00100010),
267  CONST64(0x10101000,0x00100000), CONST64(0x10101010,0x00100000), CONST64(0x10101000,0x00100010), CONST64(0x10101010,0x00100010),
268  CONST64(0x10100000,0x00101000), CONST64(0x10100010,0x00101000), CONST64(0x10100000,0x00101010), CONST64(0x10100010,0x00101010),
269  CONST64(0x10101000,0x00101000), CONST64(0x10101010,0x00101000), CONST64(0x10101000,0x00101010), CONST64(0x10101010,0x00101010),
270  CONST64(0x00000000,0x10000000), CONST64(0x00000010,0x10000000), CONST64(0x00000000,0x10000010), CONST64(0x00000010,0x10000010),
271  CONST64(0x00001000,0x10000000), CONST64(0x00001010,0x10000000), CONST64(0x00001000,0x10000010), CONST64(0x00001010,0x10000010),
272  CONST64(0x00000000,0x10001000), CONST64(0x00000010,0x10001000), CONST64(0x00000000,0x10001010), CONST64(0x00000010,0x10001010),
273  CONST64(0x00001000,0x10001000), CONST64(0x00001010,0x10001000), CONST64(0x00001000,0x10001010), CONST64(0x00001010,0x10001010),
274  CONST64(0x00100000,0x10000000), CONST64(0x00100010,0x10000000), CONST64(0x00100000,0x10000010), CONST64(0x00100010,0x10000010),
275  CONST64(0x00101000,0x10000000), CONST64(0x00101010,0x10000000), CONST64(0x00101000,0x10000010), CONST64(0x00101010,0x10000010),
276  CONST64(0x00100000,0x10001000), CONST64(0x00100010,0x10001000), CONST64(0x00100000,0x10001010), CONST64(0x00100010,0x10001010),
277  CONST64(0x00101000,0x10001000), CONST64(0x00101010,0x10001000), CONST64(0x00101000,0x10001010), CONST64(0x00101010,0x10001010),
278  CONST64(0x00000000,0x10100000), CONST64(0x00000010,0x10100000), CONST64(0x00000000,0x10100010), CONST64(0x00000010,0x10100010),
279  CONST64(0x00001000,0x10100000), CONST64(0x00001010,0x10100000), CONST64(0x00001000,0x10100010), CONST64(0x00001010,0x10100010),
280  CONST64(0x00000000,0x10101000), CONST64(0x00000010,0x10101000), CONST64(0x00000000,0x10101010), CONST64(0x00000010,0x10101010),
281  CONST64(0x00001000,0x10101000), CONST64(0x00001010,0x10101000), CONST64(0x00001000,0x10101010), CONST64(0x00001010,0x10101010),
282  CONST64(0x00100000,0x10100000), CONST64(0x00100010,0x10100000), CONST64(0x00100000,0x10100010), CONST64(0x00100010,0x10100010),
283  CONST64(0x00101000,0x10100000), CONST64(0x00101010,0x10100000), CONST64(0x00101000,0x10100010), CONST64(0x00101010,0x10100010),
284  CONST64(0x00100000,0x10101000), CONST64(0x00100010,0x10101000), CONST64(0x00100000,0x10101010), CONST64(0x00100010,0x10101010),
285  CONST64(0x00101000,0x10101000), CONST64(0x00101010,0x10101000), CONST64(0x00101000,0x10101010), CONST64(0x00101010,0x10101010),
286  CONST64(0x10000000,0x10000000), CONST64(0x10000010,0x10000000), CONST64(0x10000000,0x10000010), CONST64(0x10000010,0x10000010),
287  CONST64(0x10001000,0x10000000), CONST64(0x10001010,0x10000000), CONST64(0x10001000,0x10000010), CONST64(0x10001010,0x10000010),
288  CONST64(0x10000000,0x10001000), CONST64(0x10000010,0x10001000), CONST64(0x10000000,0x10001010), CONST64(0x10000010,0x10001010),
289  CONST64(0x10001000,0x10001000), CONST64(0x10001010,0x10001000), CONST64(0x10001000,0x10001010), CONST64(0x10001010,0x10001010),
290  CONST64(0x10100000,0x10000000), CONST64(0x10100010,0x10000000), CONST64(0x10100000,0x10000010), CONST64(0x10100010,0x10000010),
291  CONST64(0x10101000,0x10000000), CONST64(0x10101010,0x10000000), CONST64(0x10101000,0x10000010), CONST64(0x10101010,0x10000010),
292  CONST64(0x10100000,0x10001000), CONST64(0x10100010,0x10001000), CONST64(0x10100000,0x10001010), CONST64(0x10100010,0x10001010),
293  CONST64(0x10101000,0x10001000), CONST64(0x10101010,0x10001000), CONST64(0x10101000,0x10001010), CONST64(0x10101010,0x10001010),
294  CONST64(0x10000000,0x10100000), CONST64(0x10000010,0x10100000), CONST64(0x10000000,0x10100010), CONST64(0x10000010,0x10100010),
295  CONST64(0x10001000,0x10100000), CONST64(0x10001010,0x10100000), CONST64(0x10001000,0x10100010), CONST64(0x10001010,0x10100010),
296  CONST64(0x10000000,0x10101000), CONST64(0x10000010,0x10101000), CONST64(0x10000000,0x10101010), CONST64(0x10000010,0x10101010),
297  CONST64(0x10001000,0x10101000), CONST64(0x10001010,0x10101000), CONST64(0x10001000,0x10101010), CONST64(0x10001010,0x10101010),
298  CONST64(0x10100000,0x10100000), CONST64(0x10100010,0x10100000), CONST64(0x10100000,0x10100010), CONST64(0x10100010,0x10100010),
299  CONST64(0x10101000,0x10100000), CONST64(0x10101010,0x10100000), CONST64(0x10101000,0x10100010), CONST64(0x10101010,0x10100010),
300  CONST64(0x10100000,0x10101000), CONST64(0x10100010,0x10101000), CONST64(0x10100000,0x10101010), CONST64(0x10100010,0x10101010),
301  CONST64(0x10101000,0x10101000), CONST64(0x10101010,0x10101000), CONST64(0x10101000,0x10101010), CONST64(0x10101010,0x10101010)
302  },
303 { CONST64(0x00000000,0x00000000), CONST64(0x00000008,0x00000000), CONST64(0x00000000,0x00000008), CONST64(0x00000008,0x00000008),
304  CONST64(0x00000800,0x00000000), CONST64(0x00000808,0x00000000), CONST64(0x00000800,0x00000008), CONST64(0x00000808,0x00000008),
305  CONST64(0x00000000,0x00000800), CONST64(0x00000008,0x00000800), CONST64(0x00000000,0x00000808), CONST64(0x00000008,0x00000808),
306  CONST64(0x00000800,0x00000800), CONST64(0x00000808,0x00000800), CONST64(0x00000800,0x00000808), CONST64(0x00000808,0x00000808),
307  CONST64(0x00080000,0x00000000), CONST64(0x00080008,0x00000000), CONST64(0x00080000,0x00000008), CONST64(0x00080008,0x00000008),
308  CONST64(0x00080800,0x00000000), CONST64(0x00080808,0x00000000), CONST64(0x00080800,0x00000008), CONST64(0x00080808,0x00000008),
309  CONST64(0x00080000,0x00000800), CONST64(0x00080008,0x00000800), CONST64(0x00080000,0x00000808), CONST64(0x00080008,0x00000808),
310  CONST64(0x00080800,0x00000800), CONST64(0x00080808,0x00000800), CONST64(0x00080800,0x00000808), CONST64(0x00080808,0x00000808),
311  CONST64(0x00000000,0x00080000), CONST64(0x00000008,0x00080000), CONST64(0x00000000,0x00080008), CONST64(0x00000008,0x00080008),
312  CONST64(0x00000800,0x00080000), CONST64(0x00000808,0x00080000), CONST64(0x00000800,0x00080008), CONST64(0x00000808,0x00080008),
313  CONST64(0x00000000,0x00080800), CONST64(0x00000008,0x00080800), CONST64(0x00000000,0x00080808), CONST64(0x00000008,0x00080808),
314  CONST64(0x00000800,0x00080800), CONST64(0x00000808,0x00080800), CONST64(0x00000800,0x00080808), CONST64(0x00000808,0x00080808),
315  CONST64(0x00080000,0x00080000), CONST64(0x00080008,0x00080000), CONST64(0x00080000,0x00080008), CONST64(0x00080008,0x00080008),
316  CONST64(0x00080800,0x00080000), CONST64(0x00080808,0x00080000), CONST64(0x00080800,0x00080008), CONST64(0x00080808,0x00080008),
317  CONST64(0x00080000,0x00080800), CONST64(0x00080008,0x00080800), CONST64(0x00080000,0x00080808), CONST64(0x00080008,0x00080808),
318  CONST64(0x00080800,0x00080800), CONST64(0x00080808,0x00080800), CONST64(0x00080800,0x00080808), CONST64(0x00080808,0x00080808),
319  CONST64(0x08000000,0x00000000), CONST64(0x08000008,0x00000000), CONST64(0x08000000,0x00000008), CONST64(0x08000008,0x00000008),
320  CONST64(0x08000800,0x00000000), CONST64(0x08000808,0x00000000), CONST64(0x08000800,0x00000008), CONST64(0x08000808,0x00000008),
321  CONST64(0x08000000,0x00000800), CONST64(0x08000008,0x00000800), CONST64(0x08000000,0x00000808), CONST64(0x08000008,0x00000808),
322  CONST64(0x08000800,0x00000800), CONST64(0x08000808,0x00000800), CONST64(0x08000800,0x00000808), CONST64(0x08000808,0x00000808),
323  CONST64(0x08080000,0x00000000), CONST64(0x08080008,0x00000000), CONST64(0x08080000,0x00000008), CONST64(0x08080008,0x00000008),
324  CONST64(0x08080800,0x00000000), CONST64(0x08080808,0x00000000), CONST64(0x08080800,0x00000008), CONST64(0x08080808,0x00000008),
325  CONST64(0x08080000,0x00000800), CONST64(0x08080008,0x00000800), CONST64(0x08080000,0x00000808), CONST64(0x08080008,0x00000808),
326  CONST64(0x08080800,0x00000800), CONST64(0x08080808,0x00000800), CONST64(0x08080800,0x00000808), CONST64(0x08080808,0x00000808),
327  CONST64(0x08000000,0x00080000), CONST64(0x08000008,0x00080000), CONST64(0x08000000,0x00080008), CONST64(0x08000008,0x00080008),
328  CONST64(0x08000800,0x00080000), CONST64(0x08000808,0x00080000), CONST64(0x08000800,0x00080008), CONST64(0x08000808,0x00080008),
329  CONST64(0x08000000,0x00080800), CONST64(0x08000008,0x00080800), CONST64(0x08000000,0x00080808), CONST64(0x08000008,0x00080808),
330  CONST64(0x08000800,0x00080800), CONST64(0x08000808,0x00080800), CONST64(0x08000800,0x00080808), CONST64(0x08000808,0x00080808),
331  CONST64(0x08080000,0x00080000), CONST64(0x08080008,0x00080000), CONST64(0x08080000,0x00080008), CONST64(0x08080008,0x00080008),
332  CONST64(0x08080800,0x00080000), CONST64(0x08080808,0x00080000), CONST64(0x08080800,0x00080008), CONST64(0x08080808,0x00080008),
333  CONST64(0x08080000,0x00080800), CONST64(0x08080008,0x00080800), CONST64(0x08080000,0x00080808), CONST64(0x08080008,0x00080808),
334  CONST64(0x08080800,0x00080800), CONST64(0x08080808,0x00080800), CONST64(0x08080800,0x00080808), CONST64(0x08080808,0x00080808),
335  CONST64(0x00000000,0x08000000), CONST64(0x00000008,0x08000000), CONST64(0x00000000,0x08000008), CONST64(0x00000008,0x08000008),
336  CONST64(0x00000800,0x08000000), CONST64(0x00000808,0x08000000), CONST64(0x00000800,0x08000008), CONST64(0x00000808,0x08000008),
337  CONST64(0x00000000,0x08000800), CONST64(0x00000008,0x08000800), CONST64(0x00000000,0x08000808), CONST64(0x00000008,0x08000808),
338  CONST64(0x00000800,0x08000800), CONST64(0x00000808,0x08000800), CONST64(0x00000800,0x08000808), CONST64(0x00000808,0x08000808),
339  CONST64(0x00080000,0x08000000), CONST64(0x00080008,0x08000000), CONST64(0x00080000,0x08000008), CONST64(0x00080008,0x08000008),
340  CONST64(0x00080800,0x08000000), CONST64(0x00080808,0x08000000), CONST64(0x00080800,0x08000008), CONST64(0x00080808,0x08000008),
341  CONST64(0x00080000,0x08000800), CONST64(0x00080008,0x08000800), CONST64(0x00080000,0x08000808), CONST64(0x00080008,0x08000808),
342  CONST64(0x00080800,0x08000800), CONST64(0x00080808,0x08000800), CONST64(0x00080800,0x08000808), CONST64(0x00080808,0x08000808),
343  CONST64(0x00000000,0x08080000), CONST64(0x00000008,0x08080000), CONST64(0x00000000,0x08080008), CONST64(0x00000008,0x08080008),
344  CONST64(0x00000800,0x08080000), CONST64(0x00000808,0x08080000), CONST64(0x00000800,0x08080008), CONST64(0x00000808,0x08080008),
345  CONST64(0x00000000,0x08080800), CONST64(0x00000008,0x08080800), CONST64(0x00000000,0x08080808), CONST64(0x00000008,0x08080808),
346  CONST64(0x00000800,0x08080800), CONST64(0x00000808,0x08080800), CONST64(0x00000800,0x08080808), CONST64(0x00000808,0x08080808),
347  CONST64(0x00080000,0x08080000), CONST64(0x00080008,0x08080000), CONST64(0x00080000,0x08080008), CONST64(0x00080008,0x08080008),
348  CONST64(0x00080800,0x08080000), CONST64(0x00080808,0x08080000), CONST64(0x00080800,0x08080008), CONST64(0x00080808,0x08080008),
349  CONST64(0x00080000,0x08080800), CONST64(0x00080008,0x08080800), CONST64(0x00080000,0x08080808), CONST64(0x00080008,0x08080808),
350  CONST64(0x00080800,0x08080800), CONST64(0x00080808,0x08080800), CONST64(0x00080800,0x08080808), CONST64(0x00080808,0x08080808),
351  CONST64(0x08000000,0x08000000), CONST64(0x08000008,0x08000000), CONST64(0x08000000,0x08000008), CONST64(0x08000008,0x08000008),
352  CONST64(0x08000800,0x08000000), CONST64(0x08000808,0x08000000), CONST64(0x08000800,0x08000008), CONST64(0x08000808,0x08000008),
353  CONST64(0x08000000,0x08000800), CONST64(0x08000008,0x08000800), CONST64(0x08000000,0x08000808), CONST64(0x08000008,0x08000808),
354  CONST64(0x08000800,0x08000800), CONST64(0x08000808,0x08000800), CONST64(0x08000800,0x08000808), CONST64(0x08000808,0x08000808),
355  CONST64(0x08080000,0x08000000), CONST64(0x08080008,0x08000000), CONST64(0x08080000,0x08000008), CONST64(0x08080008,0x08000008),
356  CONST64(0x08080800,0x08000000), CONST64(0x08080808,0x08000000), CONST64(0x08080800,0x08000008), CONST64(0x08080808,0x08000008),
357  CONST64(0x08080000,0x08000800), CONST64(0x08080008,0x08000800), CONST64(0x08080000,0x08000808), CONST64(0x08080008,0x08000808),
358  CONST64(0x08080800,0x08000800), CONST64(0x08080808,0x08000800), CONST64(0x08080800,0x08000808), CONST64(0x08080808,0x08000808),
359  CONST64(0x08000000,0x08080000), CONST64(0x08000008,0x08080000), CONST64(0x08000000,0x08080008), CONST64(0x08000008,0x08080008),
360  CONST64(0x08000800,0x08080000), CONST64(0x08000808,0x08080000), CONST64(0x08000800,0x08080008), CONST64(0x08000808,0x08080008),
361  CONST64(0x08000000,0x08080800), CONST64(0x08000008,0x08080800), CONST64(0x08000000,0x08080808), CONST64(0x08000008,0x08080808),
362  CONST64(0x08000800,0x08080800), CONST64(0x08000808,0x08080800), CONST64(0x08000800,0x08080808), CONST64(0x08000808,0x08080808),
363  CONST64(0x08080000,0x08080000), CONST64(0x08080008,0x08080000), CONST64(0x08080000,0x08080008), CONST64(0x08080008,0x08080008),
364  CONST64(0x08080800,0x08080000), CONST64(0x08080808,0x08080000), CONST64(0x08080800,0x08080008), CONST64(0x08080808,0x08080008),
365  CONST64(0x08080000,0x08080800), CONST64(0x08080008,0x08080800), CONST64(0x08080000,0x08080808), CONST64(0x08080008,0x08080808),
366  CONST64(0x08080800,0x08080800), CONST64(0x08080808,0x08080800), CONST64(0x08080800,0x08080808), CONST64(0x08080808,0x08080808)
367  },
368 { CONST64(0x00000000,0x00000000), CONST64(0x00000004,0x00000000), CONST64(0x00000000,0x00000004), CONST64(0x00000004,0x00000004),
369  CONST64(0x00000400,0x00000000), CONST64(0x00000404,0x00000000), CONST64(0x00000400,0x00000004), CONST64(0x00000404,0x00000004),
370  CONST64(0x00000000,0x00000400), CONST64(0x00000004,0x00000400), CONST64(0x00000000,0x00000404), CONST64(0x00000004,0x00000404),
371  CONST64(0x00000400,0x00000400), CONST64(0x00000404,0x00000400), CONST64(0x00000400,0x00000404), CONST64(0x00000404,0x00000404),
372  CONST64(0x00040000,0x00000000), CONST64(0x00040004,0x00000000), CONST64(0x00040000,0x00000004), CONST64(0x00040004,0x00000004),
373  CONST64(0x00040400,0x00000000), CONST64(0x00040404,0x00000000), CONST64(0x00040400,0x00000004), CONST64(0x00040404,0x00000004),
374  CONST64(0x00040000,0x00000400), CONST64(0x00040004,0x00000400), CONST64(0x00040000,0x00000404), CONST64(0x00040004,0x00000404),
375  CONST64(0x00040400,0x00000400), CONST64(0x00040404,0x00000400), CONST64(0x00040400,0x00000404), CONST64(0x00040404,0x00000404),
376  CONST64(0x00000000,0x00040000), CONST64(0x00000004,0x00040000), CONST64(0x00000000,0x00040004), CONST64(0x00000004,0x00040004),
377  CONST64(0x00000400,0x00040000), CONST64(0x00000404,0x00040000), CONST64(0x00000400,0x00040004), CONST64(0x00000404,0x00040004),
378  CONST64(0x00000000,0x00040400), CONST64(0x00000004,0x00040400), CONST64(0x00000000,0x00040404), CONST64(0x00000004,0x00040404),
379  CONST64(0x00000400,0x00040400), CONST64(0x00000404,0x00040400), CONST64(0x00000400,0x00040404), CONST64(0x00000404,0x00040404),
380  CONST64(0x00040000,0x00040000), CONST64(0x00040004,0x00040000), CONST64(0x00040000,0x00040004), CONST64(0x00040004,0x00040004),
381  CONST64(0x00040400,0x00040000), CONST64(0x00040404,0x00040000), CONST64(0x00040400,0x00040004), CONST64(0x00040404,0x00040004),
382  CONST64(0x00040000,0x00040400), CONST64(0x00040004,0x00040400), CONST64(0x00040000,0x00040404), CONST64(0x00040004,0x00040404),
383  CONST64(0x00040400,0x00040400), CONST64(0x00040404,0x00040400), CONST64(0x00040400,0x00040404), CONST64(0x00040404,0x00040404),
384  CONST64(0x04000000,0x00000000), CONST64(0x04000004,0x00000000), CONST64(0x04000000,0x00000004), CONST64(0x04000004,0x00000004),
385  CONST64(0x04000400,0x00000000), CONST64(0x04000404,0x00000000), CONST64(0x04000400,0x00000004), CONST64(0x04000404,0x00000004),
386  CONST64(0x04000000,0x00000400), CONST64(0x04000004,0x00000400), CONST64(0x04000000,0x00000404), CONST64(0x04000004,0x00000404),
387  CONST64(0x04000400,0x00000400), CONST64(0x04000404,0x00000400), CONST64(0x04000400,0x00000404), CONST64(0x04000404,0x00000404),
388  CONST64(0x04040000,0x00000000), CONST64(0x04040004,0x00000000), CONST64(0x04040000,0x00000004), CONST64(0x04040004,0x00000004),
389  CONST64(0x04040400,0x00000000), CONST64(0x04040404,0x00000000), CONST64(0x04040400,0x00000004), CONST64(0x04040404,0x00000004),
390  CONST64(0x04040000,0x00000400), CONST64(0x04040004,0x00000400), CONST64(0x04040000,0x00000404), CONST64(0x04040004,0x00000404),
391  CONST64(0x04040400,0x00000400), CONST64(0x04040404,0x00000400), CONST64(0x04040400,0x00000404), CONST64(0x04040404,0x00000404),
392  CONST64(0x04000000,0x00040000), CONST64(0x04000004,0x00040000), CONST64(0x04000000,0x00040004), CONST64(0x04000004,0x00040004),
393  CONST64(0x04000400,0x00040000), CONST64(0x04000404,0x00040000), CONST64(0x04000400,0x00040004), CONST64(0x04000404,0x00040004),
394  CONST64(0x04000000,0x00040400), CONST64(0x04000004,0x00040400), CONST64(0x04000000,0x00040404), CONST64(0x04000004,0x00040404),
395  CONST64(0x04000400,0x00040400), CONST64(0x04000404,0x00040400), CONST64(0x04000400,0x00040404), CONST64(0x04000404,0x00040404),
396  CONST64(0x04040000,0x00040000), CONST64(0x04040004,0x00040000), CONST64(0x04040000,0x00040004), CONST64(0x04040004,0x00040004),
397  CONST64(0x04040400,0x00040000), CONST64(0x04040404,0x00040000), CONST64(0x04040400,0x00040004), CONST64(0x04040404,0x00040004),
398  CONST64(0x04040000,0x00040400), CONST64(0x04040004,0x00040400), CONST64(0x04040000,0x00040404), CONST64(0x04040004,0x00040404),
399  CONST64(0x04040400,0x00040400), CONST64(0x04040404,0x00040400), CONST64(0x04040400,0x00040404), CONST64(0x04040404,0x00040404),
400  CONST64(0x00000000,0x04000000), CONST64(0x00000004,0x04000000), CONST64(0x00000000,0x04000004), CONST64(0x00000004,0x04000004),
401  CONST64(0x00000400,0x04000000), CONST64(0x00000404,0x04000000), CONST64(0x00000400,0x04000004), CONST64(0x00000404,0x04000004),
402  CONST64(0x00000000,0x04000400), CONST64(0x00000004,0x04000400), CONST64(0x00000000,0x04000404), CONST64(0x00000004,0x04000404),
403  CONST64(0x00000400,0x04000400), CONST64(0x00000404,0x04000400), CONST64(0x00000400,0x04000404), CONST64(0x00000404,0x04000404),
404  CONST64(0x00040000,0x04000000), CONST64(0x00040004,0x04000000), CONST64(0x00040000,0x04000004), CONST64(0x00040004,0x04000004),
405  CONST64(0x00040400,0x04000000), CONST64(0x00040404,0x04000000), CONST64(0x00040400,0x04000004), CONST64(0x00040404,0x04000004),
406  CONST64(0x00040000,0x04000400), CONST64(0x00040004,0x04000400), CONST64(0x00040000,0x04000404), CONST64(0x00040004,0x04000404),
407  CONST64(0x00040400,0x04000400), CONST64(0x00040404,0x04000400), CONST64(0x00040400,0x04000404), CONST64(0x00040404,0x04000404),
408  CONST64(0x00000000,0x04040000), CONST64(0x00000004,0x04040000), CONST64(0x00000000,0x04040004), CONST64(0x00000004,0x04040004),
409  CONST64(0x00000400,0x04040000), CONST64(0x00000404,0x04040000), CONST64(0x00000400,0x04040004), CONST64(0x00000404,0x04040004),
410  CONST64(0x00000000,0x04040400), CONST64(0x00000004,0x04040400), CONST64(0x00000000,0x04040404), CONST64(0x00000004,0x04040404),
411  CONST64(0x00000400,0x04040400), CONST64(0x00000404,0x04040400), CONST64(0x00000400,0x04040404), CONST64(0x00000404,0x04040404),
412  CONST64(0x00040000,0x04040000), CONST64(0x00040004,0x04040000), CONST64(0x00040000,0x04040004), CONST64(0x00040004,0x04040004),
413  CONST64(0x00040400,0x04040000), CONST64(0x00040404,0x04040000), CONST64(0x00040400,0x04040004), CONST64(0x00040404,0x04040004),
414  CONST64(0x00040000,0x04040400), CONST64(0x00040004,0x04040400), CONST64(0x00040000,0x04040404), CONST64(0x00040004,0x04040404),
415  CONST64(0x00040400,0x04040400), CONST64(0x00040404,0x04040400), CONST64(0x00040400,0x04040404), CONST64(0x00040404,0x04040404),
416  CONST64(0x04000000,0x04000000), CONST64(0x04000004,0x04000000), CONST64(0x04000000,0x04000004), CONST64(0x04000004,0x04000004),
417  CONST64(0x04000400,0x04000000), CONST64(0x04000404,0x04000000), CONST64(0x04000400,0x04000004), CONST64(0x04000404,0x04000004),
418  CONST64(0x04000000,0x04000400), CONST64(0x04000004,0x04000400), CONST64(0x04000000,0x04000404), CONST64(0x04000004,0x04000404),
419  CONST64(0x04000400,0x04000400), CONST64(0x04000404,0x04000400), CONST64(0x04000400,0x04000404), CONST64(0x04000404,0x04000404),
420  CONST64(0x04040000,0x04000000), CONST64(0x04040004,0x04000000), CONST64(0x04040000,0x04000004), CONST64(0x04040004,0x04000004),
421  CONST64(0x04040400,0x04000000), CONST64(0x04040404,0x04000000), CONST64(0x04040400,0x04000004), CONST64(0x04040404,0x04000004),
422  CONST64(0x04040000,0x04000400), CONST64(0x04040004,0x04000400), CONST64(0x04040000,0x04000404), CONST64(0x04040004,0x04000404),
423  CONST64(0x04040400,0x04000400), CONST64(0x04040404,0x04000400), CONST64(0x04040400,0x04000404), CONST64(0x04040404,0x04000404),
424  CONST64(0x04000000,0x04040000), CONST64(0x04000004,0x04040000), CONST64(0x04000000,0x04040004), CONST64(0x04000004,0x04040004),
425  CONST64(0x04000400,0x04040000), CONST64(0x04000404,0x04040000), CONST64(0x04000400,0x04040004), CONST64(0x04000404,0x04040004),
426  CONST64(0x04000000,0x04040400), CONST64(0x04000004,0x04040400), CONST64(0x04000000,0x04040404), CONST64(0x04000004,0x04040404),
427  CONST64(0x04000400,0x04040400), CONST64(0x04000404,0x04040400), CONST64(0x04000400,0x04040404), CONST64(0x04000404,0x04040404),
428  CONST64(0x04040000,0x04040000), CONST64(0x04040004,0x04040000), CONST64(0x04040000,0x04040004), CONST64(0x04040004,0x04040004),
429  CONST64(0x04040400,0x04040000), CONST64(0x04040404,0x04040000), CONST64(0x04040400,0x04040004), CONST64(0x04040404,0x04040004),
430  CONST64(0x04040000,0x04040400), CONST64(0x04040004,0x04040400), CONST64(0x04040000,0x04040404), CONST64(0x04040004,0x04040404),
431  CONST64(0x04040400,0x04040400), CONST64(0x04040404,0x04040400), CONST64(0x04040400,0x04040404), CONST64(0x04040404,0x04040404)
432  },
433 { CONST64(0x00000000,0x00000000), CONST64(0x00000002,0x00000000), CONST64(0x00000000,0x00000002), CONST64(0x00000002,0x00000002),
434  CONST64(0x00000200,0x00000000), CONST64(0x00000202,0x00000000), CONST64(0x00000200,0x00000002), CONST64(0x00000202,0x00000002),
435  CONST64(0x00000000,0x00000200), CONST64(0x00000002,0x00000200), CONST64(0x00000000,0x00000202), CONST64(0x00000002,0x00000202),
436  CONST64(0x00000200,0x00000200), CONST64(0x00000202,0x00000200), CONST64(0x00000200,0x00000202), CONST64(0x00000202,0x00000202),
437  CONST64(0x00020000,0x00000000), CONST64(0x00020002,0x00000000), CONST64(0x00020000,0x00000002), CONST64(0x00020002,0x00000002),
438  CONST64(0x00020200,0x00000000), CONST64(0x00020202,0x00000000), CONST64(0x00020200,0x00000002), CONST64(0x00020202,0x00000002),
439  CONST64(0x00020000,0x00000200), CONST64(0x00020002,0x00000200), CONST64(0x00020000,0x00000202), CONST64(0x00020002,0x00000202),
440  CONST64(0x00020200,0x00000200), CONST64(0x00020202,0x00000200), CONST64(0x00020200,0x00000202), CONST64(0x00020202,0x00000202),
441  CONST64(0x00000000,0x00020000), CONST64(0x00000002,0x00020000), CONST64(0x00000000,0x00020002), CONST64(0x00000002,0x00020002),
442  CONST64(0x00000200,0x00020000), CONST64(0x00000202,0x00020000), CONST64(0x00000200,0x00020002), CONST64(0x00000202,0x00020002),
443  CONST64(0x00000000,0x00020200), CONST64(0x00000002,0x00020200), CONST64(0x00000000,0x00020202), CONST64(0x00000002,0x00020202),
444  CONST64(0x00000200,0x00020200), CONST64(0x00000202,0x00020200), CONST64(0x00000200,0x00020202), CONST64(0x00000202,0x00020202),
445  CONST64(0x00020000,0x00020000), CONST64(0x00020002,0x00020000), CONST64(0x00020000,0x00020002), CONST64(0x00020002,0x00020002),
446  CONST64(0x00020200,0x00020000), CONST64(0x00020202,0x00020000), CONST64(0x00020200,0x00020002), CONST64(0x00020202,0x00020002),
447  CONST64(0x00020000,0x00020200), CONST64(0x00020002,0x00020200), CONST64(0x00020000,0x00020202), CONST64(0x00020002,0x00020202),
448  CONST64(0x00020200,0x00020200), CONST64(0x00020202,0x00020200), CONST64(0x00020200,0x00020202), CONST64(0x00020202,0x00020202),
449  CONST64(0x02000000,0x00000000), CONST64(0x02000002,0x00000000), CONST64(0x02000000,0x00000002), CONST64(0x02000002,0x00000002),
450  CONST64(0x02000200,0x00000000), CONST64(0x02000202,0x00000000), CONST64(0x02000200,0x00000002), CONST64(0x02000202,0x00000002),
451  CONST64(0x02000000,0x00000200), CONST64(0x02000002,0x00000200), CONST64(0x02000000,0x00000202), CONST64(0x02000002,0x00000202),
452  CONST64(0x02000200,0x00000200), CONST64(0x02000202,0x00000200), CONST64(0x02000200,0x00000202), CONST64(0x02000202,0x00000202),
453  CONST64(0x02020000,0x00000000), CONST64(0x02020002,0x00000000), CONST64(0x02020000,0x00000002), CONST64(0x02020002,0x00000002),
454  CONST64(0x02020200,0x00000000), CONST64(0x02020202,0x00000000), CONST64(0x02020200,0x00000002), CONST64(0x02020202,0x00000002),
455  CONST64(0x02020000,0x00000200), CONST64(0x02020002,0x00000200), CONST64(0x02020000,0x00000202), CONST64(0x02020002,0x00000202),
456  CONST64(0x02020200,0x00000200), CONST64(0x02020202,0x00000200), CONST64(0x02020200,0x00000202), CONST64(0x02020202,0x00000202),
457  CONST64(0x02000000,0x00020000), CONST64(0x02000002,0x00020000), CONST64(0x02000000,0x00020002), CONST64(0x02000002,0x00020002),
458  CONST64(0x02000200,0x00020000), CONST64(0x02000202,0x00020000), CONST64(0x02000200,0x00020002), CONST64(0x02000202,0x00020002),
459  CONST64(0x02000000,0x00020200), CONST64(0x02000002,0x00020200), CONST64(0x02000000,0x00020202), CONST64(0x02000002,0x00020202),
460  CONST64(0x02000200,0x00020200), CONST64(0x02000202,0x00020200), CONST64(0x02000200,0x00020202), CONST64(0x02000202,0x00020202),
461  CONST64(0x02020000,0x00020000), CONST64(0x02020002,0x00020000), CONST64(0x02020000,0x00020002), CONST64(0x02020002,0x00020002),
462  CONST64(0x02020200,0x00020000), CONST64(0x02020202,0x00020000), CONST64(0x02020200,0x00020002), CONST64(0x02020202,0x00020002),
463  CONST64(0x02020000,0x00020200), CONST64(0x02020002,0x00020200), CONST64(0x02020000,0x00020202), CONST64(0x02020002,0x00020202),
464  CONST64(0x02020200,0x00020200), CONST64(0x02020202,0x00020200), CONST64(0x02020200,0x00020202), CONST64(0x02020202,0x00020202),
465  CONST64(0x00000000,0x02000000), CONST64(0x00000002,0x02000000), CONST64(0x00000000,0x02000002), CONST64(0x00000002,0x02000002),
466  CONST64(0x00000200,0x02000000), CONST64(0x00000202,0x02000000), CONST64(0x00000200,0x02000002), CONST64(0x00000202,0x02000002),
467  CONST64(0x00000000,0x02000200), CONST64(0x00000002,0x02000200), CONST64(0x00000000,0x02000202), CONST64(0x00000002,0x02000202),
468  CONST64(0x00000200,0x02000200), CONST64(0x00000202,0x02000200), CONST64(0x00000200,0x02000202), CONST64(0x00000202,0x02000202),
469  CONST64(0x00020000,0x02000000), CONST64(0x00020002,0x02000000), CONST64(0x00020000,0x02000002), CONST64(0x00020002,0x02000002),
470  CONST64(0x00020200,0x02000000), CONST64(0x00020202,0x02000000), CONST64(0x00020200,0x02000002), CONST64(0x00020202,0x02000002),
471  CONST64(0x00020000,0x02000200), CONST64(0x00020002,0x02000200), CONST64(0x00020000,0x02000202), CONST64(0x00020002,0x02000202),
472  CONST64(0x00020200,0x02000200), CONST64(0x00020202,0x02000200), CONST64(0x00020200,0x02000202), CONST64(0x00020202,0x02000202),
473  CONST64(0x00000000,0x02020000), CONST64(0x00000002,0x02020000), CONST64(0x00000000,0x02020002), CONST64(0x00000002,0x02020002),
474  CONST64(0x00000200,0x02020000), CONST64(0x00000202,0x02020000), CONST64(0x00000200,0x02020002), CONST64(0x00000202,0x02020002),
475  CONST64(0x00000000,0x02020200), CONST64(0x00000002,0x02020200), CONST64(0x00000000,0x02020202), CONST64(0x00000002,0x02020202),
476  CONST64(0x00000200,0x02020200), CONST64(0x00000202,0x02020200), CONST64(0x00000200,0x02020202), CONST64(0x00000202,0x02020202),
477  CONST64(0x00020000,0x02020000), CONST64(0x00020002,0x02020000), CONST64(0x00020000,0x02020002), CONST64(0x00020002,0x02020002),
478  CONST64(0x00020200,0x02020000), CONST64(0x00020202,0x02020000), CONST64(0x00020200,0x02020002), CONST64(0x00020202,0x02020002),
479  CONST64(0x00020000,0x02020200), CONST64(0x00020002,0x02020200), CONST64(0x00020000,0x02020202), CONST64(0x00020002,0x02020202),
480  CONST64(0x00020200,0x02020200), CONST64(0x00020202,0x02020200), CONST64(0x00020200,0x02020202), CONST64(0x00020202,0x02020202),
481  CONST64(0x02000000,0x02000000), CONST64(0x02000002,0x02000000), CONST64(0x02000000,0x02000002), CONST64(0x02000002,0x02000002),
482  CONST64(0x02000200,0x02000000), CONST64(0x02000202,0x02000000), CONST64(0x02000200,0x02000002), CONST64(0x02000202,0x02000002),
483  CONST64(0x02000000,0x02000200), CONST64(0x02000002,0x02000200), CONST64(0x02000000,0x02000202), CONST64(0x02000002,0x02000202),
484  CONST64(0x02000200,0x02000200), CONST64(0x02000202,0x02000200), CONST64(0x02000200,0x02000202), CONST64(0x02000202,0x02000202),
485  CONST64(0x02020000,0x02000000), CONST64(0x02020002,0x02000000), CONST64(0x02020000,0x02000002), CONST64(0x02020002,0x02000002),
486  CONST64(0x02020200,0x02000000), CONST64(0x02020202,0x02000000), CONST64(0x02020200,0x02000002), CONST64(0x02020202,0x02000002),
487  CONST64(0x02020000,0x02000200), CONST64(0x02020002,0x02000200), CONST64(0x02020000,0x02000202), CONST64(0x02020002,0x02000202),
488  CONST64(0x02020200,0x02000200), CONST64(0x02020202,0x02000200), CONST64(0x02020200,0x02000202), CONST64(0x02020202,0x02000202),
489  CONST64(0x02000000,0x02020000), CONST64(0x02000002,0x02020000), CONST64(0x02000000,0x02020002), CONST64(0x02000002,0x02020002),
490  CONST64(0x02000200,0x02020000), CONST64(0x02000202,0x02020000), CONST64(0x02000200,0x02020002), CONST64(0x02000202,0x02020002),
491  CONST64(0x02000000,0x02020200), CONST64(0x02000002,0x02020200), CONST64(0x02000000,0x02020202), CONST64(0x02000002,0x02020202),
492  CONST64(0x02000200,0x02020200), CONST64(0x02000202,0x02020200), CONST64(0x02000200,0x02020202), CONST64(0x02000202,0x02020202),
493  CONST64(0x02020000,0x02020000), CONST64(0x02020002,0x02020000), CONST64(0x02020000,0x02020002), CONST64(0x02020002,0x02020002),
494  CONST64(0x02020200,0x02020000), CONST64(0x02020202,0x02020000), CONST64(0x02020200,0x02020002), CONST64(0x02020202,0x02020002),
495  CONST64(0x02020000,0x02020200), CONST64(0x02020002,0x02020200), CONST64(0x02020000,0x02020202), CONST64(0x02020002,0x02020202),
496  CONST64(0x02020200,0x02020200), CONST64(0x02020202,0x02020200), CONST64(0x02020200,0x02020202), CONST64(0x02020202,0x02020202)
497  },
498 { CONST64(0x00000000,0x00000000), CONST64(0x00000100,0x00000000), CONST64(0x00000000,0x00000100), CONST64(0x00000100,0x00000100),
499  CONST64(0x00010000,0x00000000), CONST64(0x00010100,0x00000000), CONST64(0x00010000,0x00000100), CONST64(0x00010100,0x00000100),
500  CONST64(0x00000000,0x00010000), CONST64(0x00000100,0x00010000), CONST64(0x00000000,0x00010100), CONST64(0x00000100,0x00010100),
501  CONST64(0x00010000,0x00010000), CONST64(0x00010100,0x00010000), CONST64(0x00010000,0x00010100), CONST64(0x00010100,0x00010100),
502  CONST64(0x01000000,0x00000000), CONST64(0x01000100,0x00000000), CONST64(0x01000000,0x00000100), CONST64(0x01000100,0x00000100),
503  CONST64(0x01010000,0x00000000), CONST64(0x01010100,0x00000000), CONST64(0x01010000,0x00000100), CONST64(0x01010100,0x00000100),
504  CONST64(0x01000000,0x00010000), CONST64(0x01000100,0x00010000), CONST64(0x01000000,0x00010100), CONST64(0x01000100,0x00010100),
505  CONST64(0x01010000,0x00010000), CONST64(0x01010100,0x00010000), CONST64(0x01010000,0x00010100), CONST64(0x01010100,0x00010100),
506  CONST64(0x00000000,0x01000000), CONST64(0x00000100,0x01000000), CONST64(0x00000000,0x01000100), CONST64(0x00000100,0x01000100),
507  CONST64(0x00010000,0x01000000), CONST64(0x00010100,0x01000000), CONST64(0x00010000,0x01000100), CONST64(0x00010100,0x01000100),
508  CONST64(0x00000000,0x01010000), CONST64(0x00000100,0x01010000), CONST64(0x00000000,0x01010100), CONST64(0x00000100,0x01010100),
509  CONST64(0x00010000,0x01010000), CONST64(0x00010100,0x01010000), CONST64(0x00010000,0x01010100), CONST64(0x00010100,0x01010100),
510  CONST64(0x01000000,0x01000000), CONST64(0x01000100,0x01000000), CONST64(0x01000000,0x01000100), CONST64(0x01000100,0x01000100),
511  CONST64(0x01010000,0x01000000), CONST64(0x01010100,0x01000000), CONST64(0x01010000,0x01000100), CONST64(0x01010100,0x01000100),
512  CONST64(0x01000000,0x01010000), CONST64(0x01000100,0x01010000), CONST64(0x01000000,0x01010100), CONST64(0x01000100,0x01010100),
513  CONST64(0x01010000,0x01010000), CONST64(0x01010100,0x01010000), CONST64(0x01010000,0x01010100), CONST64(0x01010100,0x01010100),
514  CONST64(0x00000001,0x00000000), CONST64(0x00000101,0x00000000), CONST64(0x00000001,0x00000100), CONST64(0x00000101,0x00000100),
515  CONST64(0x00010001,0x00000000), CONST64(0x00010101,0x00000000), CONST64(0x00010001,0x00000100), CONST64(0x00010101,0x00000100),
516  CONST64(0x00000001,0x00010000), CONST64(0x00000101,0x00010000), CONST64(0x00000001,0x00010100), CONST64(0x00000101,0x00010100),
517  CONST64(0x00010001,0x00010000), CONST64(0x00010101,0x00010000), CONST64(0x00010001,0x00010100), CONST64(0x00010101,0x00010100),
518  CONST64(0x01000001,0x00000000), CONST64(0x01000101,0x00000000), CONST64(0x01000001,0x00000100), CONST64(0x01000101,0x00000100),
519  CONST64(0x01010001,0x00000000), CONST64(0x01010101,0x00000000), CONST64(0x01010001,0x00000100), CONST64(0x01010101,0x00000100),
520  CONST64(0x01000001,0x00010000), CONST64(0x01000101,0x00010000), CONST64(0x01000001,0x00010100), CONST64(0x01000101,0x00010100),
521  CONST64(0x01010001,0x00010000), CONST64(0x01010101,0x00010000), CONST64(0x01010001,0x00010100), CONST64(0x01010101,0x00010100),
522  CONST64(0x00000001,0x01000000), CONST64(0x00000101,0x01000000), CONST64(0x00000001,0x01000100), CONST64(0x00000101,0x01000100),
523  CONST64(0x00010001,0x01000000), CONST64(0x00010101,0x01000000), CONST64(0x00010001,0x01000100), CONST64(0x00010101,0x01000100),
524  CONST64(0x00000001,0x01010000), CONST64(0x00000101,0x01010000), CONST64(0x00000001,0x01010100), CONST64(0x00000101,0x01010100),
525  CONST64(0x00010001,0x01010000), CONST64(0x00010101,0x01010000), CONST64(0x00010001,0x01010100), CONST64(0x00010101,0x01010100),
526  CONST64(0x01000001,0x01000000), CONST64(0x01000101,0x01000000), CONST64(0x01000001,0x01000100), CONST64(0x01000101,0x01000100),
527  CONST64(0x01010001,0x01000000), CONST64(0x01010101,0x01000000), CONST64(0x01010001,0x01000100), CONST64(0x01010101,0x01000100),
528  CONST64(0x01000001,0x01010000), CONST64(0x01000101,0x01010000), CONST64(0x01000001,0x01010100), CONST64(0x01000101,0x01010100),
529  CONST64(0x01010001,0x01010000), CONST64(0x01010101,0x01010000), CONST64(0x01010001,0x01010100), CONST64(0x01010101,0x01010100),
530  CONST64(0x00000000,0x00000001), CONST64(0x00000100,0x00000001), CONST64(0x00000000,0x00000101), CONST64(0x00000100,0x00000101),
531  CONST64(0x00010000,0x00000001), CONST64(0x00010100,0x00000001), CONST64(0x00010000,0x00000101), CONST64(0x00010100,0x00000101),
532  CONST64(0x00000000,0x00010001), CONST64(0x00000100,0x00010001), CONST64(0x00000000,0x00010101), CONST64(0x00000100,0x00010101),
533  CONST64(0x00010000,0x00010001), CONST64(0x00010100,0x00010001), CONST64(0x00010000,0x00010101), CONST64(0x00010100,0x00010101),
534  CONST64(0x01000000,0x00000001), CONST64(0x01000100,0x00000001), CONST64(0x01000000,0x00000101), CONST64(0x01000100,0x00000101),
535  CONST64(0x01010000,0x00000001), CONST64(0x01010100,0x00000001), CONST64(0x01010000,0x00000101), CONST64(0x01010100,0x00000101),
536  CONST64(0x01000000,0x00010001), CONST64(0x01000100,0x00010001), CONST64(0x01000000,0x00010101), CONST64(0x01000100,0x00010101),
537  CONST64(0x01010000,0x00010001), CONST64(0x01010100,0x00010001), CONST64(0x01010000,0x00010101), CONST64(0x01010100,0x00010101),
538  CONST64(0x00000000,0x01000001), CONST64(0x00000100,0x01000001), CONST64(0x00000000,0x01000101), CONST64(0x00000100,0x01000101),
539  CONST64(0x00010000,0x01000001), CONST64(0x00010100,0x01000001), CONST64(0x00010000,0x01000101), CONST64(0x00010100,0x01000101),
540  CONST64(0x00000000,0x01010001), CONST64(0x00000100,0x01010001), CONST64(0x00000000,0x01010101), CONST64(0x00000100,0x01010101),
541  CONST64(0x00010000,0x01010001), CONST64(0x00010100,0x01010001), CONST64(0x00010000,0x01010101), CONST64(0x00010100,0x01010101),
542  CONST64(0x01000000,0x01000001), CONST64(0x01000100,0x01000001), CONST64(0x01000000,0x01000101), CONST64(0x01000100,0x01000101),
543  CONST64(0x01010000,0x01000001), CONST64(0x01010100,0x01000001), CONST64(0x01010000,0x01000101), CONST64(0x01010100,0x01000101),
544  CONST64(0x01000000,0x01010001), CONST64(0x01000100,0x01010001), CONST64(0x01000000,0x01010101), CONST64(0x01000100,0x01010101),
545  CONST64(0x01010000,0x01010001), CONST64(0x01010100,0x01010001), CONST64(0x01010000,0x01010101), CONST64(0x01010100,0x01010101),
546  CONST64(0x00000001,0x00000001), CONST64(0x00000101,0x00000001), CONST64(0x00000001,0x00000101), CONST64(0x00000101,0x00000101),
547  CONST64(0x00010001,0x00000001), CONST64(0x00010101,0x00000001), CONST64(0x00010001,0x00000101), CONST64(0x00010101,0x00000101),
548  CONST64(0x00000001,0x00010001), CONST64(0x00000101,0x00010001), CONST64(0x00000001,0x00010101), CONST64(0x00000101,0x00010101),
549  CONST64(0x00010001,0x00010001), CONST64(0x00010101,0x00010001), CONST64(0x00010001,0x00010101), CONST64(0x00010101,0x00010101),
550  CONST64(0x01000001,0x00000001), CONST64(0x01000101,0x00000001), CONST64(0x01000001,0x00000101), CONST64(0x01000101,0x00000101),
551  CONST64(0x01010001,0x00000001), CONST64(0x01010101,0x00000001), CONST64(0x01010001,0x00000101), CONST64(0x01010101,0x00000101),
552  CONST64(0x01000001,0x00010001), CONST64(0x01000101,0x00010001), CONST64(0x01000001,0x00010101), CONST64(0x01000101,0x00010101),
553  CONST64(0x01010001,0x00010001), CONST64(0x01010101,0x00010001), CONST64(0x01010001,0x00010101), CONST64(0x01010101,0x00010101),
554  CONST64(0x00000001,0x01000001), CONST64(0x00000101,0x01000001), CONST64(0x00000001,0x01000101), CONST64(0x00000101,0x01000101),
555  CONST64(0x00010001,0x01000001), CONST64(0x00010101,0x01000001), CONST64(0x00010001,0x01000101), CONST64(0x00010101,0x01000101),
556  CONST64(0x00000001,0x01010001), CONST64(0x00000101,0x01010001), CONST64(0x00000001,0x01010101), CONST64(0x00000101,0x01010101),
557  CONST64(0x00010001,0x01010001), CONST64(0x00010101,0x01010001), CONST64(0x00010001,0x01010101), CONST64(0x00010101,0x01010101),
558  CONST64(0x01000001,0x01000001), CONST64(0x01000101,0x01000001), CONST64(0x01000001,0x01000101), CONST64(0x01000101,0x01000101),
559  CONST64(0x01010001,0x01000001), CONST64(0x01010101,0x01000001), CONST64(0x01010001,0x01000101), CONST64(0x01010101,0x01000101),
560  CONST64(0x01000001,0x01010001), CONST64(0x01000101,0x01010001), CONST64(0x01000001,0x01010101), CONST64(0x01000101,0x01010101),
561  CONST64(0x01010001,0x01010001), CONST64(0x01010101,0x01010001), CONST64(0x01010001,0x01010101), CONST64(0x01010101,0x01010101)
562  },
563 { CONST64(0x00000000,0x00000000), CONST64(0x00000080,0x00000000), CONST64(0x00000000,0x00000080), CONST64(0x00000080,0x00000080),
564  CONST64(0x00008000,0x00000000), CONST64(0x00008080,0x00000000), CONST64(0x00008000,0x00000080), CONST64(0x00008080,0x00000080),
565  CONST64(0x00000000,0x00008000), CONST64(0x00000080,0x00008000), CONST64(0x00000000,0x00008080), CONST64(0x00000080,0x00008080),
566  CONST64(0x00008000,0x00008000), CONST64(0x00008080,0x00008000), CONST64(0x00008000,0x00008080), CONST64(0x00008080,0x00008080),
567  CONST64(0x00800000,0x00000000), CONST64(0x00800080,0x00000000), CONST64(0x00800000,0x00000080), CONST64(0x00800080,0x00000080),
568  CONST64(0x00808000,0x00000000), CONST64(0x00808080,0x00000000), CONST64(0x00808000,0x00000080), CONST64(0x00808080,0x00000080),
569  CONST64(0x00800000,0x00008000), CONST64(0x00800080,0x00008000), CONST64(0x00800000,0x00008080), CONST64(0x00800080,0x00008080),
570  CONST64(0x00808000,0x00008000), CONST64(0x00808080,0x00008000), CONST64(0x00808000,0x00008080), CONST64(0x00808080,0x00008080),
571  CONST64(0x00000000,0x00800000), CONST64(0x00000080,0x00800000), CONST64(0x00000000,0x00800080), CONST64(0x00000080,0x00800080),
572  CONST64(0x00008000,0x00800000), CONST64(0x00008080,0x00800000), CONST64(0x00008000,0x00800080), CONST64(0x00008080,0x00800080),
573  CONST64(0x00000000,0x00808000), CONST64(0x00000080,0x00808000), CONST64(0x00000000,0x00808080), CONST64(0x00000080,0x00808080),
574  CONST64(0x00008000,0x00808000), CONST64(0x00008080,0x00808000), CONST64(0x00008000,0x00808080), CONST64(0x00008080,0x00808080),
575  CONST64(0x00800000,0x00800000), CONST64(0x00800080,0x00800000), CONST64(0x00800000,0x00800080), CONST64(0x00800080,0x00800080),
576  CONST64(0x00808000,0x00800000), CONST64(0x00808080,0x00800000), CONST64(0x00808000,0x00800080), CONST64(0x00808080,0x00800080),
577  CONST64(0x00800000,0x00808000), CONST64(0x00800080,0x00808000), CONST64(0x00800000,0x00808080), CONST64(0x00800080,0x00808080),
578  CONST64(0x00808000,0x00808000), CONST64(0x00808080,0x00808000), CONST64(0x00808000,0x00808080), CONST64(0x00808080,0x00808080),
579  CONST64(0x80000000,0x00000000), CONST64(0x80000080,0x00000000), CONST64(0x80000000,0x00000080), CONST64(0x80000080,0x00000080),
580  CONST64(0x80008000,0x00000000), CONST64(0x80008080,0x00000000), CONST64(0x80008000,0x00000080), CONST64(0x80008080,0x00000080),
581  CONST64(0x80000000,0x00008000), CONST64(0x80000080,0x00008000), CONST64(0x80000000,0x00008080), CONST64(0x80000080,0x00008080),
582  CONST64(0x80008000,0x00008000), CONST64(0x80008080,0x00008000), CONST64(0x80008000,0x00008080), CONST64(0x80008080,0x00008080),
583  CONST64(0x80800000,0x00000000), CONST64(0x80800080,0x00000000), CONST64(0x80800000,0x00000080), CONST64(0x80800080,0x00000080),
584  CONST64(0x80808000,0x00000000), CONST64(0x80808080,0x00000000), CONST64(0x80808000,0x00000080), CONST64(0x80808080,0x00000080),
585  CONST64(0x80800000,0x00008000), CONST64(0x80800080,0x00008000), CONST64(0x80800000,0x00008080), CONST64(0x80800080,0x00008080),
586  CONST64(0x80808000,0x00008000), CONST64(0x80808080,0x00008000), CONST64(0x80808000,0x00008080), CONST64(0x80808080,0x00008080),
587  CONST64(0x80000000,0x00800000), CONST64(0x80000080,0x00800000), CONST64(0x80000000,0x00800080), CONST64(0x80000080,0x00800080),
588  CONST64(0x80008000,0x00800000), CONST64(0x80008080,0x00800000), CONST64(0x80008000,0x00800080), CONST64(0x80008080,0x00800080),
589  CONST64(0x80000000,0x00808000), CONST64(0x80000080,0x00808000), CONST64(0x80000000,0x00808080), CONST64(0x80000080,0x00808080),
590  CONST64(0x80008000,0x00808000), CONST64(0x80008080,0x00808000), CONST64(0x80008000,0x00808080), CONST64(0x80008080,0x00808080),
591  CONST64(0x80800000,0x00800000), CONST64(0x80800080,0x00800000), CONST64(0x80800000,0x00800080), CONST64(0x80800080,0x00800080),
592  CONST64(0x80808000,0x00800000), CONST64(0x80808080,0x00800000), CONST64(0x80808000,0x00800080), CONST64(0x80808080,0x00800080),
593  CONST64(0x80800000,0x00808000), CONST64(0x80800080,0x00808000), CONST64(0x80800000,0x00808080), CONST64(0x80800080,0x00808080),
594  CONST64(0x80808000,0x00808000), CONST64(0x80808080,0x00808000), CONST64(0x80808000,0x00808080), CONST64(0x80808080,0x00808080),
595  CONST64(0x00000000,0x80000000), CONST64(0x00000080,0x80000000), CONST64(0x00000000,0x80000080), CONST64(0x00000080,0x80000080),
596  CONST64(0x00008000,0x80000000), CONST64(0x00008080,0x80000000), CONST64(0x00008000,0x80000080), CONST64(0x00008080,0x80000080),
597  CONST64(0x00000000,0x80008000), CONST64(0x00000080,0x80008000), CONST64(0x00000000,0x80008080), CONST64(0x00000080,0x80008080),
598  CONST64(0x00008000,0x80008000), CONST64(0x00008080,0x80008000), CONST64(0x00008000,0x80008080), CONST64(0x00008080,0x80008080),
599  CONST64(0x00800000,0x80000000), CONST64(0x00800080,0x80000000), CONST64(0x00800000,0x80000080), CONST64(0x00800080,0x80000080),
600  CONST64(0x00808000,0x80000000), CONST64(0x00808080,0x80000000), CONST64(0x00808000,0x80000080), CONST64(0x00808080,0x80000080),
601  CONST64(0x00800000,0x80008000), CONST64(0x00800080,0x80008000), CONST64(0x00800000,0x80008080), CONST64(0x00800080,0x80008080),
602  CONST64(0x00808000,0x80008000), CONST64(0x00808080,0x80008000), CONST64(0x00808000,0x80008080), CONST64(0x00808080,0x80008080),
603  CONST64(0x00000000,0x80800000), CONST64(0x00000080,0x80800000), CONST64(0x00000000,0x80800080), CONST64(0x00000080,0x80800080),
604  CONST64(0x00008000,0x80800000), CONST64(0x00008080,0x80800000), CONST64(0x00008000,0x80800080), CONST64(0x00008080,0x80800080),
605  CONST64(0x00000000,0x80808000), CONST64(0x00000080,0x80808000), CONST64(0x00000000,0x80808080), CONST64(0x00000080,0x80808080),
606  CONST64(0x00008000,0x80808000), CONST64(0x00008080,0x80808000), CONST64(0x00008000,0x80808080), CONST64(0x00008080,0x80808080),
607  CONST64(0x00800000,0x80800000), CONST64(0x00800080,0x80800000), CONST64(0x00800000,0x80800080), CONST64(0x00800080,0x80800080),
608  CONST64(0x00808000,0x80800000), CONST64(0x00808080,0x80800000), CONST64(0x00808000,0x80800080), CONST64(0x00808080,0x80800080),
609  CONST64(0x00800000,0x80808000), CONST64(0x00800080,0x80808000), CONST64(0x00800000,0x80808080), CONST64(0x00800080,0x80808080),
610  CONST64(0x00808000,0x80808000), CONST64(0x00808080,0x80808000), CONST64(0x00808000,0x80808080), CONST64(0x00808080,0x80808080),
611  CONST64(0x80000000,0x80000000), CONST64(0x80000080,0x80000000), CONST64(0x80000000,0x80000080), CONST64(0x80000080,0x80000080),
612  CONST64(0x80008000,0x80000000), CONST64(0x80008080,0x80000000), CONST64(0x80008000,0x80000080), CONST64(0x80008080,0x80000080),
613  CONST64(0x80000000,0x80008000), CONST64(0x80000080,0x80008000), CONST64(0x80000000,0x80008080), CONST64(0x80000080,0x80008080),
614  CONST64(0x80008000,0x80008000), CONST64(0x80008080,0x80008000), CONST64(0x80008000,0x80008080), CONST64(0x80008080,0x80008080),
615  CONST64(0x80800000,0x80000000), CONST64(0x80800080,0x80000000), CONST64(0x80800000,0x80000080), CONST64(0x80800080,0x80000080),
616  CONST64(0x80808000,0x80000000), CONST64(0x80808080,0x80000000), CONST64(0x80808000,0x80000080), CONST64(0x80808080,0x80000080),
617  CONST64(0x80800000,0x80008000), CONST64(0x80800080,0x80008000), CONST64(0x80800000,0x80008080), CONST64(0x80800080,0x80008080),
618  CONST64(0x80808000,0x80008000), CONST64(0x80808080,0x80008000), CONST64(0x80808000,0x80008080), CONST64(0x80808080,0x80008080),
619  CONST64(0x80000000,0x80800000), CONST64(0x80000080,0x80800000), CONST64(0x80000000,0x80800080), CONST64(0x80000080,0x80800080),
620  CONST64(0x80008000,0x80800000), CONST64(0x80008080,0x80800000), CONST64(0x80008000,0x80800080), CONST64(0x80008080,0x80800080),
621  CONST64(0x80000000,0x80808000), CONST64(0x80000080,0x80808000), CONST64(0x80000000,0x80808080), CONST64(0x80000080,0x80808080),
622  CONST64(0x80008000,0x80808000), CONST64(0x80008080,0x80808000), CONST64(0x80008000,0x80808080), CONST64(0x80008080,0x80808080),
623  CONST64(0x80800000,0x80800000), CONST64(0x80800080,0x80800000), CONST64(0x80800000,0x80800080), CONST64(0x80800080,0x80800080),
624  CONST64(0x80808000,0x80800000), CONST64(0x80808080,0x80800000), CONST64(0x80808000,0x80800080), CONST64(0x80808080,0x80800080),
625  CONST64(0x80800000,0x80808000), CONST64(0x80800080,0x80808000), CONST64(0x80800000,0x80808080), CONST64(0x80800080,0x80808080),
626  CONST64(0x80808000,0x80808000), CONST64(0x80808080,0x80808000), CONST64(0x80808000,0x80808080), CONST64(0x80808080,0x80808080)
627  },
628 { CONST64(0x00000000,0x00000000), CONST64(0x00000040,0x00000000), CONST64(0x00000000,0x00000040), CONST64(0x00000040,0x00000040),
629  CONST64(0x00004000,0x00000000), CONST64(0x00004040,0x00000000), CONST64(0x00004000,0x00000040), CONST64(0x00004040,0x00000040),
630  CONST64(0x00000000,0x00004000), CONST64(0x00000040,0x00004000), CONST64(0x00000000,0x00004040), CONST64(0x00000040,0x00004040),
631  CONST64(0x00004000,0x00004000), CONST64(0x00004040,0x00004000), CONST64(0x00004000,0x00004040), CONST64(0x00004040,0x00004040),
632  CONST64(0x00400000,0x00000000), CONST64(0x00400040,0x00000000), CONST64(0x00400000,0x00000040), CONST64(0x00400040,0x00000040),
633  CONST64(0x00404000,0x00000000), CONST64(0x00404040,0x00000000), CONST64(0x00404000,0x00000040), CONST64(0x00404040,0x00000040),
634  CONST64(0x00400000,0x00004000), CONST64(0x00400040,0x00004000), CONST64(0x00400000,0x00004040), CONST64(0x00400040,0x00004040),
635  CONST64(0x00404000,0x00004000), CONST64(0x00404040,0x00004000), CONST64(0x00404000,0x00004040), CONST64(0x00404040,0x00004040),
636  CONST64(0x00000000,0x00400000), CONST64(0x00000040,0x00400000), CONST64(0x00000000,0x00400040), CONST64(0x00000040,0x00400040),
637  CONST64(0x00004000,0x00400000), CONST64(0x00004040,0x00400000), CONST64(0x00004000,0x00400040), CONST64(0x00004040,0x00400040),
638  CONST64(0x00000000,0x00404000), CONST64(0x00000040,0x00404000), CONST64(0x00000000,0x00404040), CONST64(0x00000040,0x00404040),
639  CONST64(0x00004000,0x00404000), CONST64(0x00004040,0x00404000), CONST64(0x00004000,0x00404040), CONST64(0x00004040,0x00404040),
640  CONST64(0x00400000,0x00400000), CONST64(0x00400040,0x00400000), CONST64(0x00400000,0x00400040), CONST64(0x00400040,0x00400040),
641  CONST64(0x00404000,0x00400000), CONST64(0x00404040,0x00400000), CONST64(0x00404000,0x00400040), CONST64(0x00404040,0x00400040),
642  CONST64(0x00400000,0x00404000), CONST64(0x00400040,0x00404000), CONST64(0x00400000,0x00404040), CONST64(0x00400040,0x00404040),
643  CONST64(0x00404000,0x00404000), CONST64(0x00404040,0x00404000), CONST64(0x00404000,0x00404040), CONST64(0x00404040,0x00404040),
644  CONST64(0x40000000,0x00000000), CONST64(0x40000040,0x00000000), CONST64(0x40000000,0x00000040), CONST64(0x40000040,0x00000040),
645  CONST64(0x40004000,0x00000000), CONST64(0x40004040,0x00000000), CONST64(0x40004000,0x00000040), CONST64(0x40004040,0x00000040),
646  CONST64(0x40000000,0x00004000), CONST64(0x40000040,0x00004000), CONST64(0x40000000,0x00004040), CONST64(0x40000040,0x00004040),
647  CONST64(0x40004000,0x00004000), CONST64(0x40004040,0x00004000), CONST64(0x40004000,0x00004040), CONST64(0x40004040,0x00004040),
648  CONST64(0x40400000,0x00000000), CONST64(0x40400040,0x00000000), CONST64(0x40400000,0x00000040), CONST64(0x40400040,0x00000040),
649  CONST64(0x40404000,0x00000000), CONST64(0x40404040,0x00000000), CONST64(0x40404000,0x00000040), CONST64(0x40404040,0x00000040),
650  CONST64(0x40400000,0x00004000), CONST64(0x40400040,0x00004000), CONST64(0x40400000,0x00004040), CONST64(0x40400040,0x00004040),
651  CONST64(0x40404000,0x00004000), CONST64(0x40404040,0x00004000), CONST64(0x40404000,0x00004040), CONST64(0x40404040,0x00004040),
652  CONST64(0x40000000,0x00400000), CONST64(0x40000040,0x00400000), CONST64(0x40000000,0x00400040), CONST64(0x40000040,0x00400040),
653  CONST64(0x40004000,0x00400000), CONST64(0x40004040,0x00400000), CONST64(0x40004000,0x00400040), CONST64(0x40004040,0x00400040),
654  CONST64(0x40000000,0x00404000), CONST64(0x40000040,0x00404000), CONST64(0x40000000,0x00404040), CONST64(0x40000040,0x00404040),
655  CONST64(0x40004000,0x00404000), CONST64(0x40004040,0x00404000), CONST64(0x40004000,0x00404040), CONST64(0x40004040,0x00404040),
656  CONST64(0x40400000,0x00400000), CONST64(0x40400040,0x00400000), CONST64(0x40400000,0x00400040), CONST64(0x40400040,0x00400040),
657  CONST64(0x40404000,0x00400000), CONST64(0x40404040,0x00400000), CONST64(0x40404000,0x00400040), CONST64(0x40404040,0x00400040),
658  CONST64(0x40400000,0x00404000), CONST64(0x40400040,0x00404000), CONST64(0x40400000,0x00404040), CONST64(0x40400040,0x00404040),
659  CONST64(0x40404000,0x00404000), CONST64(0x40404040,0x00404000), CONST64(0x40404000,0x00404040), CONST64(0x40404040,0x00404040),
660  CONST64(0x00000000,0x40000000), CONST64(0x00000040,0x40000000), CONST64(0x00000000,0x40000040), CONST64(0x00000040,0x40000040),
661  CONST64(0x00004000,0x40000000), CONST64(0x00004040,0x40000000), CONST64(0x00004000,0x40000040), CONST64(0x00004040,0x40000040),
662  CONST64(0x00000000,0x40004000), CONST64(0x00000040,0x40004000), CONST64(0x00000000,0x40004040), CONST64(0x00000040,0x40004040),
663  CONST64(0x00004000,0x40004000), CONST64(0x00004040,0x40004000), CONST64(0x00004000,0x40004040), CONST64(0x00004040,0x40004040),
664  CONST64(0x00400000,0x40000000), CONST64(0x00400040,0x40000000), CONST64(0x00400000,0x40000040), CONST64(0x00400040,0x40000040),
665  CONST64(0x00404000,0x40000000), CONST64(0x00404040,0x40000000), CONST64(0x00404000,0x40000040), CONST64(0x00404040,0x40000040),
666  CONST64(0x00400000,0x40004000), CONST64(0x00400040,0x40004000), CONST64(0x00400000,0x40004040), CONST64(0x00400040,0x40004040),
667  CONST64(0x00404000,0x40004000), CONST64(0x00404040,0x40004000), CONST64(0x00404000,0x40004040), CONST64(0x00404040,0x40004040),
668  CONST64(0x00000000,0x40400000), CONST64(0x00000040,0x40400000), CONST64(0x00000000,0x40400040), CONST64(0x00000040,0x40400040),
669  CONST64(0x00004000,0x40400000), CONST64(0x00004040,0x40400000), CONST64(0x00004000,0x40400040), CONST64(0x00004040,0x40400040),
670  CONST64(0x00000000,0x40404000), CONST64(0x00000040,0x40404000), CONST64(0x00000000,0x40404040), CONST64(0x00000040,0x40404040),
671  CONST64(0x00004000,0x40404000), CONST64(0x00004040,0x40404000), CONST64(0x00004000,0x40404040), CONST64(0x00004040,0x40404040),
672  CONST64(0x00400000,0x40400000), CONST64(0x00400040,0x40400000), CONST64(0x00400000,0x40400040), CONST64(0x00400040,0x40400040),
673  CONST64(0x00404000,0x40400000), CONST64(0x00404040,0x40400000), CONST64(0x00404000,0x40400040), CONST64(0x00404040,0x40400040),
674  CONST64(0x00400000,0x40404000), CONST64(0x00400040,0x40404000), CONST64(0x00400000,0x40404040), CONST64(0x00400040,0x40404040),
675  CONST64(0x00404000,0x40404000), CONST64(0x00404040,0x40404000), CONST64(0x00404000,0x40404040), CONST64(0x00404040,0x40404040),
676  CONST64(0x40000000,0x40000000), CONST64(0x40000040,0x40000000), CONST64(0x40000000,0x40000040), CONST64(0x40000040,0x40000040),
677  CONST64(0x40004000,0x40000000), CONST64(0x40004040,0x40000000), CONST64(0x40004000,0x40000040), CONST64(0x40004040,0x40000040),
678  CONST64(0x40000000,0x40004000), CONST64(0x40000040,0x40004000), CONST64(0x40000000,0x40004040), CONST64(0x40000040,0x40004040),
679  CONST64(0x40004000,0x40004000), CONST64(0x40004040,0x40004000), CONST64(0x40004000,0x40004040), CONST64(0x40004040,0x40004040),
680  CONST64(0x40400000,0x40000000), CONST64(0x40400040,0x40000000), CONST64(0x40400000,0x40000040), CONST64(0x40400040,0x40000040),
681  CONST64(0x40404000,0x40000000), CONST64(0x40404040,0x40000000), CONST64(0x40404000,0x40000040), CONST64(0x40404040,0x40000040),
682  CONST64(0x40400000,0x40004000), CONST64(0x40400040,0x40004000), CONST64(0x40400000,0x40004040), CONST64(0x40400040,0x40004040),
683  CONST64(0x40404000,0x40004000), CONST64(0x40404040,0x40004000), CONST64(0x40404000,0x40004040), CONST64(0x40404040,0x40004040),
684  CONST64(0x40000000,0x40400000), CONST64(0x40000040,0x40400000), CONST64(0x40000000,0x40400040), CONST64(0x40000040,0x40400040),
685  CONST64(0x40004000,0x40400000), CONST64(0x40004040,0x40400000), CONST64(0x40004000,0x40400040), CONST64(0x40004040,0x40400040),
686  CONST64(0x40000000,0x40404000), CONST64(0x40000040,0x40404000), CONST64(0x40000000,0x40404040), CONST64(0x40000040,0x40404040),
687  CONST64(0x40004000,0x40404000), CONST64(0x40004040,0x40404000), CONST64(0x40004000,0x40404040), CONST64(0x40004040,0x40404040),
688  CONST64(0x40400000,0x40400000), CONST64(0x40400040,0x40400000), CONST64(0x40400000,0x40400040), CONST64(0x40400040,0x40400040),
689  CONST64(0x40404000,0x40400000), CONST64(0x40404040,0x40400000), CONST64(0x40404000,0x40400040), CONST64(0x40404040,0x40400040),
690  CONST64(0x40400000,0x40404000), CONST64(0x40400040,0x40404000), CONST64(0x40400000,0x40404040), CONST64(0x40400040,0x40404040),
691  CONST64(0x40404000,0x40404000), CONST64(0x40404040,0x40404000), CONST64(0x40404000,0x40404040), CONST64(0x40404040,0x40404040)
692  },
693 { CONST64(0x00000000,0x00000000), CONST64(0x00000020,0x00000000), CONST64(0x00000000,0x00000020), CONST64(0x00000020,0x00000020),
694  CONST64(0x00002000,0x00000000), CONST64(0x00002020,0x00000000), CONST64(0x00002000,0x00000020), CONST64(0x00002020,0x00000020),
695  CONST64(0x00000000,0x00002000), CONST64(0x00000020,0x00002000), CONST64(0x00000000,0x00002020), CONST64(0x00000020,0x00002020),
696  CONST64(0x00002000,0x00002000), CONST64(0x00002020,0x00002000), CONST64(0x00002000,0x00002020), CONST64(0x00002020,0x00002020),
697  CONST64(0x00200000,0x00000000), CONST64(0x00200020,0x00000000), CONST64(0x00200000,0x00000020), CONST64(0x00200020,0x00000020),
698  CONST64(0x00202000,0x00000000), CONST64(0x00202020,0x00000000), CONST64(0x00202000,0x00000020), CONST64(0x00202020,0x00000020),
699  CONST64(0x00200000,0x00002000), CONST64(0x00200020,0x00002000), CONST64(0x00200000,0x00002020), CONST64(0x00200020,0x00002020),
700  CONST64(0x00202000,0x00002000), CONST64(0x00202020,0x00002000), CONST64(0x00202000,0x00002020), CONST64(0x00202020,0x00002020),
701  CONST64(0x00000000,0x00200000), CONST64(0x00000020,0x00200000), CONST64(0x00000000,0x00200020), CONST64(0x00000020,0x00200020),
702  CONST64(0x00002000,0x00200000), CONST64(0x00002020,0x00200000), CONST64(0x00002000,0x00200020), CONST64(0x00002020,0x00200020),
703  CONST64(0x00000000,0x00202000), CONST64(0x00000020,0x00202000), CONST64(0x00000000,0x00202020), CONST64(0x00000020,0x00202020),
704  CONST64(0x00002000,0x00202000), CONST64(0x00002020,0x00202000), CONST64(0x00002000,0x00202020), CONST64(0x00002020,0x00202020),
705  CONST64(0x00200000,0x00200000), CONST64(0x00200020,0x00200000), CONST64(0x00200000,0x00200020), CONST64(0x00200020,0x00200020),
706  CONST64(0x00202000,0x00200000), CONST64(0x00202020,0x00200000), CONST64(0x00202000,0x00200020), CONST64(0x00202020,0x00200020),
707  CONST64(0x00200000,0x00202000), CONST64(0x00200020,0x00202000), CONST64(0x00200000,0x00202020), CONST64(0x00200020,0x00202020),
708  CONST64(0x00202000,0x00202000), CONST64(0x00202020,0x00202000), CONST64(0x00202000,0x00202020), CONST64(0x00202020,0x00202020),
709  CONST64(0x20000000,0x00000000), CONST64(0x20000020,0x00000000), CONST64(0x20000000,0x00000020), CONST64(0x20000020,0x00000020),
710  CONST64(0x20002000,0x00000000), CONST64(0x20002020,0x00000000), CONST64(0x20002000,0x00000020), CONST64(0x20002020,0x00000020),
711  CONST64(0x20000000,0x00002000), CONST64(0x20000020,0x00002000), CONST64(0x20000000,0x00002020), CONST64(0x20000020,0x00002020),
712  CONST64(0x20002000,0x00002000), CONST64(0x20002020,0x00002000), CONST64(0x20002000,0x00002020), CONST64(0x20002020,0x00002020),
713  CONST64(0x20200000,0x00000000), CONST64(0x20200020,0x00000000), CONST64(0x20200000,0x00000020), CONST64(0x20200020,0x00000020),
714  CONST64(0x20202000,0x00000000), CONST64(0x20202020,0x00000000), CONST64(0x20202000,0x00000020), CONST64(0x20202020,0x00000020),
715  CONST64(0x20200000,0x00002000), CONST64(0x20200020,0x00002000), CONST64(0x20200000,0x00002020), CONST64(0x20200020,0x00002020),
716  CONST64(0x20202000,0x00002000), CONST64(0x20202020,0x00002000), CONST64(0x20202000,0x00002020), CONST64(0x20202020,0x00002020),
717  CONST64(0x20000000,0x00200000), CONST64(0x20000020,0x00200000), CONST64(0x20000000,0x00200020), CONST64(0x20000020,0x00200020),
718  CONST64(0x20002000,0x00200000), CONST64(0x20002020,0x00200000), CONST64(0x20002000,0x00200020), CONST64(0x20002020,0x00200020),
719  CONST64(0x20000000,0x00202000), CONST64(0x20000020,0x00202000), CONST64(0x20000000,0x00202020), CONST64(0x20000020,0x00202020),
720  CONST64(0x20002000,0x00202000), CONST64(0x20002020,0x00202000), CONST64(0x20002000,0x00202020), CONST64(0x20002020,0x00202020),
721  CONST64(0x20200000,0x00200000), CONST64(0x20200020,0x00200000), CONST64(0x20200000,0x00200020), CONST64(0x20200020,0x00200020),
722  CONST64(0x20202000,0x00200000), CONST64(0x20202020,0x00200000), CONST64(0x20202000,0x00200020), CONST64(0x20202020,0x00200020),
723  CONST64(0x20200000,0x00202000), CONST64(0x20200020,0x00202000), CONST64(0x20200000,0x00202020), CONST64(0x20200020,0x00202020),
724  CONST64(0x20202000,0x00202000), CONST64(0x20202020,0x00202000), CONST64(0x20202000,0x00202020), CONST64(0x20202020,0x00202020),
725  CONST64(0x00000000,0x20000000), CONST64(0x00000020,0x20000000), CONST64(0x00000000,0x20000020), CONST64(0x00000020,0x20000020),
726  CONST64(0x00002000,0x20000000), CONST64(0x00002020,0x20000000), CONST64(0x00002000,0x20000020), CONST64(0x00002020,0x20000020),
727  CONST64(0x00000000,0x20002000), CONST64(0x00000020,0x20002000), CONST64(0x00000000,0x20002020), CONST64(0x00000020,0x20002020),
728  CONST64(0x00002000,0x20002000), CONST64(0x00002020,0x20002000), CONST64(0x00002000,0x20002020), CONST64(0x00002020,0x20002020),
729  CONST64(0x00200000,0x20000000), CONST64(0x00200020,0x20000000), CONST64(0x00200000,0x20000020), CONST64(0x00200020,0x20000020),
730  CONST64(0x00202000,0x20000000), CONST64(0x00202020,0x20000000), CONST64(0x00202000,0x20000020), CONST64(0x00202020,0x20000020),
731  CONST64(0x00200000,0x20002000), CONST64(0x00200020,0x20002000), CONST64(0x00200000,0x20002020), CONST64(0x00200020,0x20002020),
732  CONST64(0x00202000,0x20002000), CONST64(0x00202020,0x20002000), CONST64(0x00202000,0x20002020), CONST64(0x00202020,0x20002020),
733  CONST64(0x00000000,0x20200000), CONST64(0x00000020,0x20200000), CONST64(0x00000000,0x20200020), CONST64(0x00000020,0x20200020),
734  CONST64(0x00002000,0x20200000), CONST64(0x00002020,0x20200000), CONST64(0x00002000,0x20200020), CONST64(0x00002020,0x20200020),
735  CONST64(0x00000000,0x20202000), CONST64(0x00000020,0x20202000), CONST64(0x00000000,0x20202020), CONST64(0x00000020,0x20202020),
736  CONST64(0x00002000,0x20202000), CONST64(0x00002020,0x20202000), CONST64(0x00002000,0x20202020), CONST64(0x00002020,0x20202020),
737  CONST64(0x00200000,0x20200000), CONST64(0x00200020,0x20200000), CONST64(0x00200000,0x20200020), CONST64(0x00200020,0x20200020),
738  CONST64(0x00202000,0x20200000), CONST64(0x00202020,0x20200000), CONST64(0x00202000,0x20200020), CONST64(0x00202020,0x20200020),
739  CONST64(0x00200000,0x20202000), CONST64(0x00200020,0x20202000), CONST64(0x00200000,0x20202020), CONST64(0x00200020,0x20202020),
740  CONST64(0x00202000,0x20202000), CONST64(0x00202020,0x20202000), CONST64(0x00202000,0x20202020), CONST64(0x00202020,0x20202020),
741  CONST64(0x20000000,0x20000000), CONST64(0x20000020,0x20000000), CONST64(0x20000000,0x20000020), CONST64(0x20000020,0x20000020),
742  CONST64(0x20002000,0x20000000), CONST64(0x20002020,0x20000000), CONST64(0x20002000,0x20000020), CONST64(0x20002020,0x20000020),
743  CONST64(0x20000000,0x20002000), CONST64(0x20000020,0x20002000), CONST64(0x20000000,0x20002020), CONST64(0x20000020,0x20002020),
744  CONST64(0x20002000,0x20002000), CONST64(0x20002020,0x20002000), CONST64(0x20002000,0x20002020), CONST64(0x20002020,0x20002020),
745  CONST64(0x20200000,0x20000000), CONST64(0x20200020,0x20000000), CONST64(0x20200000,0x20000020), CONST64(0x20200020,0x20000020),
746  CONST64(0x20202000,0x20000000), CONST64(0x20202020,0x20000000), CONST64(0x20202000,0x20000020), CONST64(0x20202020,0x20000020),
747  CONST64(0x20200000,0x20002000), CONST64(0x20200020,0x20002000), CONST64(0x20200000,0x20002020), CONST64(0x20200020,0x20002020),
748  CONST64(0x20202000,0x20002000), CONST64(0x20202020,0x20002000), CONST64(0x20202000,0x20002020), CONST64(0x20202020,0x20002020),
749  CONST64(0x20000000,0x20200000), CONST64(0x20000020,0x20200000), CONST64(0x20000000,0x20200020), CONST64(0x20000020,0x20200020),
750  CONST64(0x20002000,0x20200000), CONST64(0x20002020,0x20200000), CONST64(0x20002000,0x20200020), CONST64(0x20002020,0x20200020),
751  CONST64(0x20000000,0x20202000), CONST64(0x20000020,0x20202000), CONST64(0x20000000,0x20202020), CONST64(0x20000020,0x20202020),
752  CONST64(0x20002000,0x20202000), CONST64(0x20002020,0x20202000), CONST64(0x20002000,0x20202020), CONST64(0x20002020,0x20202020),
753  CONST64(0x20200000,0x20200000), CONST64(0x20200020,0x20200000), CONST64(0x20200000,0x20200020), CONST64(0x20200020,0x20200020),
754  CONST64(0x20202000,0x20200000), CONST64(0x20202020,0x20200000), CONST64(0x20202000,0x20200020), CONST64(0x20202020,0x20200020),
755  CONST64(0x20200000,0x20202000), CONST64(0x20200020,0x20202000), CONST64(0x20200000,0x20202020), CONST64(0x20200020,0x20202020),
756  CONST64(0x20202000,0x20202000), CONST64(0x20202020,0x20202000), CONST64(0x20202000,0x20202020), CONST64(0x20202020,0x20202020)
757  }};
758 
759 static const ulong64 des_fp[8][256] = {
760 
761 { CONST64(0x00000000,0x00000000), CONST64(0x00000080,0x00000000), CONST64(0x00000000,0x02000000), CONST64(0x00000080,0x02000000),
762  CONST64(0x00000000,0x00020000), CONST64(0x00000080,0x00020000), CONST64(0x00000000,0x02020000), CONST64(0x00000080,0x02020000),
763  CONST64(0x00000000,0x00000200), CONST64(0x00000080,0x00000200), CONST64(0x00000000,0x02000200), CONST64(0x00000080,0x02000200),
764  CONST64(0x00000000,0x00020200), CONST64(0x00000080,0x00020200), CONST64(0x00000000,0x02020200), CONST64(0x00000080,0x02020200),
765  CONST64(0x00000000,0x00000002), CONST64(0x00000080,0x00000002), CONST64(0x00000000,0x02000002), CONST64(0x00000080,0x02000002),
766  CONST64(0x00000000,0x00020002), CONST64(0x00000080,0x00020002), CONST64(0x00000000,0x02020002), CONST64(0x00000080,0x02020002),
767  CONST64(0x00000000,0x00000202), CONST64(0x00000080,0x00000202), CONST64(0x00000000,0x02000202), CONST64(0x00000080,0x02000202),
768  CONST64(0x00000000,0x00020202), CONST64(0x00000080,0x00020202), CONST64(0x00000000,0x02020202), CONST64(0x00000080,0x02020202),
769  CONST64(0x02000000,0x00000000), CONST64(0x02000080,0x00000000), CONST64(0x02000000,0x02000000), CONST64(0x02000080,0x02000000),
770  CONST64(0x02000000,0x00020000), CONST64(0x02000080,0x00020000), CONST64(0x02000000,0x02020000), CONST64(0x02000080,0x02020000),
771  CONST64(0x02000000,0x00000200), CONST64(0x02000080,0x00000200), CONST64(0x02000000,0x02000200), CONST64(0x02000080,0x02000200),
772  CONST64(0x02000000,0x00020200), CONST64(0x02000080,0x00020200), CONST64(0x02000000,0x02020200), CONST64(0x02000080,0x02020200),
773  CONST64(0x02000000,0x00000002), CONST64(0x02000080,0x00000002), CONST64(0x02000000,0x02000002), CONST64(0x02000080,0x02000002),
774  CONST64(0x02000000,0x00020002), CONST64(0x02000080,0x00020002), CONST64(0x02000000,0x02020002), CONST64(0x02000080,0x02020002),
775  CONST64(0x02000000,0x00000202), CONST64(0x02000080,0x00000202), CONST64(0x02000000,0x02000202), CONST64(0x02000080,0x02000202),
776  CONST64(0x02000000,0x00020202), CONST64(0x02000080,0x00020202), CONST64(0x02000000,0x02020202), CONST64(0x02000080,0x02020202),
777  CONST64(0x00020000,0x00000000), CONST64(0x00020080,0x00000000), CONST64(0x00020000,0x02000000), CONST64(0x00020080,0x02000000),
778  CONST64(0x00020000,0x00020000), CONST64(0x00020080,0x00020000), CONST64(0x00020000,0x02020000), CONST64(0x00020080,0x02020000),
779  CONST64(0x00020000,0x00000200), CONST64(0x00020080,0x00000200), CONST64(0x00020000,0x02000200), CONST64(0x00020080,0x02000200),
780  CONST64(0x00020000,0x00020200), CONST64(0x00020080,0x00020200), CONST64(0x00020000,0x02020200), CONST64(0x00020080,0x02020200),
781  CONST64(0x00020000,0x00000002), CONST64(0x00020080,0x00000002), CONST64(0x00020000,0x02000002), CONST64(0x00020080,0x02000002),
782  CONST64(0x00020000,0x00020002), CONST64(0x00020080,0x00020002), CONST64(0x00020000,0x02020002), CONST64(0x00020080,0x02020002),
783  CONST64(0x00020000,0x00000202), CONST64(0x00020080,0x00000202), CONST64(0x00020000,0x02000202), CONST64(0x00020080,0x02000202),
784  CONST64(0x00020000,0x00020202), CONST64(0x00020080,0x00020202), CONST64(0x00020000,0x02020202), CONST64(0x00020080,0x02020202),
785  CONST64(0x02020000,0x00000000), CONST64(0x02020080,0x00000000), CONST64(0x02020000,0x02000000), CONST64(0x02020080,0x02000000),
786  CONST64(0x02020000,0x00020000), CONST64(0x02020080,0x00020000), CONST64(0x02020000,0x02020000), CONST64(0x02020080,0x02020000),
787  CONST64(0x02020000,0x00000200), CONST64(0x02020080,0x00000200), CONST64(0x02020000,0x02000200), CONST64(0x02020080,0x02000200),
788  CONST64(0x02020000,0x00020200), CONST64(0x02020080,0x00020200), CONST64(0x02020000,0x02020200), CONST64(0x02020080,0x02020200),
789  CONST64(0x02020000,0x00000002), CONST64(0x02020080,0x00000002), CONST64(0x02020000,0x02000002), CONST64(0x02020080,0x02000002),
790  CONST64(0x02020000,0x00020002), CONST64(0x02020080,0x00020002), CONST64(0x02020000,0x02020002), CONST64(0x02020080,0x02020002),
791  CONST64(0x02020000,0x00000202), CONST64(0x02020080,0x00000202), CONST64(0x02020000,0x02000202), CONST64(0x02020080,0x02000202),
792  CONST64(0x02020000,0x00020202), CONST64(0x02020080,0x00020202), CONST64(0x02020000,0x02020202), CONST64(0x02020080,0x02020202),
793  CONST64(0x00000200,0x00000000), CONST64(0x00000280,0x00000000), CONST64(0x00000200,0x02000000), CONST64(0x00000280,0x02000000),
794  CONST64(0x00000200,0x00020000), CONST64(0x00000280,0x00020000), CONST64(0x00000200,0x02020000), CONST64(0x00000280,0x02020000),
795  CONST64(0x00000200,0x00000200), CONST64(0x00000280,0x00000200), CONST64(0x00000200,0x02000200), CONST64(0x00000280,0x02000200),
796  CONST64(0x00000200,0x00020200), CONST64(0x00000280,0x00020200), CONST64(0x00000200,0x02020200), CONST64(0x00000280,0x02020200),
797  CONST64(0x00000200,0x00000002), CONST64(0x00000280,0x00000002), CONST64(0x00000200,0x02000002), CONST64(0x00000280,0x02000002),
798  CONST64(0x00000200,0x00020002), CONST64(0x00000280,0x00020002), CONST64(0x00000200,0x02020002), CONST64(0x00000280,0x02020002),
799  CONST64(0x00000200,0x00000202), CONST64(0x00000280,0x00000202), CONST64(0x00000200,0x02000202), CONST64(0x00000280,0x02000202),
800  CONST64(0x00000200,0x00020202), CONST64(0x00000280,0x00020202), CONST64(0x00000200,0x02020202), CONST64(0x00000280,0x02020202),
801  CONST64(0x02000200,0x00000000), CONST64(0x02000280,0x00000000), CONST64(0x02000200,0x02000000), CONST64(0x02000280,0x02000000),
802  CONST64(0x02000200,0x00020000), CONST64(0x02000280,0x00020000), CONST64(0x02000200,0x02020000), CONST64(0x02000280,0x02020000),
803  CONST64(0x02000200,0x00000200), CONST64(0x02000280,0x00000200), CONST64(0x02000200,0x02000200), CONST64(0x02000280,0x02000200),
804  CONST64(0x02000200,0x00020200), CONST64(0x02000280,0x00020200), CONST64(0x02000200,0x02020200), CONST64(0x02000280,0x02020200),
805  CONST64(0x02000200,0x00000002), CONST64(0x02000280,0x00000002), CONST64(0x02000200,0x02000002), CONST64(0x02000280,0x02000002),
806  CONST64(0x02000200,0x00020002), CONST64(0x02000280,0x00020002), CONST64(0x02000200,0x02020002), CONST64(0x02000280,0x02020002),
807  CONST64(0x02000200,0x00000202), CONST64(0x02000280,0x00000202), CONST64(0x02000200,0x02000202), CONST64(0x02000280,0x02000202),
808  CONST64(0x02000200,0x00020202), CONST64(0x02000280,0x00020202), CONST64(0x02000200,0x02020202), CONST64(0x02000280,0x02020202),
809  CONST64(0x00020200,0x00000000), CONST64(0x00020280,0x00000000), CONST64(0x00020200,0x02000000), CONST64(0x00020280,0x02000000),
810  CONST64(0x00020200,0x00020000), CONST64(0x00020280,0x00020000), CONST64(0x00020200,0x02020000), CONST64(0x00020280,0x02020000),
811  CONST64(0x00020200,0x00000200), CONST64(0x00020280,0x00000200), CONST64(0x00020200,0x02000200), CONST64(0x00020280,0x02000200),
812  CONST64(0x00020200,0x00020200), CONST64(0x00020280,0x00020200), CONST64(0x00020200,0x02020200), CONST64(0x00020280,0x02020200),
813  CONST64(0x00020200,0x00000002), CONST64(0x00020280,0x00000002), CONST64(0x00020200,0x02000002), CONST64(0x00020280,0x02000002),
814  CONST64(0x00020200,0x00020002), CONST64(0x00020280,0x00020002), CONST64(0x00020200,0x02020002), CONST64(0x00020280,0x02020002),
815  CONST64(0x00020200,0x00000202), CONST64(0x00020280,0x00000202), CONST64(0x00020200,0x02000202), CONST64(0x00020280,0x02000202),
816  CONST64(0x00020200,0x00020202), CONST64(0x00020280,0x00020202), CONST64(0x00020200,0x02020202), CONST64(0x00020280,0x02020202),
817  CONST64(0x02020200,0x00000000), CONST64(0x02020280,0x00000000), CONST64(0x02020200,0x02000000), CONST64(0x02020280,0x02000000),
818  CONST64(0x02020200,0x00020000), CONST64(0x02020280,0x00020000), CONST64(0x02020200,0x02020000), CONST64(0x02020280,0x02020000),
819  CONST64(0x02020200,0x00000200), CONST64(0x02020280,0x00000200), CONST64(0x02020200,0x02000200), CONST64(0x02020280,0x02000200),
820  CONST64(0x02020200,0x00020200), CONST64(0x02020280,0x00020200), CONST64(0x02020200,0x02020200), CONST64(0x02020280,0x02020200),
821  CONST64(0x02020200,0x00000002), CONST64(0x02020280,0x00000002), CONST64(0x02020200,0x02000002), CONST64(0x02020280,0x02000002),
822  CONST64(0x02020200,0x00020002), CONST64(0x02020280,0x00020002), CONST64(0x02020200,0x02020002), CONST64(0x02020280,0x02020002),
823  CONST64(0x02020200,0x00000202), CONST64(0x02020280,0x00000202), CONST64(0x02020200,0x02000202), CONST64(0x02020280,0x02000202),
824  CONST64(0x02020200,0x00020202), CONST64(0x02020280,0x00020202), CONST64(0x02020200,0x02020202), CONST64(0x02020280,0x02020202)
825  },
826 { CONST64(0x00000000,0x00000000), CONST64(0x00000002,0x00000000), CONST64(0x00000000,0x08000000), CONST64(0x00000002,0x08000000),
827  CONST64(0x00000000,0x00080000), CONST64(0x00000002,0x00080000), CONST64(0x00000000,0x08080000), CONST64(0x00000002,0x08080000),
828  CONST64(0x00000000,0x00000800), CONST64(0x00000002,0x00000800), CONST64(0x00000000,0x08000800), CONST64(0x00000002,0x08000800),
829  CONST64(0x00000000,0x00080800), CONST64(0x00000002,0x00080800), CONST64(0x00000000,0x08080800), CONST64(0x00000002,0x08080800),
830  CONST64(0x00000000,0x00000008), CONST64(0x00000002,0x00000008), CONST64(0x00000000,0x08000008), CONST64(0x00000002,0x08000008),
831  CONST64(0x00000000,0x00080008), CONST64(0x00000002,0x00080008), CONST64(0x00000000,0x08080008), CONST64(0x00000002,0x08080008),
832  CONST64(0x00000000,0x00000808), CONST64(0x00000002,0x00000808), CONST64(0x00000000,0x08000808), CONST64(0x00000002,0x08000808),
833  CONST64(0x00000000,0x00080808), CONST64(0x00000002,0x00080808), CONST64(0x00000000,0x08080808), CONST64(0x00000002,0x08080808),
834  CONST64(0x08000000,0x00000000), CONST64(0x08000002,0x00000000), CONST64(0x08000000,0x08000000), CONST64(0x08000002,0x08000000),
835  CONST64(0x08000000,0x00080000), CONST64(0x08000002,0x00080000), CONST64(0x08000000,0x08080000), CONST64(0x08000002,0x08080000),
836  CONST64(0x08000000,0x00000800), CONST64(0x08000002,0x00000800), CONST64(0x08000000,0x08000800), CONST64(0x08000002,0x08000800),
837  CONST64(0x08000000,0x00080800), CONST64(0x08000002,0x00080800), CONST64(0x08000000,0x08080800), CONST64(0x08000002,0x08080800),
838  CONST64(0x08000000,0x00000008), CONST64(0x08000002,0x00000008), CONST64(0x08000000,0x08000008), CONST64(0x08000002,0x08000008),
839  CONST64(0x08000000,0x00080008), CONST64(0x08000002,0x00080008), CONST64(0x08000000,0x08080008), CONST64(0x08000002,0x08080008),
840  CONST64(0x08000000,0x00000808), CONST64(0x08000002,0x00000808), CONST64(0x08000000,0x08000808), CONST64(0x08000002,0x08000808),
841  CONST64(0x08000000,0x00080808), CONST64(0x08000002,0x00080808), CONST64(0x08000000,0x08080808), CONST64(0x08000002,0x08080808),
842  CONST64(0x00080000,0x00000000), CONST64(0x00080002,0x00000000), CONST64(0x00080000,0x08000000), CONST64(0x00080002,0x08000000),
843  CONST64(0x00080000,0x00080000), CONST64(0x00080002,0x00080000), CONST64(0x00080000,0x08080000), CONST64(0x00080002,0x08080000),
844  CONST64(0x00080000,0x00000800), CONST64(0x00080002,0x00000800), CONST64(0x00080000,0x08000800), CONST64(0x00080002,0x08000800),
845  CONST64(0x00080000,0x00080800), CONST64(0x00080002,0x00080800), CONST64(0x00080000,0x08080800), CONST64(0x00080002,0x08080800),
846  CONST64(0x00080000,0x00000008), CONST64(0x00080002,0x00000008), CONST64(0x00080000,0x08000008), CONST64(0x00080002,0x08000008),
847  CONST64(0x00080000,0x00080008), CONST64(0x00080002,0x00080008), CONST64(0x00080000,0x08080008), CONST64(0x00080002,0x08080008),
848  CONST64(0x00080000,0x00000808), CONST64(0x00080002,0x00000808), CONST64(0x00080000,0x08000808), CONST64(0x00080002,0x08000808),
849  CONST64(0x00080000,0x00080808), CONST64(0x00080002,0x00080808), CONST64(0x00080000,0x08080808), CONST64(0x00080002,0x08080808),
850  CONST64(0x08080000,0x00000000), CONST64(0x08080002,0x00000000), CONST64(0x08080000,0x08000000), CONST64(0x08080002,0x08000000),
851  CONST64(0x08080000,0x00080000), CONST64(0x08080002,0x00080000), CONST64(0x08080000,0x08080000), CONST64(0x08080002,0x08080000),
852  CONST64(0x08080000,0x00000800), CONST64(0x08080002,0x00000800), CONST64(0x08080000,0x08000800), CONST64(0x08080002,0x08000800),
853  CONST64(0x08080000,0x00080800), CONST64(0x08080002,0x00080800), CONST64(0x08080000,0x08080800), CONST64(0x08080002,0x08080800),
854  CONST64(0x08080000,0x00000008), CONST64(0x08080002,0x00000008), CONST64(0x08080000,0x08000008), CONST64(0x08080002,0x08000008),
855  CONST64(0x08080000,0x00080008), CONST64(0x08080002,0x00080008), CONST64(0x08080000,0x08080008), CONST64(0x08080002,0x08080008),
856  CONST64(0x08080000,0x00000808), CONST64(0x08080002,0x00000808), CONST64(0x08080000,0x08000808), CONST64(0x08080002,0x08000808),
857  CONST64(0x08080000,0x00080808), CONST64(0x08080002,0x00080808), CONST64(0x08080000,0x08080808), CONST64(0x08080002,0x08080808),
858  CONST64(0x00000800,0x00000000), CONST64(0x00000802,0x00000000), CONST64(0x00000800,0x08000000), CONST64(0x00000802,0x08000000),
859  CONST64(0x00000800,0x00080000), CONST64(0x00000802,0x00080000), CONST64(0x00000800,0x08080000), CONST64(0x00000802,0x08080000),
860  CONST64(0x00000800,0x00000800), CONST64(0x00000802,0x00000800), CONST64(0x00000800,0x08000800), CONST64(0x00000802,0x08000800),
861  CONST64(0x00000800,0x00080800), CONST64(0x00000802,0x00080800), CONST64(0x00000800,0x08080800), CONST64(0x00000802,0x08080800),
862  CONST64(0x00000800,0x00000008), CONST64(0x00000802,0x00000008), CONST64(0x00000800,0x08000008), CONST64(0x00000802,0x08000008),
863  CONST64(0x00000800,0x00080008), CONST64(0x00000802,0x00080008), CONST64(0x00000800,0x08080008), CONST64(0x00000802,0x08080008),
864  CONST64(0x00000800,0x00000808), CONST64(0x00000802,0x00000808), CONST64(0x00000800,0x08000808), CONST64(0x00000802,0x08000808),
865  CONST64(0x00000800,0x00080808), CONST64(0x00000802,0x00080808), CONST64(0x00000800,0x08080808), CONST64(0x00000802,0x08080808),
866  CONST64(0x08000800,0x00000000), CONST64(0x08000802,0x00000000), CONST64(0x08000800,0x08000000), CONST64(0x08000802,0x08000000),
867  CONST64(0x08000800,0x00080000), CONST64(0x08000802,0x00080000), CONST64(0x08000800,0x08080000), CONST64(0x08000802,0x08080000),
868  CONST64(0x08000800,0x00000800), CONST64(0x08000802,0x00000800), CONST64(0x08000800,0x08000800), CONST64(0x08000802,0x08000800),
869  CONST64(0x08000800,0x00080800), CONST64(0x08000802,0x00080800), CONST64(0x08000800,0x08080800), CONST64(0x08000802,0x08080800),
870  CONST64(0x08000800,0x00000008), CONST64(0x08000802,0x00000008), CONST64(0x08000800,0x08000008), CONST64(0x08000802,0x08000008),
871  CONST64(0x08000800,0x00080008), CONST64(0x08000802,0x00080008), CONST64(0x08000800,0x08080008), CONST64(0x08000802,0x08080008),
872  CONST64(0x08000800,0x00000808), CONST64(0x08000802,0x00000808), CONST64(0x08000800,0x08000808), CONST64(0x08000802,0x08000808),
873  CONST64(0x08000800,0x00080808), CONST64(0x08000802,0x00080808), CONST64(0x08000800,0x08080808), CONST64(0x08000802,0x08080808),
874  CONST64(0x00080800,0x00000000), CONST64(0x00080802,0x00000000), CONST64(0x00080800,0x08000000), CONST64(0x00080802,0x08000000),
875  CONST64(0x00080800,0x00080000), CONST64(0x00080802,0x00080000), CONST64(0x00080800,0x08080000), CONST64(0x00080802,0x08080000),
876  CONST64(0x00080800,0x00000800), CONST64(0x00080802,0x00000800), CONST64(0x00080800,0x08000800), CONST64(0x00080802,0x08000800),
877  CONST64(0x00080800,0x00080800), CONST64(0x00080802,0x00080800), CONST64(0x00080800,0x08080800), CONST64(0x00080802,0x08080800),
878  CONST64(0x00080800,0x00000008), CONST64(0x00080802,0x00000008), CONST64(0x00080800,0x08000008), CONST64(0x00080802,0x08000008),
879  CONST64(0x00080800,0x00080008), CONST64(0x00080802,0x00080008), CONST64(0x00080800,0x08080008), CONST64(0x00080802,0x08080008),
880  CONST64(0x00080800,0x00000808), CONST64(0x00080802,0x00000808), CONST64(0x00080800,0x08000808), CONST64(0x00080802,0x08000808),
881  CONST64(0x00080800,0x00080808), CONST64(0x00080802,0x00080808), CONST64(0x00080800,0x08080808), CONST64(0x00080802,0x08080808),
882  CONST64(0x08080800,0x00000000), CONST64(0x08080802,0x00000000), CONST64(0x08080800,0x08000000), CONST64(0x08080802,0x08000000),
883  CONST64(0x08080800,0x00080000), CONST64(0x08080802,0x00080000), CONST64(0x08080800,0x08080000), CONST64(0x08080802,0x08080000),
884  CONST64(0x08080800,0x00000800), CONST64(0x08080802,0x00000800), CONST64(0x08080800,0x08000800), CONST64(0x08080802,0x08000800),
885  CONST64(0x08080800,0x00080800), CONST64(0x08080802,0x00080800), CONST64(0x08080800,0x08080800), CONST64(0x08080802,0x08080800),
886  CONST64(0x08080800,0x00000008), CONST64(0x08080802,0x00000008), CONST64(0x08080800,0x08000008), CONST64(0x08080802,0x08000008),
887  CONST64(0x08080800,0x00080008), CONST64(0x08080802,0x00080008), CONST64(0x08080800,0x08080008), CONST64(0x08080802,0x08080008),
888  CONST64(0x08080800,0x00000808), CONST64(0x08080802,0x00000808), CONST64(0x08080800,0x08000808), CONST64(0x08080802,0x08000808),
889  CONST64(0x08080800,0x00080808), CONST64(0x08080802,0x00080808), CONST64(0x08080800,0x08080808), CONST64(0x08080802,0x08080808)
890  },
891 { CONST64(0x00000000,0x00000000), CONST64(0x00000008,0x00000000), CONST64(0x00000000,0x20000000), CONST64(0x00000008,0x20000000),
892  CONST64(0x00000000,0x00200000), CONST64(0x00000008,0x00200000), CONST64(0x00000000,0x20200000), CONST64(0x00000008,0x20200000),
893  CONST64(0x00000000,0x00002000), CONST64(0x00000008,0x00002000), CONST64(0x00000000,0x20002000), CONST64(0x00000008,0x20002000),
894  CONST64(0x00000000,0x00202000), CONST64(0x00000008,0x00202000), CONST64(0x00000000,0x20202000), CONST64(0x00000008,0x20202000),
895  CONST64(0x00000000,0x00000020), CONST64(0x00000008,0x00000020), CONST64(0x00000000,0x20000020), CONST64(0x00000008,0x20000020),
896  CONST64(0x00000000,0x00200020), CONST64(0x00000008,0x00200020), CONST64(0x00000000,0x20200020), CONST64(0x00000008,0x20200020),
897  CONST64(0x00000000,0x00002020), CONST64(0x00000008,0x00002020), CONST64(0x00000000,0x20002020), CONST64(0x00000008,0x20002020),
898  CONST64(0x00000000,0x00202020), CONST64(0x00000008,0x00202020), CONST64(0x00000000,0x20202020), CONST64(0x00000008,0x20202020),
899  CONST64(0x20000000,0x00000000), CONST64(0x20000008,0x00000000), CONST64(0x20000000,0x20000000), CONST64(0x20000008,0x20000000),
900  CONST64(0x20000000,0x00200000), CONST64(0x20000008,0x00200000), CONST64(0x20000000,0x20200000), CONST64(0x20000008,0x20200000),
901  CONST64(0x20000000,0x00002000), CONST64(0x20000008,0x00002000), CONST64(0x20000000,0x20002000), CONST64(0x20000008,0x20002000),
902  CONST64(0x20000000,0x00202000), CONST64(0x20000008,0x00202000), CONST64(0x20000000,0x20202000), CONST64(0x20000008,0x20202000),
903  CONST64(0x20000000,0x00000020), CONST64(0x20000008,0x00000020), CONST64(0x20000000,0x20000020), CONST64(0x20000008,0x20000020),
904  CONST64(0x20000000,0x00200020), CONST64(0x20000008,0x00200020), CONST64(0x20000000,0x20200020), CONST64(0x20000008,0x20200020),
905  CONST64(0x20000000,0x00002020), CONST64(0x20000008,0x00002020), CONST64(0x20000000,0x20002020), CONST64(0x20000008,0x20002020),
906  CONST64(0x20000000,0x00202020), CONST64(0x20000008,0x00202020), CONST64(0x20000000,0x20202020), CONST64(0x20000008,0x20202020),
907  CONST64(0x00200000,0x00000000), CONST64(0x00200008,0x00000000), CONST64(0x00200000,0x20000000), CONST64(0x00200008,0x20000000),
908  CONST64(0x00200000,0x00200000), CONST64(0x00200008,0x00200000), CONST64(0x00200000,0x20200000), CONST64(0x00200008,0x20200000),
909  CONST64(0x00200000,0x00002000), CONST64(0x00200008,0x00002000), CONST64(0x00200000,0x20002000), CONST64(0x00200008,0x20002000),
910  CONST64(0x00200000,0x00202000), CONST64(0x00200008,0x00202000), CONST64(0x00200000,0x20202000), CONST64(0x00200008,0x20202000),
911  CONST64(0x00200000,0x00000020), CONST64(0x00200008,0x00000020), CONST64(0x00200000,0x20000020), CONST64(0x00200008,0x20000020),
912  CONST64(0x00200000,0x00200020), CONST64(0x00200008,0x00200020), CONST64(0x00200000,0x20200020), CONST64(0x00200008,0x20200020),
913  CONST64(0x00200000,0x00002020), CONST64(0x00200008,0x00002020), CONST64(0x00200000,0x20002020), CONST64(0x00200008,0x20002020),
914  CONST64(0x00200000,0x00202020), CONST64(0x00200008,0x00202020), CONST64(0x00200000,0x20202020), CONST64(0x00200008,0x20202020),
915  CONST64(0x20200000,0x00000000), CONST64(0x20200008,0x00000000), CONST64(0x20200000,0x20000000), CONST64(0x20200008,0x20000000),
916  CONST64(0x20200000,0x00200000), CONST64(0x20200008,0x00200000), CONST64(0x20200000,0x20200000), CONST64(0x20200008,0x20200000),
917  CONST64(0x20200000,0x00002000), CONST64(0x20200008,0x00002000), CONST64(0x20200000,0x20002000), CONST64(0x20200008,0x20002000),
918  CONST64(0x20200000,0x00202000), CONST64(0x20200008,0x00202000), CONST64(0x20200000,0x20202000), CONST64(0x20200008,0x20202000),
919  CONST64(0x20200000,0x00000020), CONST64(0x20200008,0x00000020), CONST64(0x20200000,0x20000020), CONST64(0x20200008,0x20000020),
920  CONST64(0x20200000,0x00200020), CONST64(0x20200008,0x00200020), CONST64(0x20200000,0x20200020), CONST64(0x20200008,0x20200020),
921  CONST64(0x20200000,0x00002020), CONST64(0x20200008,0x00002020), CONST64(0x20200000,0x20002020), CONST64(0x20200008,0x20002020),
922  CONST64(0x20200000,0x00202020), CONST64(0x20200008,0x00202020), CONST64(0x20200000,0x20202020), CONST64(0x20200008,0x20202020),
923  CONST64(0x00002000,0x00000000), CONST64(0x00002008,0x00000000), CONST64(0x00002000,0x20000000), CONST64(0x00002008,0x20000000),
924  CONST64(0x00002000,0x00200000), CONST64(0x00002008,0x00200000), CONST64(0x00002000,0x20200000), CONST64(0x00002008,0x20200000),
925  CONST64(0x00002000,0x00002000), CONST64(0x00002008,0x00002000), CONST64(0x00002000,0x20002000), CONST64(0x00002008,0x20002000),
926  CONST64(0x00002000,0x00202000), CONST64(0x00002008,0x00202000), CONST64(0x00002000,0x20202000), CONST64(0x00002008,0x20202000),
927  CONST64(0x00002000,0x00000020), CONST64(0x00002008,0x00000020), CONST64(0x00002000,0x20000020), CONST64(0x00002008,0x20000020),
928  CONST64(0x00002000,0x00200020), CONST64(0x00002008,0x00200020), CONST64(0x00002000,0x20200020), CONST64(0x00002008,0x20200020),
929  CONST64(0x00002000,0x00002020), CONST64(0x00002008,0x00002020), CONST64(0x00002000,0x20002020), CONST64(0x00002008,0x20002020),
930  CONST64(0x00002000,0x00202020), CONST64(0x00002008,0x00202020), CONST64(0x00002000,0x20202020), CONST64(0x00002008,0x20202020),
931  CONST64(0x20002000,0x00000000), CONST64(0x20002008,0x00000000), CONST64(0x20002000,0x20000000), CONST64(0x20002008,0x20000000),
932  CONST64(0x20002000,0x00200000), CONST64(0x20002008,0x00200000), CONST64(0x20002000,0x20200000), CONST64(0x20002008,0x20200000),
933  CONST64(0x20002000,0x00002000), CONST64(0x20002008,0x00002000), CONST64(0x20002000,0x20002000), CONST64(0x20002008,0x20002000),
934  CONST64(0x20002000,0x00202000), CONST64(0x20002008,0x00202000), CONST64(0x20002000,0x20202000), CONST64(0x20002008,0x20202000),
935  CONST64(0x20002000,0x00000020), CONST64(0x20002008,0x00000020), CONST64(0x20002000,0x20000020), CONST64(0x20002008,0x20000020),
936  CONST64(0x20002000,0x00200020), CONST64(0x20002008,0x00200020), CONST64(0x20002000,0x20200020), CONST64(0x20002008,0x20200020),
937  CONST64(0x20002000,0x00002020), CONST64(0x20002008,0x00002020), CONST64(0x20002000,0x20002020), CONST64(0x20002008,0x20002020),
938  CONST64(0x20002000,0x00202020), CONST64(0x20002008,0x00202020), CONST64(0x20002000,0x20202020), CONST64(0x20002008,0x20202020),
939  CONST64(0x00202000,0x00000000), CONST64(0x00202008,0x00000000), CONST64(0x00202000,0x20000000), CONST64(0x00202008,0x20000000),
940  CONST64(0x00202000,0x00200000), CONST64(0x00202008,0x00200000), CONST64(0x00202000,0x20200000), CONST64(0x00202008,0x20200000),
941  CONST64(0x00202000,0x00002000), CONST64(0x00202008,0x00002000), CONST64(0x00202000,0x20002000), CONST64(0x00202008,0x20002000),
942  CONST64(0x00202000,0x00202000), CONST64(0x00202008,0x00202000), CONST64(0x00202000,0x20202000), CONST64(0x00202008,0x20202000),
943  CONST64(0x00202000,0x00000020), CONST64(0x00202008,0x00000020), CONST64(0x00202000,0x20000020), CONST64(0x00202008,0x20000020),
944  CONST64(0x00202000,0x00200020), CONST64(0x00202008,0x00200020), CONST64(0x00202000,0x20200020), CONST64(0x00202008,0x20200020),
945  CONST64(0x00202000,0x00002020), CONST64(0x00202008,0x00002020), CONST64(0x00202000,0x20002020), CONST64(0x00202008,0x20002020),
946  CONST64(0x00202000,0x00202020), CONST64(0x00202008,0x00202020), CONST64(0x00202000,0x20202020), CONST64(0x00202008,0x20202020),
947  CONST64(0x20202000,0x00000000), CONST64(0x20202008,0x00000000), CONST64(0x20202000,0x20000000), CONST64(0x20202008,0x20000000),
948  CONST64(0x20202000,0x00200000), CONST64(0x20202008,0x00200000), CONST64(0x20202000,0x20200000), CONST64(0x20202008,0x20200000),
949  CONST64(0x20202000,0x00002000), CONST64(0x20202008,0x00002000), CONST64(0x20202000,0x20002000), CONST64(0x20202008,0x20002000),
950  CONST64(0x20202000,0x00202000), CONST64(0x20202008,0x00202000), CONST64(0x20202000,0x20202000), CONST64(0x20202008,0x20202000),
951  CONST64(0x20202000,0x00000020), CONST64(0x20202008,0x00000020), CONST64(0x20202000,0x20000020), CONST64(0x20202008,0x20000020),
952  CONST64(0x20202000,0x00200020), CONST64(0x20202008,0x00200020), CONST64(0x20202000,0x20200020), CONST64(0x20202008,0x20200020),
953  CONST64(0x20202000,0x00002020), CONST64(0x20202008,0x00002020), CONST64(0x20202000,0x20002020), CONST64(0x20202008,0x20002020),
954  CONST64(0x20202000,0x00202020), CONST64(0x20202008,0x00202020), CONST64(0x20202000,0x20202020), CONST64(0x20202008,0x20202020)
955  },
956 { CONST64(0x00000000,0x00000000), CONST64(0x00000020,0x00000000), CONST64(0x00000000,0x80000000), CONST64(0x00000020,0x80000000),
957  CONST64(0x00000000,0x00800000), CONST64(0x00000020,0x00800000), CONST64(0x00000000,0x80800000), CONST64(0x00000020,0x80800000),
958  CONST64(0x00000000,0x00008000), CONST64(0x00000020,0x00008000), CONST64(0x00000000,0x80008000), CONST64(0x00000020,0x80008000),
959  CONST64(0x00000000,0x00808000), CONST64(0x00000020,0x00808000), CONST64(0x00000000,0x80808000), CONST64(0x00000020,0x80808000),
960  CONST64(0x00000000,0x00000080), CONST64(0x00000020,0x00000080), CONST64(0x00000000,0x80000080), CONST64(0x00000020,0x80000080),
961  CONST64(0x00000000,0x00800080), CONST64(0x00000020,0x00800080), CONST64(0x00000000,0x80800080), CONST64(0x00000020,0x80800080),
962  CONST64(0x00000000,0x00008080), CONST64(0x00000020,0x00008080), CONST64(0x00000000,0x80008080), CONST64(0x00000020,0x80008080),
963  CONST64(0x00000000,0x00808080), CONST64(0x00000020,0x00808080), CONST64(0x00000000,0x80808080), CONST64(0x00000020,0x80808080),
964  CONST64(0x80000000,0x00000000), CONST64(0x80000020,0x00000000), CONST64(0x80000000,0x80000000), CONST64(0x80000020,0x80000000),
965  CONST64(0x80000000,0x00800000), CONST64(0x80000020,0x00800000), CONST64(0x80000000,0x80800000), CONST64(0x80000020,0x80800000),
966  CONST64(0x80000000,0x00008000), CONST64(0x80000020,0x00008000), CONST64(0x80000000,0x80008000), CONST64(0x80000020,0x80008000),
967  CONST64(0x80000000,0x00808000), CONST64(0x80000020,0x00808000), CONST64(0x80000000,0x80808000), CONST64(0x80000020,0x80808000),
968  CONST64(0x80000000,0x00000080), CONST64(0x80000020,0x00000080), CONST64(0x80000000,0x80000080), CONST64(0x80000020,0x80000080),
969  CONST64(0x80000000,0x00800080), CONST64(0x80000020,0x00800080), CONST64(0x80000000,0x80800080), CONST64(0x80000020,0x80800080),
970  CONST64(0x80000000,0x00008080), CONST64(0x80000020,0x00008080), CONST64(0x80000000,0x80008080), CONST64(0x80000020,0x80008080),
971  CONST64(0x80000000,0x00808080), CONST64(0x80000020,0x00808080), CONST64(0x80000000,0x80808080), CONST64(0x80000020,0x80808080),
972  CONST64(0x00800000,0x00000000), CONST64(0x00800020,0x00000000), CONST64(0x00800000,0x80000000), CONST64(0x00800020,0x80000000),
973  CONST64(0x00800000,0x00800000), CONST64(0x00800020,0x00800000), CONST64(0x00800000,0x80800000), CONST64(0x00800020,0x80800000),
974  CONST64(0x00800000,0x00008000), CONST64(0x00800020,0x00008000), CONST64(0x00800000,0x80008000), CONST64(0x00800020,0x80008000),
975  CONST64(0x00800000,0x00808000), CONST64(0x00800020,0x00808000), CONST64(0x00800000,0x80808000), CONST64(0x00800020,0x80808000),
976  CONST64(0x00800000,0x00000080), CONST64(0x00800020,0x00000080), CONST64(0x00800000,0x80000080), CONST64(0x00800020,0x80000080),
977  CONST64(0x00800000,0x00800080), CONST64(0x00800020,0x00800080), CONST64(0x00800000,0x80800080), CONST64(0x00800020,0x80800080),
978  CONST64(0x00800000,0x00008080), CONST64(0x00800020,0x00008080), CONST64(0x00800000,0x80008080), CONST64(0x00800020,0x80008080),
979  CONST64(0x00800000,0x00808080), CONST64(0x00800020,0x00808080), CONST64(0x00800000,0x80808080), CONST64(0x00800020,0x80808080),
980  CONST64(0x80800000,0x00000000), CONST64(0x80800020,0x00000000), CONST64(0x80800000,0x80000000), CONST64(0x80800020,0x80000000),
981  CONST64(0x80800000,0x00800000), CONST64(0x80800020,0x00800000), CONST64(0x80800000,0x80800000), CONST64(0x80800020,0x80800000),
982  CONST64(0x80800000,0x00008000), CONST64(0x80800020,0x00008000), CONST64(0x80800000,0x80008000), CONST64(0x80800020,0x80008000),
983  CONST64(0x80800000,0x00808000), CONST64(0x80800020,0x00808000), CONST64(0x80800000,0x80808000), CONST64(0x80800020,0x80808000),
984  CONST64(0x80800000,0x00000080), CONST64(0x80800020,0x00000080), CONST64(0x80800000,0x80000080), CONST64(0x80800020,0x80000080),
985  CONST64(0x80800000,0x00800080), CONST64(0x80800020,0x00800080), CONST64(0x80800000,0x80800080), CONST64(0x80800020,0x80800080),
986  CONST64(0x80800000,0x00008080), CONST64(0x80800020,0x00008080), CONST64(0x80800000,0x80008080), CONST64(0x80800020,0x80008080),
987  CONST64(0x80800000,0x00808080), CONST64(0x80800020,0x00808080), CONST64(0x80800000,0x80808080), CONST64(0x80800020,0x80808080),
988  CONST64(0x00008000,0x00000000), CONST64(0x00008020,0x00000000), CONST64(0x00008000,0x80000000), CONST64(0x00008020,0x80000000),
989  CONST64(0x00008000,0x00800000), CONST64(0x00008020,0x00800000), CONST64(0x00008000,0x80800000), CONST64(0x00008020,0x80800000),
990  CONST64(0x00008000,0x00008000), CONST64(0x00008020,0x00008000), CONST64(0x00008000,0x80008000), CONST64(0x00008020,0x80008000),
991  CONST64(0x00008000,0x00808000), CONST64(0x00008020,0x00808000), CONST64(0x00008000,0x80808000), CONST64(0x00008020,0x80808000),
992  CONST64(0x00008000,0x00000080), CONST64(0x00008020,0x00000080), CONST64(0x00008000,0x80000080), CONST64(0x00008020,0x80000080),
993  CONST64(0x00008000,0x00800080), CONST64(0x00008020,0x00800080), CONST64(0x00008000,0x80800080), CONST64(0x00008020,0x80800080),
994  CONST64(0x00008000,0x00008080), CONST64(0x00008020,0x00008080), CONST64(0x00008000,0x80008080), CONST64(0x00008020,0x80008080),
995  CONST64(0x00008000,0x00808080), CONST64(0x00008020,0x00808080), CONST64(0x00008000,0x80808080), CONST64(0x00008020,0x80808080),
996  CONST64(0x80008000,0x00000000), CONST64(0x80008020,0x00000000), CONST64(0x80008000,0x80000000), CONST64(0x80008020,0x80000000),
997  CONST64(0x80008000,0x00800000), CONST64(0x80008020,0x00800000), CONST64(0x80008000,0x80800000), CONST64(0x80008020,0x80800000),
998  CONST64(0x80008000,0x00008000), CONST64(0x80008020,0x00008000), CONST64(0x80008000,0x80008000), CONST64(0x80008020,0x80008000),
999  CONST64(0x80008000,0x00808000), CONST64(0x80008020,0x00808000), CONST64(0x80008000,0x80808000), CONST64(0x80008020,0x80808000),
1000  CONST64(0x80008000,0x00000080), CONST64(0x80008020,0x00000080), CONST64(0x80008000,0x80000080), CONST64(0x80008020,0x80000080),
1001  CONST64(0x80008000,0x00800080), CONST64(0x80008020,0x00800080), CONST64(0x80008000,0x80800080), CONST64(0x80008020,0x80800080),
1002  CONST64(0x80008000,0x00008080), CONST64(0x80008020,0x00008080), CONST64(0x80008000,0x80008080), CONST64(0x80008020,0x80008080),
1003  CONST64(0x80008000,0x00808080), CONST64(0x80008020,0x00808080), CONST64(0x80008000,0x80808080), CONST64(0x80008020,0x80808080),
1004  CONST64(0x00808000,0x00000000), CONST64(0x00808020,0x00000000), CONST64(0x00808000,0x80000000), CONST64(0x00808020,0x80000000),
1005  CONST64(0x00808000,0x00800000), CONST64(0x00808020,0x00800000), CONST64(0x00808000,0x80800000), CONST64(0x00808020,0x80800000),
1006  CONST64(0x00808000,0x00008000), CONST64(0x00808020,0x00008000), CONST64(0x00808000,0x80008000), CONST64(0x00808020,0x80008000),
1007  CONST64(0x00808000,0x00808000), CONST64(0x00808020,0x00808000), CONST64(0x00808000,0x80808000), CONST64(0x00808020,0x80808000),
1008  CONST64(0x00808000,0x00000080), CONST64(0x00808020,0x00000080), CONST64(0x00808000,0x80000080), CONST64(0x00808020,0x80000080),
1009  CONST64(0x00808000,0x00800080), CONST64(0x00808020,0x00800080), CONST64(0x00808000,0x80800080), CONST64(0x00808020,0x80800080),
1010  CONST64(0x00808000,0x00008080), CONST64(0x00808020,0x00008080), CONST64(0x00808000,0x80008080), CONST64(0x00808020,0x80008080),
1011  CONST64(0x00808000,0x00808080), CONST64(0x00808020,0x00808080), CONST64(0x00808000,0x80808080), CONST64(0x00808020,0x80808080),
1012  CONST64(0x80808000,0x00000000), CONST64(0x80808020,0x00000000), CONST64(0x80808000,0x80000000), CONST64(0x80808020,0x80000000),
1013  CONST64(0x80808000,0x00800000), CONST64(0x80808020,0x00800000), CONST64(0x80808000,0x80800000), CONST64(0x80808020,0x80800000),
1014  CONST64(0x80808000,0x00008000), CONST64(0x80808020,0x00008000), CONST64(0x80808000,0x80008000), CONST64(0x80808020,0x80008000),
1015  CONST64(0x80808000,0x00808000), CONST64(0x80808020,0x00808000), CONST64(0x80808000,0x80808000), CONST64(0x80808020,0x80808000),
1016  CONST64(0x80808000,0x00000080), CONST64(0x80808020,0x00000080), CONST64(0x80808000,0x80000080), CONST64(0x80808020,0x80000080),
1017  CONST64(0x80808000,0x00800080), CONST64(0x80808020,0x00800080), CONST64(0x80808000,0x80800080), CONST64(0x80808020,0x80800080),
1018  CONST64(0x80808000,0x00008080), CONST64(0x80808020,0x00008080), CONST64(0x80808000,0x80008080), CONST64(0x80808020,0x80008080),
1019  CONST64(0x80808000,0x00808080), CONST64(0x80808020,0x00808080), CONST64(0x80808000,0x80808080), CONST64(0x80808020,0x80808080)
1020  },
1021 { CONST64(0x00000000,0x00000000), CONST64(0x00000040,0x00000000), CONST64(0x00000000,0x01000000), CONST64(0x00000040,0x01000000),
1022  CONST64(0x00000000,0x00010000), CONST64(0x00000040,0x00010000), CONST64(0x00000000,0x01010000), CONST64(0x00000040,0x01010000),
1023  CONST64(0x00000000,0x00000100), CONST64(0x00000040,0x00000100), CONST64(0x00000000,0x01000100), CONST64(0x00000040,0x01000100),
1024  CONST64(0x00000000,0x00010100), CONST64(0x00000040,0x00010100), CONST64(0x00000000,0x01010100), CONST64(0x00000040,0x01010100),
1025  CONST64(0x00000000,0x00000001), CONST64(0x00000040,0x00000001), CONST64(0x00000000,0x01000001), CONST64(0x00000040,0x01000001),
1026  CONST64(0x00000000,0x00010001), CONST64(0x00000040,0x00010001), CONST64(0x00000000,0x01010001), CONST64(0x00000040,0x01010001),
1027  CONST64(0x00000000,0x00000101), CONST64(0x00000040,0x00000101), CONST64(0x00000000,0x01000101), CONST64(0x00000040,0x01000101),
1028  CONST64(0x00000000,0x00010101), CONST64(0x00000040,0x00010101), CONST64(0x00000000,0x01010101), CONST64(0x00000040,0x01010101),
1029  CONST64(0x01000000,0x00000000), CONST64(0x01000040,0x00000000), CONST64(0x01000000,0x01000000), CONST64(0x01000040,0x01000000),
1030  CONST64(0x01000000,0x00010000), CONST64(0x01000040,0x00010000), CONST64(0x01000000,0x01010000), CONST64(0x01000040,0x01010000),
1031  CONST64(0x01000000,0x00000100), CONST64(0x01000040,0x00000100), CONST64(0x01000000,0x01000100), CONST64(0x01000040,0x01000100),
1032  CONST64(0x01000000,0x00010100), CONST64(0x01000040,0x00010100), CONST64(0x01000000,0x01010100), CONST64(0x01000040,0x01010100),
1033  CONST64(0x01000000,0x00000001), CONST64(0x01000040,0x00000001), CONST64(0x01000000,0x01000001), CONST64(0x01000040,0x01000001),
1034  CONST64(0x01000000,0x00010001), CONST64(0x01000040,0x00010001), CONST64(0x01000000,0x01010001), CONST64(0x01000040,0x01010001),
1035  CONST64(0x01000000,0x00000101), CONST64(0x01000040,0x00000101), CONST64(0x01000000,0x01000101), CONST64(0x01000040,0x01000101),
1036  CONST64(0x01000000,0x00010101), CONST64(0x01000040,0x00010101), CONST64(0x01000000,0x01010101), CONST64(0x01000040,0x01010101),
1037  CONST64(0x00010000,0x00000000), CONST64(0x00010040,0x00000000), CONST64(0x00010000,0x01000000), CONST64(0x00010040,0x01000000),
1038  CONST64(0x00010000,0x00010000), CONST64(0x00010040,0x00010000), CONST64(0x00010000,0x01010000), CONST64(0x00010040,0x01010000),
1039  CONST64(0x00010000,0x00000100), CONST64(0x00010040,0x00000100), CONST64(0x00010000,0x01000100), CONST64(0x00010040,0x01000100),
1040  CONST64(0x00010000,0x00010100), CONST64(0x00010040,0x00010100), CONST64(0x00010000,0x01010100), CONST64(0x00010040,0x01010100),
1041  CONST64(0x00010000,0x00000001), CONST64(0x00010040,0x00000001), CONST64(0x00010000,0x01000001), CONST64(0x00010040,0x01000001),
1042  CONST64(0x00010000,0x00010001), CONST64(0x00010040,0x00010001), CONST64(0x00010000,0x01010001), CONST64(0x00010040,0x01010001),
1043  CONST64(0x00010000,0x00000101), CONST64(0x00010040,0x00000101), CONST64(0x00010000,0x01000101), CONST64(0x00010040,0x01000101),
1044  CONST64(0x00010000,0x00010101), CONST64(0x00010040,0x00010101), CONST64(0x00010000,0x01010101), CONST64(0x00010040,0x01010101),
1045  CONST64(0x01010000,0x00000000), CONST64(0x01010040,0x00000000), CONST64(0x01010000,0x01000000), CONST64(0x01010040,0x01000000),
1046  CONST64(0x01010000,0x00010000), CONST64(0x01010040,0x00010000), CONST64(0x01010000,0x01010000), CONST64(0x01010040,0x01010000),
1047  CONST64(0x01010000,0x00000100), CONST64(0x01010040,0x00000100), CONST64(0x01010000,0x01000100), CONST64(0x01010040,0x01000100),
1048  CONST64(0x01010000,0x00010100), CONST64(0x01010040,0x00010100), CONST64(0x01010000,0x01010100), CONST64(0x01010040,0x01010100),
1049  CONST64(0x01010000,0x00000001), CONST64(0x01010040,0x00000001), CONST64(0x01010000,0x01000001), CONST64(0x01010040,0x01000001),
1050  CONST64(0x01010000,0x00010001), CONST64(0x01010040,0x00010001), CONST64(0x01010000,0x01010001), CONST64(0x01010040,0x01010001),
1051  CONST64(0x01010000,0x00000101), CONST64(0x01010040,0x00000101), CONST64(0x01010000,0x01000101), CONST64(0x01010040,0x01000101),
1052  CONST64(0x01010000,0x00010101), CONST64(0x01010040,0x00010101), CONST64(0x01010000,0x01010101), CONST64(0x01010040,0x01010101),
1053  CONST64(0x00000100,0x00000000), CONST64(0x00000140,0x00000000), CONST64(0x00000100,0x01000000), CONST64(0x00000140,0x01000000),
1054  CONST64(0x00000100,0x00010000), CONST64(0x00000140,0x00010000), CONST64(0x00000100,0x01010000), CONST64(0x00000140,0x01010000),
1055  CONST64(0x00000100,0x00000100), CONST64(0x00000140,0x00000100), CONST64(0x00000100,0x01000100), CONST64(0x00000140,0x01000100),
1056  CONST64(0x00000100,0x00010100), CONST64(0x00000140,0x00010100), CONST64(0x00000100,0x01010100), CONST64(0x00000140,0x01010100),
1057  CONST64(0x00000100,0x00000001), CONST64(0x00000140,0x00000001), CONST64(0x00000100,0x01000001), CONST64(0x00000140,0x01000001),
1058  CONST64(0x00000100,0x00010001), CONST64(0x00000140,0x00010001), CONST64(0x00000100,0x01010001), CONST64(0x00000140,0x01010001),
1059  CONST64(0x00000100,0x00000101), CONST64(0x00000140,0x00000101), CONST64(0x00000100,0x01000101), CONST64(0x00000140,0x01000101),
1060  CONST64(0x00000100,0x00010101), CONST64(0x00000140,0x00010101), CONST64(0x00000100,0x01010101), CONST64(0x00000140,0x01010101),
1061  CONST64(0x01000100,0x00000000), CONST64(0x01000140,0x00000000), CONST64(0x01000100,0x01000000), CONST64(0x01000140,0x01000000),
1062  CONST64(0x01000100,0x00010000), CONST64(0x01000140,0x00010000), CONST64(0x01000100,0x01010000), CONST64(0x01000140,0x01010000),
1063  CONST64(0x01000100,0x00000100), CONST64(0x01000140,0x00000100), CONST64(0x01000100,0x01000100), CONST64(0x01000140,0x01000100),
1064  CONST64(0x01000100,0x00010100), CONST64(0x01000140,0x00010100), CONST64(0x01000100,0x01010100), CONST64(0x01000140,0x01010100),
1065  CONST64(0x01000100,0x00000001), CONST64(0x01000140,0x00000001), CONST64(0x01000100,0x01000001), CONST64(0x01000140,0x01000001),
1066  CONST64(0x01000100,0x00010001), CONST64(0x01000140,0x00010001), CONST64(0x01000100,0x01010001), CONST64(0x01000140,0x01010001),
1067  CONST64(0x01000100,0x00000101), CONST64(0x01000140,0x00000101), CONST64(0x01000100,0x01000101), CONST64(0x01000140,0x01000101),
1068  CONST64(0x01000100,0x00010101), CONST64(0x01000140,0x00010101), CONST64(0x01000100,0x01010101), CONST64(0x01000140,0x01010101),
1069  CONST64(0x00010100,0x00000000), CONST64(0x00010140,0x00000000), CONST64(0x00010100,0x01000000), CONST64(0x00010140,0x01000000),
1070  CONST64(0x00010100,0x00010000), CONST64(0x00010140,0x00010000), CONST64(0x00010100,0x01010000), CONST64(0x00010140,0x01010000),
1071  CONST64(0x00010100,0x00000100), CONST64(0x00010140,0x00000100), CONST64(0x00010100,0x01000100), CONST64(0x00010140,0x01000100),
1072  CONST64(0x00010100,0x00010100), CONST64(0x00010140,0x00010100), CONST64(0x00010100,0x01010100), CONST64(0x00010140,0x01010100),
1073  CONST64(0x00010100,0x00000001), CONST64(0x00010140,0x00000001), CONST64(0x00010100,0x01000001), CONST64(0x00010140,0x01000001),
1074  CONST64(0x00010100,0x00010001), CONST64(0x00010140,0x00010001), CONST64(0x00010100,0x01010001), CONST64(0x00010140,0x01010001),
1075  CONST64(0x00010100,0x00000101), CONST64(0x00010140,0x00000101), CONST64(0x00010100,0x01000101), CONST64(0x00010140,0x01000101),
1076  CONST64(0x00010100,0x00010101), CONST64(0x00010140,0x00010101), CONST64(0x00010100,0x01010101), CONST64(0x00010140,0x01010101),
1077  CONST64(0x01010100,0x00000000), CONST64(0x01010140,0x00000000), CONST64(0x01010100,0x01000000), CONST64(0x01010140,0x01000000),
1078  CONST64(0x01010100,0x00010000), CONST64(0x01010140,0x00010000), CONST64(0x01010100,0x01010000), CONST64(0x01010140,0x01010000),
1079  CONST64(0x01010100,0x00000100), CONST64(0x01010140,0x00000100), CONST64(0x01010100,0x01000100), CONST64(0x01010140,0x01000100),
1080  CONST64(0x01010100,0x00010100), CONST64(0x01010140,0x00010100), CONST64(0x01010100,0x01010100), CONST64(0x01010140,0x01010100),
1081  CONST64(0x01010100,0x00000001), CONST64(0x01010140,0x00000001), CONST64(0x01010100,0x01000001), CONST64(0x01010140,0x01000001),
1082  CONST64(0x01010100,0x00010001), CONST64(0x01010140,0x00010001), CONST64(0x01010100,0x01010001), CONST64(0x01010140,0x01010001),
1083  CONST64(0x01010100,0x00000101), CONST64(0x01010140,0x00000101), CONST64(0x01010100,0x01000101), CONST64(0x01010140,0x01000101),
1084  CONST64(0x01010100,0x00010101), CONST64(0x01010140,0x00010101), CONST64(0x01010100,0x01010101), CONST64(0x01010140,0x01010101)
1085  },
1086 { CONST64(0x00000000,0x00000000), CONST64(0x00000001,0x00000000), CONST64(0x00000000,0x04000000), CONST64(0x00000001,0x04000000),
1087  CONST64(0x00000000,0x00040000), CONST64(0x00000001,0x00040000), CONST64(0x00000000,0x04040000), CONST64(0x00000001,0x04040000),
1088  CONST64(0x00000000,0x00000400), CONST64(0x00000001,0x00000400), CONST64(0x00000000,0x04000400), CONST64(0x00000001,0x04000400),
1089  CONST64(0x00000000,0x00040400), CONST64(0x00000001,0x00040400), CONST64(0x00000000,0x04040400), CONST64(0x00000001,0x04040400),
1090  CONST64(0x00000000,0x00000004), CONST64(0x00000001,0x00000004), CONST64(0x00000000,0x04000004), CONST64(0x00000001,0x04000004),
1091  CONST64(0x00000000,0x00040004), CONST64(0x00000001,0x00040004), CONST64(0x00000000,0x04040004), CONST64(0x00000001,0x04040004),
1092  CONST64(0x00000000,0x00000404), CONST64(0x00000001,0x00000404), CONST64(0x00000000,0x04000404), CONST64(0x00000001,0x04000404),
1093  CONST64(0x00000000,0x00040404), CONST64(0x00000001,0x00040404), CONST64(0x00000000,0x04040404), CONST64(0x00000001,0x04040404),
1094  CONST64(0x04000000,0x00000000), CONST64(0x04000001,0x00000000), CONST64(0x04000000,0x04000000), CONST64(0x04000001,0x04000000),
1095  CONST64(0x04000000,0x00040000), CONST64(0x04000001,0x00040000), CONST64(0x04000000,0x04040000), CONST64(0x04000001,0x04040000),
1096  CONST64(0x04000000,0x00000400), CONST64(0x04000001,0x00000400), CONST64(0x04000000,0x04000400), CONST64(0x04000001,0x04000400),
1097  CONST64(0x04000000,0x00040400), CONST64(0x04000001,0x00040400), CONST64(0x04000000,0x04040400), CONST64(0x04000001,0x04040400),
1098  CONST64(0x04000000,0x00000004), CONST64(0x04000001,0x00000004), CONST64(0x04000000,0x04000004), CONST64(0x04000001,0x04000004),
1099  CONST64(0x04000000,0x00040004), CONST64(0x04000001,0x00040004), CONST64(0x04000000,0x04040004), CONST64(0x04000001,0x04040004),
1100  CONST64(0x04000000,0x00000404), CONST64(0x04000001,0x00000404), CONST64(0x04000000,0x04000404), CONST64(0x04000001,0x04000404),
1101  CONST64(0x04000000,0x00040404), CONST64(0x04000001,0x00040404), CONST64(0x04000000,0x04040404), CONST64(0x04000001,0x04040404),
1102  CONST64(0x00040000,0x00000000), CONST64(0x00040001,0x00000000), CONST64(0x00040000,0x04000000), CONST64(0x00040001,0x04000000),
1103  CONST64(0x00040000,0x00040000), CONST64(0x00040001,0x00040000), CONST64(0x00040000,0x04040000), CONST64(0x00040001,0x04040000),
1104  CONST64(0x00040000,0x00000400), CONST64(0x00040001,0x00000400), CONST64(0x00040000,0x04000400), CONST64(0x00040001,0x04000400),
1105  CONST64(0x00040000,0x00040400), CONST64(0x00040001,0x00040400), CONST64(0x00040000,0x04040400), CONST64(0x00040001,0x04040400),
1106  CONST64(0x00040000,0x00000004), CONST64(0x00040001,0x00000004), CONST64(0x00040000,0x04000004), CONST64(0x00040001,0x04000004),
1107  CONST64(0x00040000,0x00040004), CONST64(0x00040001,0x00040004), CONST64(0x00040000,0x04040004), CONST64(0x00040001,0x04040004),
1108  CONST64(0x00040000,0x00000404), CONST64(0x00040001,0x00000404), CONST64(0x00040000,0x04000404), CONST64(0x00040001,0x04000404),
1109  CONST64(0x00040000,0x00040404), CONST64(0x00040001,0x00040404), CONST64(0x00040000,0x04040404), CONST64(0x00040001,0x04040404),
1110  CONST64(0x04040000,0x00000000), CONST64(0x04040001,0x00000000), CONST64(0x04040000,0x04000000), CONST64(0x04040001,0x04000000),
1111  CONST64(0x04040000,0x00040000), CONST64(0x04040001,0x00040000), CONST64(0x04040000,0x04040000), CONST64(0x04040001,0x04040000),
1112  CONST64(0x04040000,0x00000400), CONST64(0x04040001,0x00000400), CONST64(0x04040000,0x04000400), CONST64(0x04040001,0x04000400),
1113  CONST64(0x04040000,0x00040400), CONST64(0x04040001,0x00040400), CONST64(0x04040000,0x04040400), CONST64(0x04040001,0x04040400),
1114  CONST64(0x04040000,0x00000004), CONST64(0x04040001,0x00000004), CONST64(0x04040000,0x04000004), CONST64(0x04040001,0x04000004),
1115  CONST64(0x04040000,0x00040004), CONST64(0x04040001,0x00040004), CONST64(0x04040000,0x04040004), CONST64(0x04040001,0x04040004),
1116  CONST64(0x04040000,0x00000404), CONST64(0x04040001,0x00000404), CONST64(0x04040000,0x04000404), CONST64(0x04040001,0x04000404),
1117  CONST64(0x04040000,0x00040404), CONST64(0x04040001,0x00040404), CONST64(0x04040000,0x04040404), CONST64(0x04040001,0x04040404),
1118  CONST64(0x00000400,0x00000000), CONST64(0x00000401,0x00000000), CONST64(0x00000400,0x04000000), CONST64(0x00000401,0x04000000),
1119  CONST64(0x00000400,0x00040000), CONST64(0x00000401,0x00040000), CONST64(0x00000400,0x04040000), CONST64(0x00000401,0x04040000),
1120  CONST64(0x00000400,0x00000400), CONST64(0x00000401,0x00000400), CONST64(0x00000400,0x04000400), CONST64(0x00000401,0x04000400),
1121  CONST64(0x00000400,0x00040400), CONST64(0x00000401,0x00040400), CONST64(0x00000400,0x04040400), CONST64(0x00000401,0x04040400),
1122  CONST64(0x00000400,0x00000004), CONST64(0x00000401,0x00000004), CONST64(0x00000400,0x04000004), CONST64(0x00000401,0x04000004),
1123  CONST64(0x00000400,0x00040004), CONST64(0x00000401,0x00040004), CONST64(0x00000400,0x04040004), CONST64(0x00000401,0x04040004),
1124  CONST64(0x00000400,0x00000404), CONST64(0x00000401,0x00000404), CONST64(0x00000400,0x04000404), CONST64(0x00000401,0x04000404),
1125  CONST64(0x00000400,0x00040404), CONST64(0x00000401,0x00040404), CONST64(0x00000400,0x04040404), CONST64(0x00000401,0x04040404),
1126  CONST64(0x04000400,0x00000000), CONST64(0x04000401,0x00000000), CONST64(0x04000400,0x04000000), CONST64(0x04000401,0x04000000),
1127  CONST64(0x04000400,0x00040000), CONST64(0x04000401,0x00040000), CONST64(0x04000400,0x04040000), CONST64(0x04000401,0x04040000),
1128  CONST64(0x04000400,0x00000400), CONST64(0x04000401,0x00000400), CONST64(0x04000400,0x04000400), CONST64(0x04000401,0x04000400),
1129  CONST64(0x04000400,0x00040400), CONST64(0x04000401,0x00040400), CONST64(0x04000400,0x04040400), CONST64(0x04000401,0x04040400),
1130  CONST64(0x04000400,0x00000004), CONST64(0x04000401,0x00000004), CONST64(0x04000400,0x04000004), CONST64(0x04000401,0x04000004),
1131  CONST64(0x04000400,0x00040004), CONST64(0x04000401,0x00040004), CONST64(0x04000400,0x04040004), CONST64(0x04000401,0x04040004),
1132  CONST64(0x04000400,0x00000404), CONST64(0x04000401,0x00000404), CONST64(0x04000400,0x04000404), CONST64(0x04000401,0x04000404),
1133  CONST64(0x04000400,0x00040404), CONST64(0x04000401,0x00040404), CONST64(0x04000400,0x04040404), CONST64(0x04000401,0x04040404),
1134  CONST64(0x00040400,0x00000000), CONST64(0x00040401,0x00000000), CONST64(0x00040400,0x04000000), CONST64(0x00040401,0x04000000),
1135  CONST64(0x00040400,0x00040000), CONST64(0x00040401,0x00040000), CONST64(0x00040400,0x04040000), CONST64(0x00040401,0x04040000),
1136  CONST64(0x00040400,0x00000400), CONST64(0x00040401,0x00000400), CONST64(0x00040400,0x04000400), CONST64(0x00040401,0x04000400),
1137  CONST64(0x00040400,0x00040400), CONST64(0x00040401,0x00040400), CONST64(0x00040400,0x04040400), CONST64(0x00040401,0x04040400),
1138  CONST64(0x00040400,0x00000004), CONST64(0x00040401,0x00000004), CONST64(0x00040400,0x04000004), CONST64(0x00040401,0x04000004),
1139  CONST64(0x00040400,0x00040004), CONST64(0x00040401,0x00040004), CONST64(0x00040400,0x04040004), CONST64(0x00040401,0x04040004),
1140  CONST64(0x00040400,0x00000404), CONST64(0x00040401,0x00000404), CONST64(0x00040400,0x04000404), CONST64(0x00040401,0x04000404),
1141  CONST64(0x00040400,0x00040404), CONST64(0x00040401,0x00040404), CONST64(0x00040400,0x04040404), CONST64(0x00040401,0x04040404),
1142  CONST64(0x04040400,0x00000000), CONST64(0x04040401,0x00000000), CONST64(0x04040400,0x04000000), CONST64(0x04040401,0x04000000),
1143  CONST64(0x04040400,0x00040000), CONST64(0x04040401,0x00040000), CONST64(0x04040400,0x04040000), CONST64(0x04040401,0x04040000),
1144  CONST64(0x04040400,0x00000400), CONST64(0x04040401,0x00000400), CONST64(0x04040400,0x04000400), CONST64(0x04040401,0x04000400),
1145  CONST64(0x04040400,0x00040400), CONST64(0x04040401,0x00040400), CONST64(0x04040400,0x04040400), CONST64(0x04040401,0x04040400),
1146  CONST64(0x04040400,0x00000004), CONST64(0x04040401,0x00000004), CONST64(0x04040400,0x04000004), CONST64(0x04040401,0x04000004),
1147  CONST64(0x04040400,0x00040004), CONST64(0x04040401,0x00040004), CONST64(0x04040400,0x04040004), CONST64(0x04040401,0x04040004),
1148  CONST64(0x04040400,0x00000404), CONST64(0x04040401,0x00000404), CONST64(0x04040400,0x04000404), CONST64(0x04040401,0x04000404),
1149  CONST64(0x04040400,0x00040404), CONST64(0x04040401,0x00040404), CONST64(0x04040400,0x04040404), CONST64(0x04040401,0x04040404)
1150  },
1151 { CONST64(0x00000000,0x00000000), CONST64(0x00000004,0x00000000), CONST64(0x00000000,0x10000000), CONST64(0x00000004,0x10000000),
1152  CONST64(0x00000000,0x00100000), CONST64(0x00000004,0x00100000), CONST64(0x00000000,0x10100000), CONST64(0x00000004,0x10100000),
1153  CONST64(0x00000000,0x00001000), CONST64(0x00000004,0x00001000), CONST64(0x00000000,0x10001000), CONST64(0x00000004,0x10001000),
1154  CONST64(0x00000000,0x00101000), CONST64(0x00000004,0x00101000), CONST64(0x00000000,0x10101000), CONST64(0x00000004,0x10101000),
1155  CONST64(0x00000000,0x00000010), CONST64(0x00000004,0x00000010), CONST64(0x00000000,0x10000010), CONST64(0x00000004,0x10000010),
1156  CONST64(0x00000000,0x00100010), CONST64(0x00000004,0x00100010), CONST64(0x00000000,0x10100010), CONST64(0x00000004,0x10100010),
1157  CONST64(0x00000000,0x00001010), CONST64(0x00000004,0x00001010), CONST64(0x00000000,0x10001010), CONST64(0x00000004,0x10001010),
1158  CONST64(0x00000000,0x00101010), CONST64(0x00000004,0x00101010), CONST64(0x00000000,0x10101010), CONST64(0x00000004,0x10101010),
1159  CONST64(0x10000000,0x00000000), CONST64(0x10000004,0x00000000), CONST64(0x10000000,0x10000000), CONST64(0x10000004,0x10000000),
1160  CONST64(0x10000000,0x00100000), CONST64(0x10000004,0x00100000), CONST64(0x10000000,0x10100000), CONST64(0x10000004,0x10100000),
1161  CONST64(0x10000000,0x00001000), CONST64(0x10000004,0x00001000), CONST64(0x10000000,0x10001000), CONST64(0x10000004,0x10001000),
1162  CONST64(0x10000000,0x00101000), CONST64(0x10000004,0x00101000), CONST64(0x10000000,0x10101000), CONST64(0x10000004,0x10101000),
1163  CONST64(0x10000000,0x00000010), CONST64(0x10000004,0x00000010), CONST64(0x10000000,0x10000010), CONST64(0x10000004,0x10000010),
1164  CONST64(0x10000000,0x00100010), CONST64(0x10000004,0x00100010), CONST64(0x10000000,0x10100010), CONST64(0x10000004,0x10100010),
1165  CONST64(0x10000000,0x00001010), CONST64(0x10000004,0x00001010), CONST64(0x10000000,0x10001010), CONST64(0x10000004,0x10001010),
1166  CONST64(0x10000000,0x00101010), CONST64(0x10000004,0x00101010), CONST64(0x10000000,0x10101010), CONST64(0x10000004,0x10101010),
1167  CONST64(0x00100000,0x00000000), CONST64(0x00100004,0x00000000), CONST64(0x00100000,0x10000000), CONST64(0x00100004,0x10000000),
1168  CONST64(0x00100000,0x00100000), CONST64(0x00100004,0x00100000), CONST64(0x00100000,0x10100000), CONST64(0x00100004,0x10100000),
1169  CONST64(0x00100000,0x00001000), CONST64(0x00100004,0x00001000), CONST64(0x00100000,0x10001000), CONST64(0x00100004,0x10001000),
1170  CONST64(0x00100000,0x00101000), CONST64(0x00100004,0x00101000), CONST64(0x00100000,0x10101000), CONST64(0x00100004,0x10101000),
1171  CONST64(0x00100000,0x00000010), CONST64(0x00100004,0x00000010), CONST64(0x00100000,0x10000010), CONST64(0x00100004,0x10000010),
1172  CONST64(0x00100000,0x00100010), CONST64(0x00100004,0x00100010), CONST64(0x00100000,0x10100010), CONST64(0x00100004,0x10100010),
1173  CONST64(0x00100000,0x00001010), CONST64(0x00100004,0x00001010), CONST64(0x00100000,0x10001010), CONST64(0x00100004,0x10001010),
1174  CONST64(0x00100000,0x00101010), CONST64(0x00100004,0x00101010), CONST64(0x00100000,0x10101010), CONST64(0x00100004,0x10101010),
1175  CONST64(0x10100000,0x00000000), CONST64(0x10100004,0x00000000), CONST64(0x10100000,0x10000000), CONST64(0x10100004,0x10000000),
1176  CONST64(0x10100000,0x00100000), CONST64(0x10100004,0x00100000), CONST64(0x10100000,0x10100000), CONST64(0x10100004,0x10100000),
1177  CONST64(0x10100000,0x00001000), CONST64(0x10100004,0x00001000), CONST64(0x10100000,0x10001000), CONST64(0x10100004,0x10001000),
1178  CONST64(0x10100000,0x00101000), CONST64(0x10100004,0x00101000), CONST64(0x10100000,0x10101000), CONST64(0x10100004,0x10101000),
1179  CONST64(0x10100000,0x00000010), CONST64(0x10100004,0x00000010), CONST64(0x10100000,0x10000010), CONST64(0x10100004,0x10000010),
1180  CONST64(0x10100000,0x00100010), CONST64(0x10100004,0x00100010), CONST64(0x10100000,0x10100010), CONST64(0x10100004,0x10100010),
1181  CONST64(0x10100000,0x00001010), CONST64(0x10100004,0x00001010), CONST64(0x10100000,0x10001010), CONST64(0x10100004,0x10001010),
1182  CONST64(0x10100000,0x00101010), CONST64(0x10100004,0x00101010), CONST64(0x10100000,0x10101010), CONST64(0x10100004,0x10101010),
1183  CONST64(0x00001000,0x00000000), CONST64(0x00001004,0x00000000), CONST64(0x00001000,0x10000000), CONST64(0x00001004,0x10000000),
1184  CONST64(0x00001000,0x00100000), CONST64(0x00001004,0x00100000), CONST64(0x00001000,0x10100000), CONST64(0x00001004,0x10100000),
1185  CONST64(0x00001000,0x00001000), CONST64(0x00001004,0x00001000), CONST64(0x00001000,0x10001000), CONST64(0x00001004,0x10001000),
1186  CONST64(0x00001000,0x00101000), CONST64(0x00001004,0x00101000), CONST64(0x00001000,0x10101000), CONST64(0x00001004,0x10101000),
1187  CONST64(0x00001000,0x00000010), CONST64(0x00001004,0x00000010), CONST64(0x00001000,0x10000010), CONST64(0x00001004,0x10000010),
1188  CONST64(0x00001000,0x00100010), CONST64(0x00001004,0x00100010), CONST64(0x00001000,0x10100010), CONST64(0x00001004,0x10100010),
1189  CONST64(0x00001000,0x00001010), CONST64(0x00001004,0x00001010), CONST64(0x00001000,0x10001010), CONST64(0x00001004,0x10001010),
1190  CONST64(0x00001000,0x00101010), CONST64(0x00001004,0x00101010), CONST64(0x00001000,0x10101010), CONST64(0x00001004,0x10101010),
1191  CONST64(0x10001000,0x00000000), CONST64(0x10001004,0x00000000), CONST64(0x10001000,0x10000000), CONST64(0x10001004,0x10000000),
1192  CONST64(0x10001000,0x00100000), CONST64(0x10001004,0x00100000), CONST64(0x10001000,0x10100000), CONST64(0x10001004,0x10100000),
1193  CONST64(0x10001000,0x00001000), CONST64(0x10001004,0x00001000), CONST64(0x10001000,0x10001000), CONST64(0x10001004,0x10001000),
1194  CONST64(0x10001000,0x00101000), CONST64(0x10001004,0x00101000), CONST64(0x10001000,0x10101000), CONST64(0x10001004,0x10101000),
1195  CONST64(0x10001000,0x00000010), CONST64(0x10001004,0x00000010), CONST64(0x10001000,0x10000010), CONST64(0x10001004,0x10000010),
1196  CONST64(0x10001000,0x00100010), CONST64(0x10001004,0x00100010), CONST64(0x10001000,0x10100010), CONST64(0x10001004,0x10100010),
1197  CONST64(0x10001000,0x00001010), CONST64(0x10001004,0x00001010), CONST64(0x10001000,0x10001010), CONST64(0x10001004,0x10001010),
1198  CONST64(0x10001000,0x00101010), CONST64(0x10001004,0x00101010), CONST64(0x10001000,0x10101010), CONST64(0x10001004,0x10101010),
1199  CONST64(0x00101000,0x00000000), CONST64(0x00101004,0x00000000), CONST64(0x00101000,0x10000000), CONST64(0x00101004,0x10000000),
1200  CONST64(0x00101000,0x00100000), CONST64(0x00101004,0x00100000), CONST64(0x00101000,0x10100000), CONST64(0x00101004,0x10100000),
1201  CONST64(0x00101000,0x00001000), CONST64(0x00101004,0x00001000), CONST64(0x00101000,0x10001000), CONST64(0x00101004,0x10001000),
1202  CONST64(0x00101000,0x00101000), CONST64(0x00101004,0x00101000), CONST64(0x00101000,0x10101000), CONST64(0x00101004,0x10101000),
1203  CONST64(0x00101000,0x00000010), CONST64(0x00101004,0x00000010), CONST64(0x00101000,0x10000010), CONST64(0x00101004,0x10000010),
1204  CONST64(0x00101000,0x00100010), CONST64(0x00101004,0x00100010), CONST64(0x00101000,0x10100010), CONST64(0x00101004,0x10100010),
1205  CONST64(0x00101000,0x00001010), CONST64(0x00101004,0x00001010), CONST64(0x00101000,0x10001010), CONST64(0x00101004,0x10001010),
1206  CONST64(0x00101000,0x00101010), CONST64(0x00101004,0x00101010), CONST64(0x00101000,0x10101010), CONST64(0x00101004,0x10101010),
1207  CONST64(0x10101000,0x00000000), CONST64(0x10101004,0x00000000), CONST64(0x10101000,0x10000000), CONST64(0x10101004,0x10000000),
1208  CONST64(0x10101000,0x00100000), CONST64(0x10101004,0x00100000), CONST64(0x10101000,0x10100000), CONST64(0x10101004,0x10100000),
1209  CONST64(0x10101000,0x00001000), CONST64(0x10101004,0x00001000), CONST64(0x10101000,0x10001000), CONST64(0x10101004,0x10001000),
1210  CONST64(0x10101000,0x00101000), CONST64(0x10101004,0x00101000), CONST64(0x10101000,0x10101000), CONST64(0x10101004,0x10101000),
1211  CONST64(0x10101000,0x00000010), CONST64(0x10101004,0x00000010), CONST64(0x10101000,0x10000010), CONST64(0x10101004,0x10000010),
1212  CONST64(0x10101000,0x00100010), CONST64(0x10101004,0x00100010), CONST64(0x10101000,0x10100010), CONST64(0x10101004,0x10100010),
1213  CONST64(0x10101000,0x00001010), CONST64(0x10101004,0x00001010), CONST64(0x10101000,0x10001010), CONST64(0x10101004,0x10001010),
1214  CONST64(0x10101000,0x00101010), CONST64(0x10101004,0x00101010), CONST64(0x10101000,0x10101010), CONST64(0x10101004,0x10101010)
1215  },
1216 { CONST64(0x00000000,0x00000000), CONST64(0x00000010,0x00000000), CONST64(0x00000000,0x40000000), CONST64(0x00000010,0x40000000),
1217  CONST64(0x00000000,0x00400000), CONST64(0x00000010,0x00400000), CONST64(0x00000000,0x40400000), CONST64(0x00000010,0x40400000),
1218  CONST64(0x00000000,0x00004000), CONST64(0x00000010,0x00004000), CONST64(0x00000000,0x40004000), CONST64(0x00000010,0x40004000),
1219  CONST64(0x00000000,0x00404000), CONST64(0x00000010,0x00404000), CONST64(0x00000000,0x40404000), CONST64(0x00000010,0x40404000),
1220  CONST64(0x00000000,0x00000040), CONST64(0x00000010,0x00000040), CONST64(0x00000000,0x40000040), CONST64(0x00000010,0x40000040),
1221  CONST64(0x00000000,0x00400040), CONST64(0x00000010,0x00400040), CONST64(0x00000000,0x40400040), CONST64(0x00000010,0x40400040),
1222  CONST64(0x00000000,0x00004040), CONST64(0x00000010,0x00004040), CONST64(0x00000000,0x40004040), CONST64(0x00000010,0x40004040),
1223  CONST64(0x00000000,0x00404040), CONST64(0x00000010,0x00404040), CONST64(0x00000000,0x40404040), CONST64(0x00000010,0x40404040),
1224  CONST64(0x40000000,0x00000000), CONST64(0x40000010,0x00000000), CONST64(0x40000000,0x40000000), CONST64(0x40000010,0x40000000),
1225  CONST64(0x40000000,0x00400000), CONST64(0x40000010,0x00400000), CONST64(0x40000000,0x40400000), CONST64(0x40000010,0x40400000),
1226  CONST64(0x40000000,0x00004000), CONST64(0x40000010,0x00004000), CONST64(0x40000000,0x40004000), CONST64(0x40000010,0x40004000),
1227  CONST64(0x40000000,0x00404000), CONST64(0x40000010,0x00404000), CONST64(0x40000000,0x40404000), CONST64(0x40000010,0x40404000),
1228  CONST64(0x40000000,0x00000040), CONST64(0x40000010,0x00000040), CONST64(0x40000000,0x40000040), CONST64(0x40000010,0x40000040),
1229  CONST64(0x40000000,0x00400040), CONST64(0x40000010,0x00400040), CONST64(0x40000000,0x40400040), CONST64(0x40000010,0x40400040),
1230  CONST64(0x40000000,0x00004040), CONST64(0x40000010,0x00004040), CONST64(0x40000000,0x40004040), CONST64(0x40000010,0x40004040),
1231  CONST64(0x40000000,0x00404040), CONST64(0x40000010,0x00404040), CONST64(0x40000000,0x40404040), CONST64(0x40000010,0x40404040),
1232  CONST64(0x00400000,0x00000000), CONST64(0x00400010,0x00000000), CONST64(0x00400000,0x40000000), CONST64(0x00400010,0x40000000),
1233  CONST64(0x00400000,0x00400000), CONST64(0x00400010,0x00400000), CONST64(0x00400000,0x40400000), CONST64(0x00400010,0x40400000),
1234  CONST64(0x00400000,0x00004000), CONST64(0x00400010,0x00004000), CONST64(0x00400000,0x40004000), CONST64(0x00400010,0x40004000),
1235  CONST64(0x00400000,0x00404000), CONST64(0x00400010,0x00404000), CONST64(0x00400000,0x40404000), CONST64(0x00400010,0x40404000),
1236  CONST64(0x00400000,0x00000040), CONST64(0x00400010,0x00000040), CONST64(0x00400000,0x40000040), CONST64(0x00400010,0x40000040),
1237  CONST64(0x00400000,0x00400040), CONST64(0x00400010,0x00400040), CONST64(0x00400000,0x40400040), CONST64(0x00400010,0x40400040),
1238  CONST64(0x00400000,0x00004040), CONST64(0x00400010,0x00004040), CONST64(0x00400000,0x40004040), CONST64(0x00400010,0x40004040),
1239  CONST64(0x00400000,0x00404040), CONST64(0x00400010,0x00404040), CONST64(0x00400000,0x40404040), CONST64(0x00400010,0x40404040),
1240  CONST64(0x40400000,0x00000000), CONST64(0x40400010,0x00000000), CONST64(0x40400000,0x40000000), CONST64(0x40400010,0x40000000),
1241  CONST64(0x40400000,0x00400000), CONST64(0x40400010,0x00400000), CONST64(0x40400000,0x40400000), CONST64(0x40400010,0x40400000),
1242  CONST64(0x40400000,0x00004000), CONST64(0x40400010,0x00004000), CONST64(0x40400000,0x40004000), CONST64(0x40400010,0x40004000),
1243  CONST64(0x40400000,0x00404000), CONST64(0x40400010,0x00404000), CONST64(0x40400000,0x40404000), CONST64(0x40400010,0x40404000),
1244  CONST64(0x40400000,0x00000040), CONST64(0x40400010,0x00000040), CONST64(0x40400000,0x40000040), CONST64(0x40400010,0x40000040),
1245  CONST64(0x40400000,0x00400040), CONST64(0x40400010,0x00400040), CONST64(0x40400000,0x40400040), CONST64(0x40400010,0x40400040),
1246  CONST64(0x40400000,0x00004040), CONST64(0x40400010,0x00004040), CONST64(0x40400000,0x40004040), CONST64(0x40400010,0x40004040),
1247  CONST64(0x40400000,0x00404040), CONST64(0x40400010,0x00404040), CONST64(0x40400000,0x40404040), CONST64(0x40400010,0x40404040),
1248  CONST64(0x00004000,0x00000000), CONST64(0x00004010,0x00000000), CONST64(0x00004000,0x40000000), CONST64(0x00004010,0x40000000),
1249  CONST64(0x00004000,0x00400000), CONST64(0x00004010,0x00400000), CONST64(0x00004000,0x40400000), CONST64(0x00004010,0x40400000),
1250  CONST64(0x00004000,0x00004000), CONST64(0x00004010,0x00004000), CONST64(0x00004000,0x40004000), CONST64(0x00004010,0x40004000),
1251  CONST64(0x00004000,0x00404000), CONST64(0x00004010,0x00404000), CONST64(0x00004000,0x40404000), CONST64(0x00004010,0x40404000),
1252  CONST64(0x00004000,0x00000040), CONST64(0x00004010,0x00000040), CONST64(0x00004000,0x40000040), CONST64(0x00004010,0x40000040),
1253  CONST64(0x00004000,0x00400040), CONST64(0x00004010,0x00400040), CONST64(0x00004000,0x40400040), CONST64(0x00004010,0x40400040),
1254  CONST64(0x00004000,0x00004040), CONST64(0x00004010,0x00004040), CONST64(0x00004000,0x40004040), CONST64(0x00004010,0x40004040),
1255  CONST64(0x00004000,0x00404040), CONST64(0x00004010,0x00404040), CONST64(0x00004000,0x40404040), CONST64(0x00004010,0x40404040),
1256  CONST64(0x40004000,0x00000000), CONST64(0x40004010,0x00000000), CONST64(0x40004000,0x40000000), CONST64(0x40004010,0x40000000),
1257  CONST64(0x40004000,0x00400000), CONST64(0x40004010,0x00400000), CONST64(0x40004000,0x40400000), CONST64(0x40004010,0x40400000),
1258  CONST64(0x40004000,0x00004000), CONST64(0x40004010,0x00004000), CONST64(0x40004000,0x40004000), CONST64(0x40004010,0x40004000),
1259  CONST64(0x40004000,0x00404000), CONST64(0x40004010,0x00404000), CONST64(0x40004000,0x40404000), CONST64(0x40004010,0x40404000),
1260  CONST64(0x40004000,0x00000040), CONST64(0x40004010,0x00000040), CONST64(0x40004000,0x40000040), CONST64(0x40004010,0x40000040),
1261  CONST64(0x40004000,0x00400040), CONST64(0x40004010,0x00400040), CONST64(0x40004000,0x40400040), CONST64(0x40004010,0x40400040),
1262  CONST64(0x40004000,0x00004040), CONST64(0x40004010,0x00004040), CONST64(0x40004000,0x40004040), CONST64(0x40004010,0x40004040),
1263  CONST64(0x40004000,0x00404040), CONST64(0x40004010,0x00404040), CONST64(0x40004000,0x40404040), CONST64(0x40004010,0x40404040),
1264  CONST64(0x00404000,0x00000000), CONST64(0x00404010,0x00000000), CONST64(0x00404000,0x40000000), CONST64(0x00404010,0x40000000),
1265  CONST64(0x00404000,0x00400000), CONST64(0x00404010,0x00400000), CONST64(0x00404000,0x40400000), CONST64(0x00404010,0x40400000),
1266  CONST64(0x00404000,0x00004000), CONST64(0x00404010,0x00004000), CONST64(0x00404000,0x40004000), CONST64(0x00404010,0x40004000),
1267  CONST64(0x00404000,0x00404000), CONST64(0x00404010,0x00404000), CONST64(0x00404000,0x40404000), CONST64(0x00404010,0x40404000),
1268  CONST64(0x00404000,0x00000040), CONST64(0x00404010,0x00000040), CONST64(0x00404000,0x40000040), CONST64(0x00404010,0x40000040),
1269  CONST64(0x00404000,0x00400040), CONST64(0x00404010,0x00400040), CONST64(0x00404000,0x40400040), CONST64(0x00404010,0x40400040),
1270  CONST64(0x00404000,0x00004040), CONST64(0x00404010,0x00004040), CONST64(0x00404000,0x40004040), CONST64(0x00404010,0x40004040),
1271  CONST64(0x00404000,0x00404040), CONST64(0x00404010,0x00404040), CONST64(0x00404000,0x40404040), CONST64(0x00404010,0x40404040),
1272  CONST64(0x40404000,0x00000000), CONST64(0x40404010,0x00000000), CONST64(0x40404000,0x40000000), CONST64(0x40404010,0x40000000),
1273  CONST64(0x40404000,0x00400000), CONST64(0x40404010,0x00400000), CONST64(0x40404000,0x40400000), CONST64(0x40404010,0x40400000),
1274  CONST64(0x40404000,0x00004000), CONST64(0x40404010,0x00004000), CONST64(0x40404000,0x40004000), CONST64(0x40404010,0x40004000),
1275  CONST64(0x40404000,0x00404000), CONST64(0x40404010,0x00404000), CONST64(0x40404000,0x40404000), CONST64(0x40404010,0x40404000),
1276  CONST64(0x40404000,0x00000040), CONST64(0x40404010,0x00000040), CONST64(0x40404000,0x40000040), CONST64(0x40404010,0x40000040),
1277  CONST64(0x40404000,0x00400040), CONST64(0x40404010,0x00400040), CONST64(0x40404000,0x40400040), CONST64(0x40404010,0x40400040),
1278  CONST64(0x40404000,0x00004040), CONST64(0x40404010,0x00004040), CONST64(0x40404000,0x40004040), CONST64(0x40404010,0x40004040),
1279  CONST64(0x40404000,0x00404040), CONST64(0x40404010,0x00404040), CONST64(0x40404000,0x40404040), CONST64(0x40404010,0x40404040)
1280  }};
1281 
1282 
1283 static void cookey(const ulong32 *raw1, ulong32 *keyout);
1284 
1285 static void deskey(const unsigned char *key, short edf, ulong32 *keyout)
1286 {
1287  ulong32 i, j, l, m, n, kn[32];
1288  unsigned char pc1m[56], pcr[56];
1289 
1290  for (j=0; j < 56; j++) {
1291  l = (ulong32)pc1[j];
1292  m = l & 7;
1293  pc1m[j] = (unsigned char)((key[l >> 3U] & bytebit[m]) == bytebit[m] ? 1 : 0);
1294  }
1295 
1296  for (i=0; i < 16; i++) {
1297  if (edf == DE1) {
1298  m = (15 - i) << 1;
1299  } else {
1300  m = i << 1;
1301  }
1302  n = m + 1;
1303  kn[m] = kn[n] = 0L;
1304  for (j=0; j < 28; j++) {
1305  l = j + (ulong32)totrot[i];
1306  if (l < 28) {
1307  pcr[j] = pc1m[l];
1308  } else {
1309  pcr[j] = pc1m[l - 28];
1310  }
1311  }
1312  for (/*j = 28*/; j < 56; j++) {
1313  l = j + (ulong32)totrot[i];
1314  if (l < 56) {
1315  pcr[j] = pc1m[l];
1316  } else {
1317  pcr[j] = pc1m[l - 28];
1318  }
1319  }
1320  for (j=0; j < 24; j++) {
1321  if ((int)pcr[(int)pc2[j]] != 0) {
1322  kn[m] |= bigbyte[j];
1323  }
1324  if ((int)pcr[(int)pc2[j+24]] != 0) {
1325  kn[n] |= bigbyte[j];
1326  }
1327  }
1328  }
1329 
1330  cookey(kn, keyout);
1331 }
1332 
1333 static void cookey(const ulong32 *raw1, ulong32 *keyout)
1334 {
1335  ulong32 *cook;
1336  const ulong32 *raw0;
1337  ulong32 dough[32];
1338  int i;
1339 
1340  cook = dough;
1341  for(i=0; i < 16; i++, raw1++)
1342  {
1343  raw0 = raw1++;
1344  *cook = (*raw0 & 0x00fc0000L) << 6;
1345  *cook |= (*raw0 & 0x00000fc0L) << 10;
1346  *cook |= (*raw1 & 0x00fc0000L) >> 10;
1347  *cook++ |= (*raw1 & 0x00000fc0L) >> 6;
1348  *cook = (*raw0 & 0x0003f000L) << 12;
1349  *cook |= (*raw0 & 0x0000003fL) << 16;
1350  *cook |= (*raw1 & 0x0003f000L) >> 4;
1351  *cook++ |= (*raw1 & 0x0000003fL);
1352  }
1353 
1354  memcpy(keyout, dough, sizeof dough);
1355 }
1356 
1357 static void desfunc(ulong32 *block, const ulong32 *keys)
1358 {
1359  ulong64 tmp;
1360  ulong32 work, right, leftt;
1361  int cur_round;
1362 
1363  leftt = block[0];
1364  right = block[1];
1365 
1366  tmp = des_ip[0][byte(leftt, 0)] ^
1367  des_ip[1][byte(leftt, 1)] ^
1368  des_ip[2][byte(leftt, 2)] ^
1369  des_ip[3][byte(leftt, 3)] ^
1370  des_ip[4][byte(right, 0)] ^
1371  des_ip[5][byte(right, 1)] ^
1372  des_ip[6][byte(right, 2)] ^
1373  des_ip[7][byte(right, 3)];
1374  leftt = (ulong32)(tmp >> 32);
1375  right = (ulong32)(tmp & 0xFFFFFFFFUL);
1376 
1377  for (cur_round = 0; cur_round < 8; cur_round++) {
1378  work = ROR(right, 4) ^ *keys++;
1379  leftt ^= SP7[work & 0x3fL]
1380  ^ SP5[(work >> 8) & 0x3fL]
1381  ^ SP3[(work >> 16) & 0x3fL]
1382  ^ SP1[(work >> 24) & 0x3fL];
1383  work = right ^ *keys++;
1384  leftt ^= SP8[ work & 0x3fL]
1385  ^ SP6[(work >> 8) & 0x3fL]
1386  ^ SP4[(work >> 16) & 0x3fL]
1387  ^ SP2[(work >> 24) & 0x3fL];
1388 
1389  work = ROR(leftt, 4) ^ *keys++;
1390  right ^= SP7[ work & 0x3fL]
1391  ^ SP5[(work >> 8) & 0x3fL]
1392  ^ SP3[(work >> 16) & 0x3fL]
1393  ^ SP1[(work >> 24) & 0x3fL];
1394  work = leftt ^ *keys++;
1395  right ^= SP8[ work & 0x3fL]
1396  ^ SP6[(work >> 8) & 0x3fL]
1397  ^ SP4[(work >> 16) & 0x3fL]
1398  ^ SP2[(work >> 24) & 0x3fL];
1399  }
1400 
1401  tmp = des_fp[0][byte(leftt, 0)] ^
1402  des_fp[1][byte(leftt, 1)] ^
1403  des_fp[2][byte(leftt, 2)] ^
1404  des_fp[3][byte(leftt, 3)] ^
1405  des_fp[4][byte(right, 0)] ^
1406  des_fp[5][byte(right, 1)] ^
1407  des_fp[6][byte(right, 2)] ^
1408  des_fp[7][byte(right, 3)];
1409  leftt = (ulong32)(tmp >> 32);
1410  right = (ulong32)(tmp & 0xFFFFFFFFUL);
1411 
1412  block[0] = right;
1413  block[1] = leftt;
1414 }
1415 
1416 int des_setup(const unsigned char *key, int keylen, int num_rounds, des_key *des)
1417 {
1418  if (num_rounds != 0 && num_rounds != 16) {
1419  return CRYPT_INVALID_ROUNDS;
1420  }
1421 
1422  if (keylen != 8) {
1423  return CRYPT_INVALID_KEYSIZE;
1424  }
1425 
1426  deskey(key, EN0, des->ek);
1427  deskey(key, DE1, des->dk);
1428 
1429  return CRYPT_OK;
1430 }
1431 
1432 int des3_setup(const unsigned char *key, int keylen, int num_rounds, des3_key *des3)
1433 {
1434  if(num_rounds != 0 && num_rounds != 16) {
1435  return CRYPT_INVALID_ROUNDS;
1436  }
1437 
1438  if (keylen != 24) {
1439  return CRYPT_INVALID_KEYSIZE;
1440  }
1441 
1442  deskey(key, EN0, des3->ek[0]);
1443  deskey(key+8, DE1, des3->ek[1]);
1444  deskey(key+16, EN0, des3->ek[2]);
1445 
1446  deskey(key, DE1, des3->dk[2]);
1447  deskey(key+8, EN0, des3->dk[1]);
1448  deskey(key+16, DE1, des3->dk[0]);
1449 
1450  return CRYPT_OK;
1451 }
1452 
1453 void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des_key *des)
1454 {
1455  ulong32 work[2];
1456  LOAD32H(work[0], pt+0);
1457  LOAD32H(work[1], pt+4);
1458  desfunc(work, des->ek);
1459  STORE32H(work[0],ct+0);
1460  STORE32H(work[1],ct+4);
1461 }
1462 
1463 void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des_key *des)
1464 {
1465  ulong32 work[2];
1466  LOAD32H(work[0], ct+0);
1467  LOAD32H(work[1], ct+4);
1468  desfunc(work, des->dk);
1469  STORE32H(work[0],pt+0);
1470  STORE32H(work[1],pt+4);
1471 }
1472 
1473 void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des3_key *des3)
1474 {
1475  ulong32 work[2];
1476  LOAD32H(work[0], pt+0);
1477  LOAD32H(work[1], pt+4);
1478  desfunc(work, des3->ek[0]);
1479  desfunc(work, des3->ek[1]);
1480  desfunc(work, des3->ek[2]);
1481  STORE32H(work[0],ct+0);
1482  STORE32H(work[1],ct+4);
1483 }
1484 
1485 void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des3_key *des3)
1486 {
1487  ulong32 work[2];
1488  LOAD32H(work[0], ct+0);
1489  LOAD32H(work[1], ct+4);
1490  desfunc(work, des3->dk[0]);
1491  desfunc(work, des3->dk[1]);
1492  desfunc(work, des3->dk[2]);
1493  STORE32H(work[0],pt+0);
1494  STORE32H(work[1],pt+4);
1495 }
static unsigned int block
Definition: xmlmemory.c:118
static const ulong32 SP5[64]
Definition: des.c:156
static const unsigned char pc2[48]
Definition: des.c:68
ULONG32 ulong32
Definition: tomcrypt.h:84
static const ulong32 bigbyte[24]
Definition: des.c:42
static const unsigned char pc1[56]
Definition: des.c:54
static const ulong64 des_fp[8][256]
Definition: des.c:759
static void deskey(const unsigned char *key, short edf, ulong32 *keyout)
Definition: des.c:1285
#define pt(x, y)
Definition: drawing.c:79
#define CONST64(a, b)
Definition: tomcrypt.h:78
#define U(x)
Definition: wordpad.c:44
static const ulong32 SP3[64]
Definition: des.c:116
int des_setup(const unsigned char *key, int keylen, int num_rounds, des_key *des)
Definition: des.c:1416
GLdouble n
Definition: glext.h:7729
ulong32 dk[3][32]
Definition: tomcrypt.h:129
static const ulong32 SP4[64]
Definition: des.c:136
static const ulong32 SP7[64]
Definition: des.c:196
const GLfloat * m
Definition: glext.h:10848
ULONG64 ulong64
Definition: tomcrypt.h:79
static const ulong32 SP1[64]
Definition: des.c:76
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des3_key *des3)
Definition: des.c:1473
static const ulong32 SP6[64]
Definition: des.c:176
unsigned char
Definition: typeof.h:29
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static const ulong32 bytebit[8]
Definition: des.c:37
r l[0]
Definition: byte_order.h:167
void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des_key *des)
Definition: des.c:1453
static const ulong64 des_ip[8][256]
Definition: des.c:236
GLdouble GLdouble right
Definition: glext.h:10859
static const unsigned char totrot[16]
Definition: des.c:61
static const WCHAR L[]
Definition: oid.c:1250
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static void desfunc(ulong32 *block, const ulong32 *keys)
Definition: des.c:1357
void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des3_key *des3)
Definition: des.c:1485
#define LOAD32H(x, y)
Definition: tomcrypt.h:91
static const WCHAR des[]
Definition: oid.c:1212
#define byte(x, n)
Definition: tomcrypt.h:118
ulong32 ek[3][32]
Definition: tomcrypt.h:129
void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des_key *des)
Definition: des.c:1463
static const ulong32 SP2[64]
Definition: des.c:96
#define ROR(x, y)
Definition: tomcrypt.h:110
#define STORE32H(x, y)
Definition: tomcrypt.h:87
static const ulong32 SP8[64]
Definition: des.c:216
#define UL
Definition: tui.h:83
#define DE1
Definition: des.c:35
int des3_setup(const unsigned char *key, int keylen, int num_rounds, des3_key *des3)
Definition: des.c:1432
static void cookey(const ulong32 *raw1, ulong32 *keyout)
Definition: des.c:1333
Definition: path.c:42
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define EN0
Definition: des.c:34