2 * Author......: Jens Steube <jens.steube@gmail.com>
8 #include "include/constants.h"
9 #include "include/kernel_vendor.h"
24 #include "include/kernel_functions.c"
26 #include "common_nv.c"
27 #include "include/rp_gpu.h"
31 #define VECT_COMPARE_S "check_single_vect1_comp4.c"
32 #define VECT_COMPARE_M "check_multi_vect1_comp4.c"
36 #define VECT_COMPARE_S "check_single_vect2_comp4.c"
37 #define VECT_COMPARE_M "check_multi_vect2_comp4.c"
43 #define BOX(S,n,i) u32x ((S)[(n)][(i)])
47 #define BOX(S,n,i) u32x ((S)[(n)][(i).x], (S)[(n)][(i).y])
50 __device__ static u32 Ch[8][256] =
53 0x18186018, 0x23238c23, 0xc6c63fc6, 0xe8e887e8,
54 0x87872687, 0xb8b8dab8, 0x01010401, 0x4f4f214f,
55 0x3636d836, 0xa6a6a2a6, 0xd2d26fd2, 0xf5f5f3f5,
56 0x7979f979, 0x6f6fa16f, 0x91917e91, 0x52525552,
57 0x60609d60, 0xbcbccabc, 0x9b9b569b, 0x8e8e028e,
58 0xa3a3b6a3, 0x0c0c300c, 0x7b7bf17b, 0x3535d435,
59 0x1d1d741d, 0xe0e0a7e0, 0xd7d77bd7, 0xc2c22fc2,
60 0x2e2eb82e, 0x4b4b314b, 0xfefedffe, 0x57574157,
61 0x15155415, 0x7777c177, 0x3737dc37, 0xe5e5b3e5,
62 0x9f9f469f, 0xf0f0e7f0, 0x4a4a354a, 0xdada4fda,
63 0x58587d58, 0xc9c903c9, 0x2929a429, 0x0a0a280a,
64 0xb1b1feb1, 0xa0a0baa0, 0x6b6bb16b, 0x85852e85,
65 0xbdbdcebd, 0x5d5d695d, 0x10104010, 0xf4f4f7f4,
66 0xcbcb0bcb, 0x3e3ef83e, 0x05051405, 0x67678167,
67 0xe4e4b7e4, 0x27279c27, 0x41411941, 0x8b8b168b,
68 0xa7a7a6a7, 0x7d7de97d, 0x95956e95, 0xd8d847d8,
69 0xfbfbcbfb, 0xeeee9fee, 0x7c7ced7c, 0x66668566,
70 0xdddd53dd, 0x17175c17, 0x47470147, 0x9e9e429e,
71 0xcaca0fca, 0x2d2db42d, 0xbfbfc6bf, 0x07071c07,
72 0xadad8ead, 0x5a5a755a, 0x83833683, 0x3333cc33,
73 0x63639163, 0x02020802, 0xaaaa92aa, 0x7171d971,
74 0xc8c807c8, 0x19196419, 0x49493949, 0xd9d943d9,
75 0xf2f2eff2, 0xe3e3abe3, 0x5b5b715b, 0x88881a88,
76 0x9a9a529a, 0x26269826, 0x3232c832, 0xb0b0fab0,
77 0xe9e983e9, 0x0f0f3c0f, 0xd5d573d5, 0x80803a80,
78 0xbebec2be, 0xcdcd13cd, 0x3434d034, 0x48483d48,
79 0xffffdbff, 0x7a7af57a, 0x90907a90, 0x5f5f615f,
80 0x20208020, 0x6868bd68, 0x1a1a681a, 0xaeae82ae,
81 0xb4b4eab4, 0x54544d54, 0x93937693, 0x22228822,
82 0x64648d64, 0xf1f1e3f1, 0x7373d173, 0x12124812,
83 0x40401d40, 0x08082008, 0xc3c32bc3, 0xecec97ec,
84 0xdbdb4bdb, 0xa1a1bea1, 0x8d8d0e8d, 0x3d3df43d,
85 0x97976697, 0x00000000, 0xcfcf1bcf, 0x2b2bac2b,
86 0x7676c576, 0x82823282, 0xd6d67fd6, 0x1b1b6c1b,
87 0xb5b5eeb5, 0xafaf86af, 0x6a6ab56a, 0x50505d50,
88 0x45450945, 0xf3f3ebf3, 0x3030c030, 0xefef9bef,
89 0x3f3ffc3f, 0x55554955, 0xa2a2b2a2, 0xeaea8fea,
90 0x65658965, 0xbabad2ba, 0x2f2fbc2f, 0xc0c027c0,
91 0xdede5fde, 0x1c1c701c, 0xfdfdd3fd, 0x4d4d294d,
92 0x92927292, 0x7575c975, 0x06061806, 0x8a8a128a,
93 0xb2b2f2b2, 0xe6e6bfe6, 0x0e0e380e, 0x1f1f7c1f,
94 0x62629562, 0xd4d477d4, 0xa8a89aa8, 0x96966296,
95 0xf9f9c3f9, 0xc5c533c5, 0x25259425, 0x59597959,
96 0x84842a84, 0x7272d572, 0x3939e439, 0x4c4c2d4c,
97 0x5e5e655e, 0x7878fd78, 0x3838e038, 0x8c8c0a8c,
98 0xd1d163d1, 0xa5a5aea5, 0xe2e2afe2, 0x61619961,
99 0xb3b3f6b3, 0x21218421, 0x9c9c4a9c, 0x1e1e781e,
100 0x43431143, 0xc7c73bc7, 0xfcfcd7fc, 0x04041004,
101 0x51515951, 0x99995e99, 0x6d6da96d, 0x0d0d340d,
102 0xfafacffa, 0xdfdf5bdf, 0x7e7ee57e, 0x24249024,
103 0x3b3bec3b, 0xabab96ab, 0xcece1fce, 0x11114411,
104 0x8f8f068f, 0x4e4e254e, 0xb7b7e6b7, 0xebeb8beb,
105 0x3c3cf03c, 0x81813e81, 0x94946a94, 0xf7f7fbf7,
106 0xb9b9deb9, 0x13134c13, 0x2c2cb02c, 0xd3d36bd3,
107 0xe7e7bbe7, 0x6e6ea56e, 0xc4c437c4, 0x03030c03,
108 0x56564556, 0x44440d44, 0x7f7fe17f, 0xa9a99ea9,
109 0x2a2aa82a, 0xbbbbd6bb, 0xc1c123c1, 0x53535153,
110 0xdcdc57dc, 0x0b0b2c0b, 0x9d9d4e9d, 0x6c6cad6c,
111 0x3131c431, 0x7474cd74, 0xf6f6fff6, 0x46460546,
112 0xacac8aac, 0x89891e89, 0x14145014, 0xe1e1a3e1,
113 0x16165816, 0x3a3ae83a, 0x6969b969, 0x09092409,
114 0x7070dd70, 0xb6b6e2b6, 0xd0d067d0, 0xeded93ed,
115 0xcccc17cc, 0x42421542, 0x98985a98, 0xa4a4aaa4,
116 0x2828a028, 0x5c5c6d5c, 0xf8f8c7f8, 0x86862286,
119 0xd8181860, 0x2623238c, 0xb8c6c63f, 0xfbe8e887,
120 0xcb878726, 0x11b8b8da, 0x09010104, 0x0d4f4f21,
121 0x9b3636d8, 0xffa6a6a2, 0x0cd2d26f, 0x0ef5f5f3,
122 0x967979f9, 0x306f6fa1, 0x6d91917e, 0xf8525255,
123 0x4760609d, 0x35bcbcca, 0x379b9b56, 0x8a8e8e02,
124 0xd2a3a3b6, 0x6c0c0c30, 0x847b7bf1, 0x803535d4,
125 0xf51d1d74, 0xb3e0e0a7, 0x21d7d77b, 0x9cc2c22f,
126 0x432e2eb8, 0x294b4b31, 0x5dfefedf, 0xd5575741,
127 0xbd151554, 0xe87777c1, 0x923737dc, 0x9ee5e5b3,
128 0x139f9f46, 0x23f0f0e7, 0x204a4a35, 0x44dada4f,
129 0xa258587d, 0xcfc9c903, 0x7c2929a4, 0x5a0a0a28,
130 0x50b1b1fe, 0xc9a0a0ba, 0x146b6bb1, 0xd985852e,
131 0x3cbdbdce, 0x8f5d5d69, 0x90101040, 0x07f4f4f7,
132 0xddcbcb0b, 0xd33e3ef8, 0x2d050514, 0x78676781,
133 0x97e4e4b7, 0x0227279c, 0x73414119, 0xa78b8b16,
134 0xf6a7a7a6, 0xb27d7de9, 0x4995956e, 0x56d8d847,
135 0x70fbfbcb, 0xcdeeee9f, 0xbb7c7ced, 0x71666685,
136 0x7bdddd53, 0xaf17175c, 0x45474701, 0x1a9e9e42,
137 0xd4caca0f, 0x582d2db4, 0x2ebfbfc6, 0x3f07071c,
138 0xacadad8e, 0xb05a5a75, 0xef838336, 0xb63333cc,
139 0x5c636391, 0x12020208, 0x93aaaa92, 0xde7171d9,
140 0xc6c8c807, 0xd1191964, 0x3b494939, 0x5fd9d943,
141 0x31f2f2ef, 0xa8e3e3ab, 0xb95b5b71, 0xbc88881a,
142 0x3e9a9a52, 0x0b262698, 0xbf3232c8, 0x59b0b0fa,
143 0xf2e9e983, 0x770f0f3c, 0x33d5d573, 0xf480803a,
144 0x27bebec2, 0xebcdcd13, 0x893434d0, 0x3248483d,
145 0x54ffffdb, 0x8d7a7af5, 0x6490907a, 0x9d5f5f61,
146 0x3d202080, 0x0f6868bd, 0xca1a1a68, 0xb7aeae82,
147 0x7db4b4ea, 0xce54544d, 0x7f939376, 0x2f222288,
148 0x6364648d, 0x2af1f1e3, 0xcc7373d1, 0x82121248,
149 0x7a40401d, 0x48080820, 0x95c3c32b, 0xdfecec97,
150 0x4ddbdb4b, 0xc0a1a1be, 0x918d8d0e, 0xc83d3df4,
151 0x5b979766, 0x00000000, 0xf9cfcf1b, 0x6e2b2bac,
152 0xe17676c5, 0xe6828232, 0x28d6d67f, 0xc31b1b6c,
153 0x74b5b5ee, 0xbeafaf86, 0x1d6a6ab5, 0xea50505d,
154 0x57454509, 0x38f3f3eb, 0xad3030c0, 0xc4efef9b,
155 0xda3f3ffc, 0xc7555549, 0xdba2a2b2, 0xe9eaea8f,
156 0x6a656589, 0x03babad2, 0x4a2f2fbc, 0x8ec0c027,
157 0x60dede5f, 0xfc1c1c70, 0x46fdfdd3, 0x1f4d4d29,
158 0x76929272, 0xfa7575c9, 0x36060618, 0xae8a8a12,
159 0x4bb2b2f2, 0x85e6e6bf, 0x7e0e0e38, 0xe71f1f7c,
160 0x55626295, 0x3ad4d477, 0x81a8a89a, 0x52969662,
161 0x62f9f9c3, 0xa3c5c533, 0x10252594, 0xab595979,
162 0xd084842a, 0xc57272d5, 0xec3939e4, 0x164c4c2d,
163 0x945e5e65, 0x9f7878fd, 0xe53838e0, 0x988c8c0a,
164 0x17d1d163, 0xe4a5a5ae, 0xa1e2e2af, 0x4e616199,
165 0x42b3b3f6, 0x34212184, 0x089c9c4a, 0xee1e1e78,
166 0x61434311, 0xb1c7c73b, 0x4ffcfcd7, 0x24040410,
167 0xe3515159, 0x2599995e, 0x226d6da9, 0x650d0d34,
168 0x79fafacf, 0x69dfdf5b, 0xa97e7ee5, 0x19242490,
169 0xfe3b3bec, 0x9aabab96, 0xf0cece1f, 0x99111144,
170 0x838f8f06, 0x044e4e25, 0x66b7b7e6, 0xe0ebeb8b,
171 0xc13c3cf0, 0xfd81813e, 0x4094946a, 0x1cf7f7fb,
172 0x18b9b9de, 0x8b13134c, 0x512c2cb0, 0x05d3d36b,
173 0x8ce7e7bb, 0x396e6ea5, 0xaac4c437, 0x1b03030c,
174 0xdc565645, 0x5e44440d, 0xa07f7fe1, 0x88a9a99e,
175 0x672a2aa8, 0x0abbbbd6, 0x87c1c123, 0xf1535351,
176 0x72dcdc57, 0x530b0b2c, 0x019d9d4e, 0x2b6c6cad,
177 0xa43131c4, 0xf37474cd, 0x15f6f6ff, 0x4c464605,
178 0xa5acac8a, 0xb589891e, 0xb4141450, 0xbae1e1a3,
179 0xa6161658, 0xf73a3ae8, 0x066969b9, 0x41090924,
180 0xd77070dd, 0x6fb6b6e2, 0x1ed0d067, 0xd6eded93,
181 0xe2cccc17, 0x68424215, 0x2c98985a, 0xeda4a4aa,
182 0x752828a0, 0x865c5c6d, 0x6bf8f8c7, 0xc2868622,
185 0x30d81818, 0x46262323, 0x91b8c6c6, 0xcdfbe8e8,
186 0x13cb8787, 0x6d11b8b8, 0x02090101, 0x9e0d4f4f,
187 0x6c9b3636, 0x51ffa6a6, 0xb90cd2d2, 0xf70ef5f5,
188 0xf2967979, 0xde306f6f, 0x3f6d9191, 0xa4f85252,
189 0xc0476060, 0x6535bcbc, 0x2b379b9b, 0x018a8e8e,
190 0x5bd2a3a3, 0x186c0c0c, 0xf6847b7b, 0x6a803535,
191 0x3af51d1d, 0xddb3e0e0, 0xb321d7d7, 0x999cc2c2,
192 0x5c432e2e, 0x96294b4b, 0xe15dfefe, 0xaed55757,
193 0x2abd1515, 0xeee87777, 0x6e923737, 0xd79ee5e5,
194 0x23139f9f, 0xfd23f0f0, 0x94204a4a, 0xa944dada,
195 0xb0a25858, 0x8fcfc9c9, 0x527c2929, 0x145a0a0a,
196 0x7f50b1b1, 0x5dc9a0a0, 0xd6146b6b, 0x17d98585,
197 0x673cbdbd, 0xba8f5d5d, 0x20901010, 0xf507f4f4,
198 0x8bddcbcb, 0x7cd33e3e, 0x0a2d0505, 0xce786767,
199 0xd597e4e4, 0x4e022727, 0x82734141, 0x0ba78b8b,
200 0x53f6a7a7, 0xfab27d7d, 0x37499595, 0xad56d8d8,
201 0xeb70fbfb, 0xc1cdeeee, 0xf8bb7c7c, 0xcc716666,
202 0xa77bdddd, 0x2eaf1717, 0x8e454747, 0x211a9e9e,
203 0x89d4caca, 0x5a582d2d, 0x632ebfbf, 0x0e3f0707,
204 0x47acadad, 0xb4b05a5a, 0x1bef8383, 0x66b63333,
205 0xc65c6363, 0x04120202, 0x4993aaaa, 0xe2de7171,
206 0x8dc6c8c8, 0x32d11919, 0x923b4949, 0xaf5fd9d9,
207 0xf931f2f2, 0xdba8e3e3, 0xb6b95b5b, 0x0dbc8888,
208 0x293e9a9a, 0x4c0b2626, 0x64bf3232, 0x7d59b0b0,
209 0xcff2e9e9, 0x1e770f0f, 0xb733d5d5, 0x1df48080,
210 0x6127bebe, 0x87ebcdcd, 0x68893434, 0x90324848,
211 0xe354ffff, 0xf48d7a7a, 0x3d649090, 0xbe9d5f5f,
212 0x403d2020, 0xd00f6868, 0x34ca1a1a, 0x41b7aeae,
213 0x757db4b4, 0xa8ce5454, 0x3b7f9393, 0x442f2222,
214 0xc8636464, 0xff2af1f1, 0xe6cc7373, 0x24821212,
215 0x807a4040, 0x10480808, 0x9b95c3c3, 0xc5dfecec,
216 0xab4ddbdb, 0x5fc0a1a1, 0x07918d8d, 0x7ac83d3d,
217 0x335b9797, 0x00000000, 0x83f9cfcf, 0x566e2b2b,
218 0xece17676, 0x19e68282, 0xb128d6d6, 0x36c31b1b,
219 0x7774b5b5, 0x43beafaf, 0xd41d6a6a, 0xa0ea5050,
220 0x8a574545, 0xfb38f3f3, 0x60ad3030, 0xc3c4efef,
221 0x7eda3f3f, 0xaac75555, 0x59dba2a2, 0xc9e9eaea,
222 0xca6a6565, 0x6903baba, 0x5e4a2f2f, 0x9d8ec0c0,
223 0xa160dede, 0x38fc1c1c, 0xe746fdfd, 0x9a1f4d4d,
224 0x39769292, 0xeafa7575, 0x0c360606, 0x09ae8a8a,
225 0x794bb2b2, 0xd185e6e6, 0x1c7e0e0e, 0x3ee71f1f,
226 0xc4556262, 0xb53ad4d4, 0x4d81a8a8, 0x31529696,
227 0xef62f9f9, 0x97a3c5c5, 0x4a102525, 0xb2ab5959,
228 0x15d08484, 0xe4c57272, 0x72ec3939, 0x98164c4c,
229 0xbc945e5e, 0xf09f7878, 0x70e53838, 0x05988c8c,
230 0xbf17d1d1, 0x57e4a5a5, 0xd9a1e2e2, 0xc24e6161,
231 0x7b42b3b3, 0x42342121, 0x25089c9c, 0x3cee1e1e,
232 0x86614343, 0x93b1c7c7, 0xe54ffcfc, 0x08240404,
233 0xa2e35151, 0x2f259999, 0xda226d6d, 0x1a650d0d,
234 0xe979fafa, 0xa369dfdf, 0xfca97e7e, 0x48192424,
235 0x76fe3b3b, 0x4b9aabab, 0x81f0cece, 0x22991111,
236 0x03838f8f, 0x9c044e4e, 0x7366b7b7, 0xcbe0ebeb,
237 0x78c13c3c, 0x1ffd8181, 0x35409494, 0xf31cf7f7,
238 0x6f18b9b9, 0x268b1313, 0x58512c2c, 0xbb05d3d3,
239 0xd38ce7e7, 0xdc396e6e, 0x95aac4c4, 0x061b0303,
240 0xacdc5656, 0x885e4444, 0xfea07f7f, 0x4f88a9a9,
241 0x54672a2a, 0x6b0abbbb, 0x9f87c1c1, 0xa6f15353,
242 0xa572dcdc, 0x16530b0b, 0x27019d9d, 0xd82b6c6c,
243 0x62a43131, 0xe8f37474, 0xf115f6f6, 0x8c4c4646,
244 0x45a5acac, 0x0fb58989, 0x28b41414, 0xdfbae1e1,
245 0x2ca61616, 0x74f73a3a, 0xd2066969, 0x12410909,
246 0xe0d77070, 0x716fb6b6, 0xbd1ed0d0, 0xc7d6eded,
247 0x85e2cccc, 0x84684242, 0x2d2c9898, 0x55eda4a4,
248 0x50752828, 0xb8865c5c, 0xed6bf8f8, 0x11c28686,
251 0x7830d818, 0xaf462623, 0xf991b8c6, 0x6fcdfbe8,
252 0xa113cb87, 0x626d11b8, 0x05020901, 0x6e9e0d4f,
253 0xee6c9b36, 0x0451ffa6, 0xbdb90cd2, 0x06f70ef5,
254 0x80f29679, 0xcede306f, 0xef3f6d91, 0x07a4f852,
255 0xfdc04760, 0x766535bc, 0xcd2b379b, 0x8c018a8e,
256 0x155bd2a3, 0x3c186c0c, 0x8af6847b, 0xe16a8035,
257 0x693af51d, 0x47ddb3e0, 0xacb321d7, 0xed999cc2,
258 0x965c432e, 0x7a96294b, 0x21e15dfe, 0x16aed557,
259 0x412abd15, 0xb6eee877, 0xeb6e9237, 0x56d79ee5,
260 0xd923139f, 0x17fd23f0, 0x7f94204a, 0x95a944da,
261 0x25b0a258, 0xca8fcfc9, 0x8d527c29, 0x22145a0a,
262 0x4f7f50b1, 0x1a5dc9a0, 0xdad6146b, 0xab17d985,
263 0x73673cbd, 0x34ba8f5d, 0x50209010, 0x03f507f4,
264 0xc08bddcb, 0xc67cd33e, 0x110a2d05, 0xe6ce7867,
265 0x53d597e4, 0xbb4e0227, 0x58827341, 0x9d0ba78b,
266 0x0153f6a7, 0x94fab27d, 0xfb374995, 0x9fad56d8,
267 0x30eb70fb, 0x71c1cdee, 0x91f8bb7c, 0xe3cc7166,
268 0x8ea77bdd, 0x4b2eaf17, 0x468e4547, 0xdc211a9e,
269 0xc589d4ca, 0x995a582d, 0x79632ebf, 0x1b0e3f07,
270 0x2347acad, 0x2fb4b05a, 0xb51bef83, 0xff66b633,
271 0xf2c65c63, 0x0a041202, 0x384993aa, 0xa8e2de71,
272 0xcf8dc6c8, 0x7d32d119, 0x70923b49, 0x9aaf5fd9,
273 0x1df931f2, 0x48dba8e3, 0x2ab6b95b, 0x920dbc88,
274 0xc8293e9a, 0xbe4c0b26, 0xfa64bf32, 0x4a7d59b0,
275 0x6acff2e9, 0x331e770f, 0xa6b733d5, 0xba1df480,
276 0x7c6127be, 0xde87ebcd, 0xe4688934, 0x75903248,
277 0x24e354ff, 0x8ff48d7a, 0xea3d6490, 0x3ebe9d5f,
278 0xa0403d20, 0xd5d00f68, 0x7234ca1a, 0x2c41b7ae,
279 0x5e757db4, 0x19a8ce54, 0xe53b7f93, 0xaa442f22,
280 0xe9c86364, 0x12ff2af1, 0xa2e6cc73, 0x5a248212,
281 0x5d807a40, 0x28104808, 0xe89b95c3, 0x7bc5dfec,
282 0x90ab4ddb, 0x1f5fc0a1, 0x8307918d, 0xc97ac83d,
283 0xf1335b97, 0x00000000, 0xd483f9cf, 0x87566e2b,
284 0xb3ece176, 0xb019e682, 0xa9b128d6, 0x7736c31b,
285 0x5b7774b5, 0x2943beaf, 0xdfd41d6a, 0x0da0ea50,
286 0x4c8a5745, 0x18fb38f3, 0xf060ad30, 0x74c3c4ef,
287 0xc37eda3f, 0x1caac755, 0x1059dba2, 0x65c9e9ea,
288 0xecca6a65, 0x686903ba, 0x935e4a2f, 0xe79d8ec0,
289 0x81a160de, 0x6c38fc1c, 0x2ee746fd, 0x649a1f4d,
290 0xe0397692, 0xbceafa75, 0x1e0c3606, 0x9809ae8a,
291 0x40794bb2, 0x59d185e6, 0x361c7e0e, 0x633ee71f,
292 0xf7c45562, 0xa3b53ad4, 0x324d81a8, 0xf4315296,
293 0x3aef62f9, 0xf697a3c5, 0xb14a1025, 0x20b2ab59,
294 0xae15d084, 0xa7e4c572, 0xdd72ec39, 0x6198164c,
295 0x3bbc945e, 0x85f09f78, 0xd870e538, 0x8605988c,
296 0xb2bf17d1, 0x0b57e4a5, 0x4dd9a1e2, 0xf8c24e61,
297 0x457b42b3, 0xa5423421, 0xd625089c, 0x663cee1e,
298 0x52866143, 0xfc93b1c7, 0x2be54ffc, 0x14082404,
299 0x08a2e351, 0xc72f2599, 0xc4da226d, 0x391a650d,
300 0x35e979fa, 0x84a369df, 0x9bfca97e, 0xb4481924,
301 0xd776fe3b, 0x3d4b9aab, 0xd181f0ce, 0x55229911,
302 0x8903838f, 0x6b9c044e, 0x517366b7, 0x60cbe0eb,
303 0xcc78c13c, 0xbf1ffd81, 0xfe354094, 0x0cf31cf7,
304 0x676f18b9, 0x5f268b13, 0x9c58512c, 0xb8bb05d3,
305 0x5cd38ce7, 0xcbdc396e, 0xf395aac4, 0x0f061b03,
306 0x13acdc56, 0x49885e44, 0x9efea07f, 0x374f88a9,
307 0x8254672a, 0x6d6b0abb, 0xe29f87c1, 0x02a6f153,
308 0x8ba572dc, 0x2716530b, 0xd327019d, 0xc1d82b6c,
309 0xf562a431, 0xb9e8f374, 0x09f115f6, 0x438c4c46,
310 0x2645a5ac, 0x970fb589, 0x4428b414, 0x42dfbae1,
311 0x4e2ca616, 0xd274f73a, 0xd0d20669, 0x2d124109,
312 0xade0d770, 0x54716fb6, 0xb7bd1ed0, 0x7ec7d6ed,
313 0xdb85e2cc, 0x57846842, 0xc22d2c98, 0x0e55eda4,
314 0x88507528, 0x31b8865c, 0x3fed6bf8, 0xa411c286,
317 0xc07830d8, 0x05af4626, 0x7ef991b8, 0x136fcdfb,
318 0x4ca113cb, 0xa9626d11, 0x08050209, 0x426e9e0d,
319 0xadee6c9b, 0x590451ff, 0xdebdb90c, 0xfb06f70e,
320 0xef80f296, 0x5fcede30, 0xfcef3f6d, 0xaa07a4f8,
321 0x27fdc047, 0x89766535, 0xaccd2b37, 0x048c018a,
322 0x71155bd2, 0x603c186c, 0xff8af684, 0xb5e16a80,
323 0xe8693af5, 0x5347ddb3, 0xf6acb321, 0x5eed999c,
324 0x6d965c43, 0x627a9629, 0xa321e15d, 0x8216aed5,
325 0xa8412abd, 0x9fb6eee8, 0xa5eb6e92, 0x7b56d79e,
326 0x8cd92313, 0xd317fd23, 0x6a7f9420, 0x9e95a944,
327 0xfa25b0a2, 0x06ca8fcf, 0x558d527c, 0x5022145a,
328 0xe14f7f50, 0x691a5dc9, 0x7fdad614, 0x5cab17d9,
329 0x8173673c, 0xd234ba8f, 0x80502090, 0xf303f507,
330 0x16c08bdd, 0xedc67cd3, 0x28110a2d, 0x1fe6ce78,
331 0x7353d597, 0x25bb4e02, 0x32588273, 0x2c9d0ba7,
332 0x510153f6, 0xcf94fab2, 0xdcfb3749, 0x8e9fad56,
333 0x8b30eb70, 0x2371c1cd, 0xc791f8bb, 0x17e3cc71,
334 0xa68ea77b, 0xb84b2eaf, 0x02468e45, 0x84dc211a,
335 0x1ec589d4, 0x75995a58, 0x9179632e, 0x381b0e3f,
336 0x012347ac, 0xea2fb4b0, 0x6cb51bef, 0x85ff66b6,
337 0x3ff2c65c, 0x100a0412, 0x39384993, 0xafa8e2de,
338 0x0ecf8dc6, 0xc87d32d1, 0x7270923b, 0x869aaf5f,
339 0xc31df931, 0x4b48dba8, 0xe22ab6b9, 0x34920dbc,
340 0xa4c8293e, 0x2dbe4c0b, 0x8dfa64bf, 0xe94a7d59,
341 0x1b6acff2, 0x78331e77, 0xe6a6b733, 0x74ba1df4,
342 0x997c6127, 0x26de87eb, 0xbde46889, 0x7a759032,
343 0xab24e354, 0xf78ff48d, 0xf4ea3d64, 0xc23ebe9d,
344 0x1da0403d, 0x67d5d00f, 0xd07234ca, 0x192c41b7,
345 0xc95e757d, 0x9a19a8ce, 0xece53b7f, 0x0daa442f,
346 0x07e9c863, 0xdb12ff2a, 0xbfa2e6cc, 0x905a2482,
347 0x3a5d807a, 0x40281048, 0x56e89b95, 0x337bc5df,
348 0x9690ab4d, 0x611f5fc0, 0x1c830791, 0xf5c97ac8,
349 0xccf1335b, 0x00000000, 0x36d483f9, 0x4587566e,
350 0x97b3ece1, 0x64b019e6, 0xfea9b128, 0xd87736c3,
351 0xc15b7774, 0x112943be, 0x77dfd41d, 0xba0da0ea,
352 0x124c8a57, 0xcb18fb38, 0x9df060ad, 0x2b74c3c4,
353 0xe5c37eda, 0x921caac7, 0x791059db, 0x0365c9e9,
354 0x0fecca6a, 0xb9686903, 0x65935e4a, 0x4ee79d8e,
355 0xbe81a160, 0xe06c38fc, 0xbb2ee746, 0x52649a1f,
356 0xe4e03976, 0x8fbceafa, 0x301e0c36, 0x249809ae,
357 0xf940794b, 0x6359d185, 0x70361c7e, 0xf8633ee7,
358 0x37f7c455, 0xeea3b53a, 0x29324d81, 0xc4f43152,
359 0x9b3aef62, 0x66f697a3, 0x35b14a10, 0xf220b2ab,
360 0x54ae15d0, 0xb7a7e4c5, 0xd5dd72ec, 0x5a619816,
361 0xca3bbc94, 0xe785f09f, 0xddd870e5, 0x14860598,
362 0xc6b2bf17, 0x410b57e4, 0x434dd9a1, 0x2ff8c24e,
363 0xf1457b42, 0x15a54234, 0x94d62508, 0xf0663cee,
364 0x22528661, 0x76fc93b1, 0xb32be54f, 0x20140824,
365 0xb208a2e3, 0xbcc72f25, 0x4fc4da22, 0x68391a65,
366 0x8335e979, 0xb684a369, 0xd79bfca9, 0x3db44819,
367 0xc5d776fe, 0x313d4b9a, 0x3ed181f0, 0x88552299,
368 0x0c890383, 0x4a6b9c04, 0xd1517366, 0x0b60cbe0,
369 0xfdcc78c1, 0x7cbf1ffd, 0xd4fe3540, 0xeb0cf31c,
370 0xa1676f18, 0x985f268b, 0x7d9c5851, 0xd6b8bb05,
371 0x6b5cd38c, 0x57cbdc39, 0x6ef395aa, 0x180f061b,
372 0x8a13acdc, 0x1a49885e, 0xdf9efea0, 0x21374f88,
373 0x4d825467, 0xb16d6b0a, 0x46e29f87, 0xa202a6f1,
374 0xae8ba572, 0x58271653, 0x9cd32701, 0x47c1d82b,
375 0x95f562a4, 0x87b9e8f3, 0xe309f115, 0x0a438c4c,
376 0x092645a5, 0x3c970fb5, 0xa04428b4, 0x5b42dfba,
377 0xb04e2ca6, 0xcdd274f7, 0x6fd0d206, 0x482d1241,
378 0xa7ade0d7, 0xd954716f, 0xceb7bd1e, 0x3b7ec7d6,
379 0x2edb85e2, 0x2a578468, 0xb4c22d2c, 0x490e55ed,
380 0x5d885075, 0xda31b886, 0x933fed6b, 0x44a411c2,
383 0x18c07830, 0x2305af46, 0xc67ef991, 0xe8136fcd,
384 0x874ca113, 0xb8a9626d, 0x01080502, 0x4f426e9e,
385 0x36adee6c, 0xa6590451, 0xd2debdb9, 0xf5fb06f7,
386 0x79ef80f2, 0x6f5fcede, 0x91fcef3f, 0x52aa07a4,
387 0x6027fdc0, 0xbc897665, 0x9baccd2b, 0x8e048c01,
388 0xa371155b, 0x0c603c18, 0x7bff8af6, 0x35b5e16a,
389 0x1de8693a, 0xe05347dd, 0xd7f6acb3, 0xc25eed99,
390 0x2e6d965c, 0x4b627a96, 0xfea321e1, 0x578216ae,
391 0x15a8412a, 0x779fb6ee, 0x37a5eb6e, 0xe57b56d7,
392 0x9f8cd923, 0xf0d317fd, 0x4a6a7f94, 0xda9e95a9,
393 0x58fa25b0, 0xc906ca8f, 0x29558d52, 0x0a502214,
394 0xb1e14f7f, 0xa0691a5d, 0x6b7fdad6, 0x855cab17,
395 0xbd817367, 0x5dd234ba, 0x10805020, 0xf4f303f5,
396 0xcb16c08b, 0x3eedc67c, 0x0528110a, 0x671fe6ce,
397 0xe47353d5, 0x2725bb4e, 0x41325882, 0x8b2c9d0b,
398 0xa7510153, 0x7dcf94fa, 0x95dcfb37, 0xd88e9fad,
399 0xfb8b30eb, 0xee2371c1, 0x7cc791f8, 0x6617e3cc,
400 0xdda68ea7, 0x17b84b2e, 0x4702468e, 0x9e84dc21,
401 0xca1ec589, 0x2d75995a, 0xbf917963, 0x07381b0e,
402 0xad012347, 0x5aea2fb4, 0x836cb51b, 0x3385ff66,
403 0x633ff2c6, 0x02100a04, 0xaa393849, 0x71afa8e2,
404 0xc80ecf8d, 0x19c87d32, 0x49727092, 0xd9869aaf,
405 0xf2c31df9, 0xe34b48db, 0x5be22ab6, 0x8834920d,
406 0x9aa4c829, 0x262dbe4c, 0x328dfa64, 0xb0e94a7d,
407 0xe91b6acf, 0x0f78331e, 0xd5e6a6b7, 0x8074ba1d,
408 0xbe997c61, 0xcd26de87, 0x34bde468, 0x487a7590,
409 0xffab24e3, 0x7af78ff4, 0x90f4ea3d, 0x5fc23ebe,
410 0x201da040, 0x6867d5d0, 0x1ad07234, 0xae192c41,
411 0xb4c95e75, 0x549a19a8, 0x93ece53b, 0x220daa44,
412 0x6407e9c8, 0xf1db12ff, 0x73bfa2e6, 0x12905a24,
413 0x403a5d80, 0x08402810, 0xc356e89b, 0xec337bc5,
414 0xdb9690ab, 0xa1611f5f, 0x8d1c8307, 0x3df5c97a,
415 0x97ccf133, 0x00000000, 0xcf36d483, 0x2b458756,
416 0x7697b3ec, 0x8264b019, 0xd6fea9b1, 0x1bd87736,
417 0xb5c15b77, 0xaf112943, 0x6a77dfd4, 0x50ba0da0,
418 0x45124c8a, 0xf3cb18fb, 0x309df060, 0xef2b74c3,
419 0x3fe5c37e, 0x55921caa, 0xa2791059, 0xea0365c9,
420 0x650fecca, 0xbab96869, 0x2f65935e, 0xc04ee79d,
421 0xdebe81a1, 0x1ce06c38, 0xfdbb2ee7, 0x4d52649a,
422 0x92e4e039, 0x758fbcea, 0x06301e0c, 0x8a249809,
423 0xb2f94079, 0xe66359d1, 0x0e70361c, 0x1ff8633e,
424 0x6237f7c4, 0xd4eea3b5, 0xa829324d, 0x96c4f431,
425 0xf99b3aef, 0xc566f697, 0x2535b14a, 0x59f220b2,
426 0x8454ae15, 0x72b7a7e4, 0x39d5dd72, 0x4c5a6198,
427 0x5eca3bbc, 0x78e785f0, 0x38ddd870, 0x8c148605,
428 0xd1c6b2bf, 0xa5410b57, 0xe2434dd9, 0x612ff8c2,
429 0xb3f1457b, 0x2115a542, 0x9c94d625, 0x1ef0663c,
430 0x43225286, 0xc776fc93, 0xfcb32be5, 0x04201408,
431 0x51b208a2, 0x99bcc72f, 0x6d4fc4da, 0x0d68391a,
432 0xfa8335e9, 0xdfb684a3, 0x7ed79bfc, 0x243db448,
433 0x3bc5d776, 0xab313d4b, 0xce3ed181, 0x11885522,
434 0x8f0c8903, 0x4e4a6b9c, 0xb7d15173, 0xeb0b60cb,
435 0x3cfdcc78, 0x817cbf1f, 0x94d4fe35, 0xf7eb0cf3,
436 0xb9a1676f, 0x13985f26, 0x2c7d9c58, 0xd3d6b8bb,
437 0xe76b5cd3, 0x6e57cbdc, 0xc46ef395, 0x03180f06,
438 0x568a13ac, 0x441a4988, 0x7fdf9efe, 0xa921374f,
439 0x2a4d8254, 0xbbb16d6b, 0xc146e29f, 0x53a202a6,
440 0xdcae8ba5, 0x0b582716, 0x9d9cd327, 0x6c47c1d8,
441 0x3195f562, 0x7487b9e8, 0xf6e309f1, 0x460a438c,
442 0xac092645, 0x893c970f, 0x14a04428, 0xe15b42df,
443 0x16b04e2c, 0x3acdd274, 0x696fd0d2, 0x09482d12,
444 0x70a7ade0, 0xb6d95471, 0xd0ceb7bd, 0xed3b7ec7,
445 0xcc2edb85, 0x422a5784, 0x98b4c22d, 0xa4490e55,
446 0x285d8850, 0x5cda31b8, 0xf8933fed, 0x8644a411,
449 0x6018c078, 0x8c2305af, 0x3fc67ef9, 0x87e8136f,
450 0x26874ca1, 0xdab8a962, 0x04010805, 0x214f426e,
451 0xd836adee, 0xa2a65904, 0x6fd2debd, 0xf3f5fb06,
452 0xf979ef80, 0xa16f5fce, 0x7e91fcef, 0x5552aa07,
453 0x9d6027fd, 0xcabc8976, 0x569baccd, 0x028e048c,
454 0xb6a37115, 0x300c603c, 0xf17bff8a, 0xd435b5e1,
455 0x741de869, 0xa7e05347, 0x7bd7f6ac, 0x2fc25eed,
456 0xb82e6d96, 0x314b627a, 0xdffea321, 0x41578216,
457 0x5415a841, 0xc1779fb6, 0xdc37a5eb, 0xb3e57b56,
458 0x469f8cd9, 0xe7f0d317, 0x354a6a7f, 0x4fda9e95,
459 0x7d58fa25, 0x03c906ca, 0xa429558d, 0x280a5022,
460 0xfeb1e14f, 0xbaa0691a, 0xb16b7fda, 0x2e855cab,
461 0xcebd8173, 0x695dd234, 0x40108050, 0xf7f4f303,
462 0x0bcb16c0, 0xf83eedc6, 0x14052811, 0x81671fe6,
463 0xb7e47353, 0x9c2725bb, 0x19413258, 0x168b2c9d,
464 0xa6a75101, 0xe97dcf94, 0x6e95dcfb, 0x47d88e9f,
465 0xcbfb8b30, 0x9fee2371, 0xed7cc791, 0x856617e3,
466 0x53dda68e, 0x5c17b84b, 0x01470246, 0x429e84dc,
467 0x0fca1ec5, 0xb42d7599, 0xc6bf9179, 0x1c07381b,
468 0x8ead0123, 0x755aea2f, 0x36836cb5, 0xcc3385ff,
469 0x91633ff2, 0x0802100a, 0x92aa3938, 0xd971afa8,
470 0x07c80ecf, 0x6419c87d, 0x39497270, 0x43d9869a,
471 0xeff2c31d, 0xabe34b48, 0x715be22a, 0x1a883492,
472 0x529aa4c8, 0x98262dbe, 0xc8328dfa, 0xfab0e94a,
473 0x83e91b6a, 0x3c0f7833, 0x73d5e6a6, 0x3a8074ba,
474 0xc2be997c, 0x13cd26de, 0xd034bde4, 0x3d487a75,
475 0xdbffab24, 0xf57af78f, 0x7a90f4ea, 0x615fc23e,
476 0x80201da0, 0xbd6867d5, 0x681ad072, 0x82ae192c,
477 0xeab4c95e, 0x4d549a19, 0x7693ece5, 0x88220daa,
478 0x8d6407e9, 0xe3f1db12, 0xd173bfa2, 0x4812905a,
479 0x1d403a5d, 0x20084028, 0x2bc356e8, 0x97ec337b,
480 0x4bdb9690, 0xbea1611f, 0x0e8d1c83, 0xf43df5c9,
481 0x6697ccf1, 0x00000000, 0x1bcf36d4, 0xac2b4587,
482 0xc57697b3, 0x328264b0, 0x7fd6fea9, 0x6c1bd877,
483 0xeeb5c15b, 0x86af1129, 0xb56a77df, 0x5d50ba0d,
484 0x0945124c, 0xebf3cb18, 0xc0309df0, 0x9bef2b74,
485 0xfc3fe5c3, 0x4955921c, 0xb2a27910, 0x8fea0365,
486 0x89650fec, 0xd2bab968, 0xbc2f6593, 0x27c04ee7,
487 0x5fdebe81, 0x701ce06c, 0xd3fdbb2e, 0x294d5264,
488 0x7292e4e0, 0xc9758fbc, 0x1806301e, 0x128a2498,
489 0xf2b2f940, 0xbfe66359, 0x380e7036, 0x7c1ff863,
490 0x956237f7, 0x77d4eea3, 0x9aa82932, 0x6296c4f4,
491 0xc3f99b3a, 0x33c566f6, 0x942535b1, 0x7959f220,
492 0x2a8454ae, 0xd572b7a7, 0xe439d5dd, 0x2d4c5a61,
493 0x655eca3b, 0xfd78e785, 0xe038ddd8, 0x0a8c1486,
494 0x63d1c6b2, 0xaea5410b, 0xafe2434d, 0x99612ff8,
495 0xf6b3f145, 0x842115a5, 0x4a9c94d6, 0x781ef066,
496 0x11432252, 0x3bc776fc, 0xd7fcb32b, 0x10042014,
497 0x5951b208, 0x5e99bcc7, 0xa96d4fc4, 0x340d6839,
498 0xcffa8335, 0x5bdfb684, 0xe57ed79b, 0x90243db4,
499 0xec3bc5d7, 0x96ab313d, 0x1fce3ed1, 0x44118855,
500 0x068f0c89, 0x254e4a6b, 0xe6b7d151, 0x8beb0b60,
501 0xf03cfdcc, 0x3e817cbf, 0x6a94d4fe, 0xfbf7eb0c,
502 0xdeb9a167, 0x4c13985f, 0xb02c7d9c, 0x6bd3d6b8,
503 0xbbe76b5c, 0xa56e57cb, 0x37c46ef3, 0x0c03180f,
504 0x45568a13, 0x0d441a49, 0xe17fdf9e, 0x9ea92137,
505 0xa82a4d82, 0xd6bbb16d, 0x23c146e2, 0x5153a202,
506 0x57dcae8b, 0x2c0b5827, 0x4e9d9cd3, 0xad6c47c1,
507 0xc43195f5, 0xcd7487b9, 0xfff6e309, 0x05460a43,
508 0x8aac0926, 0x1e893c97, 0x5014a044, 0xa3e15b42,
509 0x5816b04e, 0xe83acdd2, 0xb9696fd0, 0x2409482d,
510 0xdd70a7ad, 0xe2b6d954, 0x67d0ceb7, 0x93ed3b7e,
511 0x17cc2edb, 0x15422a57, 0x5a98b4c2, 0xaaa4490e,
512 0xa0285d88, 0x6d5cda31, 0xc7f8933f, 0x228644a4,
515 0x186018c0, 0x238c2305, 0xc63fc67e, 0xe887e813,
516 0x8726874c, 0xb8dab8a9, 0x01040108, 0x4f214f42,
517 0x36d836ad, 0xa6a2a659, 0xd26fd2de, 0xf5f3f5fb,
518 0x79f979ef, 0x6fa16f5f, 0x917e91fc, 0x525552aa,
519 0x609d6027, 0xbccabc89, 0x9b569bac, 0x8e028e04,
520 0xa3b6a371, 0x0c300c60, 0x7bf17bff, 0x35d435b5,
521 0x1d741de8, 0xe0a7e053, 0xd77bd7f6, 0xc22fc25e,
522 0x2eb82e6d, 0x4b314b62, 0xfedffea3, 0x57415782,
523 0x155415a8, 0x77c1779f, 0x37dc37a5, 0xe5b3e57b,
524 0x9f469f8c, 0xf0e7f0d3, 0x4a354a6a, 0xda4fda9e,
525 0x587d58fa, 0xc903c906, 0x29a42955, 0x0a280a50,
526 0xb1feb1e1, 0xa0baa069, 0x6bb16b7f, 0x852e855c,
527 0xbdcebd81, 0x5d695dd2, 0x10401080, 0xf4f7f4f3,
528 0xcb0bcb16, 0x3ef83eed, 0x05140528, 0x6781671f,
529 0xe4b7e473, 0x279c2725, 0x41194132, 0x8b168b2c,
530 0xa7a6a751, 0x7de97dcf, 0x956e95dc, 0xd847d88e,
531 0xfbcbfb8b, 0xee9fee23, 0x7ced7cc7, 0x66856617,
532 0xdd53dda6, 0x175c17b8, 0x47014702, 0x9e429e84,
533 0xca0fca1e, 0x2db42d75, 0xbfc6bf91, 0x071c0738,
534 0xad8ead01, 0x5a755aea, 0x8336836c, 0x33cc3385,
535 0x6391633f, 0x02080210, 0xaa92aa39, 0x71d971af,
536 0xc807c80e, 0x196419c8, 0x49394972, 0xd943d986,
537 0xf2eff2c3, 0xe3abe34b, 0x5b715be2, 0x881a8834,
538 0x9a529aa4, 0x2698262d, 0x32c8328d, 0xb0fab0e9,
539 0xe983e91b, 0x0f3c0f78, 0xd573d5e6, 0x803a8074,
540 0xbec2be99, 0xcd13cd26, 0x34d034bd, 0x483d487a,
541 0xffdbffab, 0x7af57af7, 0x907a90f4, 0x5f615fc2,
542 0x2080201d, 0x68bd6867, 0x1a681ad0, 0xae82ae19,
543 0xb4eab4c9, 0x544d549a, 0x937693ec, 0x2288220d,
544 0x648d6407, 0xf1e3f1db, 0x73d173bf, 0x12481290,
545 0x401d403a, 0x08200840, 0xc32bc356, 0xec97ec33,
546 0xdb4bdb96, 0xa1bea161, 0x8d0e8d1c, 0x3df43df5,
547 0x976697cc, 0x00000000, 0xcf1bcf36, 0x2bac2b45,
548 0x76c57697, 0x82328264, 0xd67fd6fe, 0x1b6c1bd8,
549 0xb5eeb5c1, 0xaf86af11, 0x6ab56a77, 0x505d50ba,
550 0x45094512, 0xf3ebf3cb, 0x30c0309d, 0xef9bef2b,
551 0x3ffc3fe5, 0x55495592, 0xa2b2a279, 0xea8fea03,
552 0x6589650f, 0xbad2bab9, 0x2fbc2f65, 0xc027c04e,
553 0xde5fdebe, 0x1c701ce0, 0xfdd3fdbb, 0x4d294d52,
554 0x927292e4, 0x75c9758f, 0x06180630, 0x8a128a24,
555 0xb2f2b2f9, 0xe6bfe663, 0x0e380e70, 0x1f7c1ff8,
556 0x62956237, 0xd477d4ee, 0xa89aa829, 0x966296c4,
557 0xf9c3f99b, 0xc533c566, 0x25942535, 0x597959f2,
558 0x842a8454, 0x72d572b7, 0x39e439d5, 0x4c2d4c5a,
559 0x5e655eca, 0x78fd78e7, 0x38e038dd, 0x8c0a8c14,
560 0xd163d1c6, 0xa5aea541, 0xe2afe243, 0x6199612f,
561 0xb3f6b3f1, 0x21842115, 0x9c4a9c94, 0x1e781ef0,
562 0x43114322, 0xc73bc776, 0xfcd7fcb3, 0x04100420,
563 0x515951b2, 0x995e99bc, 0x6da96d4f, 0x0d340d68,
564 0xfacffa83, 0xdf5bdfb6, 0x7ee57ed7, 0x2490243d,
565 0x3bec3bc5, 0xab96ab31, 0xce1fce3e, 0x11441188,
566 0x8f068f0c, 0x4e254e4a, 0xb7e6b7d1, 0xeb8beb0b,
567 0x3cf03cfd, 0x813e817c, 0x946a94d4, 0xf7fbf7eb,
568 0xb9deb9a1, 0x134c1398, 0x2cb02c7d, 0xd36bd3d6,
569 0xe7bbe76b, 0x6ea56e57, 0xc437c46e, 0x030c0318,
570 0x5645568a, 0x440d441a, 0x7fe17fdf, 0xa99ea921,
571 0x2aa82a4d, 0xbbd6bbb1, 0xc123c146, 0x535153a2,
572 0xdc57dcae, 0x0b2c0b58, 0x9d4e9d9c, 0x6cad6c47,
573 0x31c43195, 0x74cd7487, 0xf6fff6e3, 0x4605460a,
574 0xac8aac09, 0x891e893c, 0x145014a0, 0xe1a3e15b,
575 0x165816b0, 0x3ae83acd, 0x69b9696f, 0x09240948,
576 0x70dd70a7, 0xb6e2b6d9, 0xd067d0ce, 0xed93ed3b,
577 0xcc17cc2e, 0x4215422a, 0x985a98b4, 0xa4aaa449,
578 0x28a0285d, 0x5c6d5cda, 0xf8c7f893, 0x86228644,
582 __device__ static u32 Cl[8][256] =
585 0xc07830d8, 0x05af4626, 0x7ef991b8, 0x136fcdfb,
586 0x4ca113cb, 0xa9626d11, 0x08050209, 0x426e9e0d,
587 0xadee6c9b, 0x590451ff, 0xdebdb90c, 0xfb06f70e,
588 0xef80f296, 0x5fcede30, 0xfcef3f6d, 0xaa07a4f8,
589 0x27fdc047, 0x89766535, 0xaccd2b37, 0x048c018a,
590 0x71155bd2, 0x603c186c, 0xff8af684, 0xb5e16a80,
591 0xe8693af5, 0x5347ddb3, 0xf6acb321, 0x5eed999c,
592 0x6d965c43, 0x627a9629, 0xa321e15d, 0x8216aed5,
593 0xa8412abd, 0x9fb6eee8, 0xa5eb6e92, 0x7b56d79e,
594 0x8cd92313, 0xd317fd23, 0x6a7f9420, 0x9e95a944,
595 0xfa25b0a2, 0x06ca8fcf, 0x558d527c, 0x5022145a,
596 0xe14f7f50, 0x691a5dc9, 0x7fdad614, 0x5cab17d9,
597 0x8173673c, 0xd234ba8f, 0x80502090, 0xf303f507,
598 0x16c08bdd, 0xedc67cd3, 0x28110a2d, 0x1fe6ce78,
599 0x7353d597, 0x25bb4e02, 0x32588273, 0x2c9d0ba7,
600 0x510153f6, 0xcf94fab2, 0xdcfb3749, 0x8e9fad56,
601 0x8b30eb70, 0x2371c1cd, 0xc791f8bb, 0x17e3cc71,
602 0xa68ea77b, 0xb84b2eaf, 0x02468e45, 0x84dc211a,
603 0x1ec589d4, 0x75995a58, 0x9179632e, 0x381b0e3f,
604 0x012347ac, 0xea2fb4b0, 0x6cb51bef, 0x85ff66b6,
605 0x3ff2c65c, 0x100a0412, 0x39384993, 0xafa8e2de,
606 0x0ecf8dc6, 0xc87d32d1, 0x7270923b, 0x869aaf5f,
607 0xc31df931, 0x4b48dba8, 0xe22ab6b9, 0x34920dbc,
608 0xa4c8293e, 0x2dbe4c0b, 0x8dfa64bf, 0xe94a7d59,
609 0x1b6acff2, 0x78331e77, 0xe6a6b733, 0x74ba1df4,
610 0x997c6127, 0x26de87eb, 0xbde46889, 0x7a759032,
611 0xab24e354, 0xf78ff48d, 0xf4ea3d64, 0xc23ebe9d,
612 0x1da0403d, 0x67d5d00f, 0xd07234ca, 0x192c41b7,
613 0xc95e757d, 0x9a19a8ce, 0xece53b7f, 0x0daa442f,
614 0x07e9c863, 0xdb12ff2a, 0xbfa2e6cc, 0x905a2482,
615 0x3a5d807a, 0x40281048, 0x56e89b95, 0x337bc5df,
616 0x9690ab4d, 0x611f5fc0, 0x1c830791, 0xf5c97ac8,
617 0xccf1335b, 0x00000000, 0x36d483f9, 0x4587566e,
618 0x97b3ece1, 0x64b019e6, 0xfea9b128, 0xd87736c3,
619 0xc15b7774, 0x112943be, 0x77dfd41d, 0xba0da0ea,
620 0x124c8a57, 0xcb18fb38, 0x9df060ad, 0x2b74c3c4,
621 0xe5c37eda, 0x921caac7, 0x791059db, 0x0365c9e9,
622 0x0fecca6a, 0xb9686903, 0x65935e4a, 0x4ee79d8e,
623 0xbe81a160, 0xe06c38fc, 0xbb2ee746, 0x52649a1f,
624 0xe4e03976, 0x8fbceafa, 0x301e0c36, 0x249809ae,
625 0xf940794b, 0x6359d185, 0x70361c7e, 0xf8633ee7,
626 0x37f7c455, 0xeea3b53a, 0x29324d81, 0xc4f43152,
627 0x9b3aef62, 0x66f697a3, 0x35b14a10, 0xf220b2ab,
628 0x54ae15d0, 0xb7a7e4c5, 0xd5dd72ec, 0x5a619816,
629 0xca3bbc94, 0xe785f09f, 0xddd870e5, 0x14860598,
630 0xc6b2bf17, 0x410b57e4, 0x434dd9a1, 0x2ff8c24e,
631 0xf1457b42, 0x15a54234, 0x94d62508, 0xf0663cee,
632 0x22528661, 0x76fc93b1, 0xb32be54f, 0x20140824,
633 0xb208a2e3, 0xbcc72f25, 0x4fc4da22, 0x68391a65,
634 0x8335e979, 0xb684a369, 0xd79bfca9, 0x3db44819,
635 0xc5d776fe, 0x313d4b9a, 0x3ed181f0, 0x88552299,
636 0x0c890383, 0x4a6b9c04, 0xd1517366, 0x0b60cbe0,
637 0xfdcc78c1, 0x7cbf1ffd, 0xd4fe3540, 0xeb0cf31c,
638 0xa1676f18, 0x985f268b, 0x7d9c5851, 0xd6b8bb05,
639 0x6b5cd38c, 0x57cbdc39, 0x6ef395aa, 0x180f061b,
640 0x8a13acdc, 0x1a49885e, 0xdf9efea0, 0x21374f88,
641 0x4d825467, 0xb16d6b0a, 0x46e29f87, 0xa202a6f1,
642 0xae8ba572, 0x58271653, 0x9cd32701, 0x47c1d82b,
643 0x95f562a4, 0x87b9e8f3, 0xe309f115, 0x0a438c4c,
644 0x092645a5, 0x3c970fb5, 0xa04428b4, 0x5b42dfba,
645 0xb04e2ca6, 0xcdd274f7, 0x6fd0d206, 0x482d1241,
646 0xa7ade0d7, 0xd954716f, 0xceb7bd1e, 0x3b7ec7d6,
647 0x2edb85e2, 0x2a578468, 0xb4c22d2c, 0x490e55ed,
648 0x5d885075, 0xda31b886, 0x933fed6b, 0x44a411c2,
651 0x18c07830, 0x2305af46, 0xc67ef991, 0xe8136fcd,
652 0x874ca113, 0xb8a9626d, 0x01080502, 0x4f426e9e,
653 0x36adee6c, 0xa6590451, 0xd2debdb9, 0xf5fb06f7,
654 0x79ef80f2, 0x6f5fcede, 0x91fcef3f, 0x52aa07a4,
655 0x6027fdc0, 0xbc897665, 0x9baccd2b, 0x8e048c01,
656 0xa371155b, 0x0c603c18, 0x7bff8af6, 0x35b5e16a,
657 0x1de8693a, 0xe05347dd, 0xd7f6acb3, 0xc25eed99,
658 0x2e6d965c, 0x4b627a96, 0xfea321e1, 0x578216ae,
659 0x15a8412a, 0x779fb6ee, 0x37a5eb6e, 0xe57b56d7,
660 0x9f8cd923, 0xf0d317fd, 0x4a6a7f94, 0xda9e95a9,
661 0x58fa25b0, 0xc906ca8f, 0x29558d52, 0x0a502214,
662 0xb1e14f7f, 0xa0691a5d, 0x6b7fdad6, 0x855cab17,
663 0xbd817367, 0x5dd234ba, 0x10805020, 0xf4f303f5,
664 0xcb16c08b, 0x3eedc67c, 0x0528110a, 0x671fe6ce,
665 0xe47353d5, 0x2725bb4e, 0x41325882, 0x8b2c9d0b,
666 0xa7510153, 0x7dcf94fa, 0x95dcfb37, 0xd88e9fad,
667 0xfb8b30eb, 0xee2371c1, 0x7cc791f8, 0x6617e3cc,
668 0xdda68ea7, 0x17b84b2e, 0x4702468e, 0x9e84dc21,
669 0xca1ec589, 0x2d75995a, 0xbf917963, 0x07381b0e,
670 0xad012347, 0x5aea2fb4, 0x836cb51b, 0x3385ff66,
671 0x633ff2c6, 0x02100a04, 0xaa393849, 0x71afa8e2,
672 0xc80ecf8d, 0x19c87d32, 0x49727092, 0xd9869aaf,
673 0xf2c31df9, 0xe34b48db, 0x5be22ab6, 0x8834920d,
674 0x9aa4c829, 0x262dbe4c, 0x328dfa64, 0xb0e94a7d,
675 0xe91b6acf, 0x0f78331e, 0xd5e6a6b7, 0x8074ba1d,
676 0xbe997c61, 0xcd26de87, 0x34bde468, 0x487a7590,
677 0xffab24e3, 0x7af78ff4, 0x90f4ea3d, 0x5fc23ebe,
678 0x201da040, 0x6867d5d0, 0x1ad07234, 0xae192c41,
679 0xb4c95e75, 0x549a19a8, 0x93ece53b, 0x220daa44,
680 0x6407e9c8, 0xf1db12ff, 0x73bfa2e6, 0x12905a24,
681 0x403a5d80, 0x08402810, 0xc356e89b, 0xec337bc5,
682 0xdb9690ab, 0xa1611f5f, 0x8d1c8307, 0x3df5c97a,
683 0x97ccf133, 0x00000000, 0xcf36d483, 0x2b458756,
684 0x7697b3ec, 0x8264b019, 0xd6fea9b1, 0x1bd87736,
685 0xb5c15b77, 0xaf112943, 0x6a77dfd4, 0x50ba0da0,
686 0x45124c8a, 0xf3cb18fb, 0x309df060, 0xef2b74c3,
687 0x3fe5c37e, 0x55921caa, 0xa2791059, 0xea0365c9,
688 0x650fecca, 0xbab96869, 0x2f65935e, 0xc04ee79d,
689 0xdebe81a1, 0x1ce06c38, 0xfdbb2ee7, 0x4d52649a,
690 0x92e4e039, 0x758fbcea, 0x06301e0c, 0x8a249809,
691 0xb2f94079, 0xe66359d1, 0x0e70361c, 0x1ff8633e,
692 0x6237f7c4, 0xd4eea3b5, 0xa829324d, 0x96c4f431,
693 0xf99b3aef, 0xc566f697, 0x2535b14a, 0x59f220b2,
694 0x8454ae15, 0x72b7a7e4, 0x39d5dd72, 0x4c5a6198,
695 0x5eca3bbc, 0x78e785f0, 0x38ddd870, 0x8c148605,
696 0xd1c6b2bf, 0xa5410b57, 0xe2434dd9, 0x612ff8c2,
697 0xb3f1457b, 0x2115a542, 0x9c94d625, 0x1ef0663c,
698 0x43225286, 0xc776fc93, 0xfcb32be5, 0x04201408,
699 0x51b208a2, 0x99bcc72f, 0x6d4fc4da, 0x0d68391a,
700 0xfa8335e9, 0xdfb684a3, 0x7ed79bfc, 0x243db448,
701 0x3bc5d776, 0xab313d4b, 0xce3ed181, 0x11885522,
702 0x8f0c8903, 0x4e4a6b9c, 0xb7d15173, 0xeb0b60cb,
703 0x3cfdcc78, 0x817cbf1f, 0x94d4fe35, 0xf7eb0cf3,
704 0xb9a1676f, 0x13985f26, 0x2c7d9c58, 0xd3d6b8bb,
705 0xe76b5cd3, 0x6e57cbdc, 0xc46ef395, 0x03180f06,
706 0x568a13ac, 0x441a4988, 0x7fdf9efe, 0xa921374f,
707 0x2a4d8254, 0xbbb16d6b, 0xc146e29f, 0x53a202a6,
708 0xdcae8ba5, 0x0b582716, 0x9d9cd327, 0x6c47c1d8,
709 0x3195f562, 0x7487b9e8, 0xf6e309f1, 0x460a438c,
710 0xac092645, 0x893c970f, 0x14a04428, 0xe15b42df,
711 0x16b04e2c, 0x3acdd274, 0x696fd0d2, 0x09482d12,
712 0x70a7ade0, 0xb6d95471, 0xd0ceb7bd, 0xed3b7ec7,
713 0xcc2edb85, 0x422a5784, 0x98b4c22d, 0xa4490e55,
714 0x285d8850, 0x5cda31b8, 0xf8933fed, 0x8644a411,
717 0x6018c078, 0x8c2305af, 0x3fc67ef9, 0x87e8136f,
718 0x26874ca1, 0xdab8a962, 0x04010805, 0x214f426e,
719 0xd836adee, 0xa2a65904, 0x6fd2debd, 0xf3f5fb06,
720 0xf979ef80, 0xa16f5fce, 0x7e91fcef, 0x5552aa07,
721 0x9d6027fd, 0xcabc8976, 0x569baccd, 0x028e048c,
722 0xb6a37115, 0x300c603c, 0xf17bff8a, 0xd435b5e1,
723 0x741de869, 0xa7e05347, 0x7bd7f6ac, 0x2fc25eed,
724 0xb82e6d96, 0x314b627a, 0xdffea321, 0x41578216,
725 0x5415a841, 0xc1779fb6, 0xdc37a5eb, 0xb3e57b56,
726 0x469f8cd9, 0xe7f0d317, 0x354a6a7f, 0x4fda9e95,
727 0x7d58fa25, 0x03c906ca, 0xa429558d, 0x280a5022,
728 0xfeb1e14f, 0xbaa0691a, 0xb16b7fda, 0x2e855cab,
729 0xcebd8173, 0x695dd234, 0x40108050, 0xf7f4f303,
730 0x0bcb16c0, 0xf83eedc6, 0x14052811, 0x81671fe6,
731 0xb7e47353, 0x9c2725bb, 0x19413258, 0x168b2c9d,
732 0xa6a75101, 0xe97dcf94, 0x6e95dcfb, 0x47d88e9f,
733 0xcbfb8b30, 0x9fee2371, 0xed7cc791, 0x856617e3,
734 0x53dda68e, 0x5c17b84b, 0x01470246, 0x429e84dc,
735 0x0fca1ec5, 0xb42d7599, 0xc6bf9179, 0x1c07381b,
736 0x8ead0123, 0x755aea2f, 0x36836cb5, 0xcc3385ff,
737 0x91633ff2, 0x0802100a, 0x92aa3938, 0xd971afa8,
738 0x07c80ecf, 0x6419c87d, 0x39497270, 0x43d9869a,
739 0xeff2c31d, 0xabe34b48, 0x715be22a, 0x1a883492,
740 0x529aa4c8, 0x98262dbe, 0xc8328dfa, 0xfab0e94a,
741 0x83e91b6a, 0x3c0f7833, 0x73d5e6a6, 0x3a8074ba,
742 0xc2be997c, 0x13cd26de, 0xd034bde4, 0x3d487a75,
743 0xdbffab24, 0xf57af78f, 0x7a90f4ea, 0x615fc23e,
744 0x80201da0, 0xbd6867d5, 0x681ad072, 0x82ae192c,
745 0xeab4c95e, 0x4d549a19, 0x7693ece5, 0x88220daa,
746 0x8d6407e9, 0xe3f1db12, 0xd173bfa2, 0x4812905a,
747 0x1d403a5d, 0x20084028, 0x2bc356e8, 0x97ec337b,
748 0x4bdb9690, 0xbea1611f, 0x0e8d1c83, 0xf43df5c9,
749 0x6697ccf1, 0x00000000, 0x1bcf36d4, 0xac2b4587,
750 0xc57697b3, 0x328264b0, 0x7fd6fea9, 0x6c1bd877,
751 0xeeb5c15b, 0x86af1129, 0xb56a77df, 0x5d50ba0d,
752 0x0945124c, 0xebf3cb18, 0xc0309df0, 0x9bef2b74,
753 0xfc3fe5c3, 0x4955921c, 0xb2a27910, 0x8fea0365,
754 0x89650fec, 0xd2bab968, 0xbc2f6593, 0x27c04ee7,
755 0x5fdebe81, 0x701ce06c, 0xd3fdbb2e, 0x294d5264,
756 0x7292e4e0, 0xc9758fbc, 0x1806301e, 0x128a2498,
757 0xf2b2f940, 0xbfe66359, 0x380e7036, 0x7c1ff863,
758 0x956237f7, 0x77d4eea3, 0x9aa82932, 0x6296c4f4,
759 0xc3f99b3a, 0x33c566f6, 0x942535b1, 0x7959f220,
760 0x2a8454ae, 0xd572b7a7, 0xe439d5dd, 0x2d4c5a61,
761 0x655eca3b, 0xfd78e785, 0xe038ddd8, 0x0a8c1486,
762 0x63d1c6b2, 0xaea5410b, 0xafe2434d, 0x99612ff8,
763 0xf6b3f145, 0x842115a5, 0x4a9c94d6, 0x781ef066,
764 0x11432252, 0x3bc776fc, 0xd7fcb32b, 0x10042014,
765 0x5951b208, 0x5e99bcc7, 0xa96d4fc4, 0x340d6839,
766 0xcffa8335, 0x5bdfb684, 0xe57ed79b, 0x90243db4,
767 0xec3bc5d7, 0x96ab313d, 0x1fce3ed1, 0x44118855,
768 0x068f0c89, 0x254e4a6b, 0xe6b7d151, 0x8beb0b60,
769 0xf03cfdcc, 0x3e817cbf, 0x6a94d4fe, 0xfbf7eb0c,
770 0xdeb9a167, 0x4c13985f, 0xb02c7d9c, 0x6bd3d6b8,
771 0xbbe76b5c, 0xa56e57cb, 0x37c46ef3, 0x0c03180f,
772 0x45568a13, 0x0d441a49, 0xe17fdf9e, 0x9ea92137,
773 0xa82a4d82, 0xd6bbb16d, 0x23c146e2, 0x5153a202,
774 0x57dcae8b, 0x2c0b5827, 0x4e9d9cd3, 0xad6c47c1,
775 0xc43195f5, 0xcd7487b9, 0xfff6e309, 0x05460a43,
776 0x8aac0926, 0x1e893c97, 0x5014a044, 0xa3e15b42,
777 0x5816b04e, 0xe83acdd2, 0xb9696fd0, 0x2409482d,
778 0xdd70a7ad, 0xe2b6d954, 0x67d0ceb7, 0x93ed3b7e,
779 0x17cc2edb, 0x15422a57, 0x5a98b4c2, 0xaaa4490e,
780 0xa0285d88, 0x6d5cda31, 0xc7f8933f, 0x228644a4,
783 0x186018c0, 0x238c2305, 0xc63fc67e, 0xe887e813,
784 0x8726874c, 0xb8dab8a9, 0x01040108, 0x4f214f42,
785 0x36d836ad, 0xa6a2a659, 0xd26fd2de, 0xf5f3f5fb,
786 0x79f979ef, 0x6fa16f5f, 0x917e91fc, 0x525552aa,
787 0x609d6027, 0xbccabc89, 0x9b569bac, 0x8e028e04,
788 0xa3b6a371, 0x0c300c60, 0x7bf17bff, 0x35d435b5,
789 0x1d741de8, 0xe0a7e053, 0xd77bd7f6, 0xc22fc25e,
790 0x2eb82e6d, 0x4b314b62, 0xfedffea3, 0x57415782,
791 0x155415a8, 0x77c1779f, 0x37dc37a5, 0xe5b3e57b,
792 0x9f469f8c, 0xf0e7f0d3, 0x4a354a6a, 0xda4fda9e,
793 0x587d58fa, 0xc903c906, 0x29a42955, 0x0a280a50,
794 0xb1feb1e1, 0xa0baa069, 0x6bb16b7f, 0x852e855c,
795 0xbdcebd81, 0x5d695dd2, 0x10401080, 0xf4f7f4f3,
796 0xcb0bcb16, 0x3ef83eed, 0x05140528, 0x6781671f,
797 0xe4b7e473, 0x279c2725, 0x41194132, 0x8b168b2c,
798 0xa7a6a751, 0x7de97dcf, 0x956e95dc, 0xd847d88e,
799 0xfbcbfb8b, 0xee9fee23, 0x7ced7cc7, 0x66856617,
800 0xdd53dda6, 0x175c17b8, 0x47014702, 0x9e429e84,
801 0xca0fca1e, 0x2db42d75, 0xbfc6bf91, 0x071c0738,
802 0xad8ead01, 0x5a755aea, 0x8336836c, 0x33cc3385,
803 0x6391633f, 0x02080210, 0xaa92aa39, 0x71d971af,
804 0xc807c80e, 0x196419c8, 0x49394972, 0xd943d986,
805 0xf2eff2c3, 0xe3abe34b, 0x5b715be2, 0x881a8834,
806 0x9a529aa4, 0x2698262d, 0x32c8328d, 0xb0fab0e9,
807 0xe983e91b, 0x0f3c0f78, 0xd573d5e6, 0x803a8074,
808 0xbec2be99, 0xcd13cd26, 0x34d034bd, 0x483d487a,
809 0xffdbffab, 0x7af57af7, 0x907a90f4, 0x5f615fc2,
810 0x2080201d, 0x68bd6867, 0x1a681ad0, 0xae82ae19,
811 0xb4eab4c9, 0x544d549a, 0x937693ec, 0x2288220d,
812 0x648d6407, 0xf1e3f1db, 0x73d173bf, 0x12481290,
813 0x401d403a, 0x08200840, 0xc32bc356, 0xec97ec33,
814 0xdb4bdb96, 0xa1bea161, 0x8d0e8d1c, 0x3df43df5,
815 0x976697cc, 0x00000000, 0xcf1bcf36, 0x2bac2b45,
816 0x76c57697, 0x82328264, 0xd67fd6fe, 0x1b6c1bd8,
817 0xb5eeb5c1, 0xaf86af11, 0x6ab56a77, 0x505d50ba,
818 0x45094512, 0xf3ebf3cb, 0x30c0309d, 0xef9bef2b,
819 0x3ffc3fe5, 0x55495592, 0xa2b2a279, 0xea8fea03,
820 0x6589650f, 0xbad2bab9, 0x2fbc2f65, 0xc027c04e,
821 0xde5fdebe, 0x1c701ce0, 0xfdd3fdbb, 0x4d294d52,
822 0x927292e4, 0x75c9758f, 0x06180630, 0x8a128a24,
823 0xb2f2b2f9, 0xe6bfe663, 0x0e380e70, 0x1f7c1ff8,
824 0x62956237, 0xd477d4ee, 0xa89aa829, 0x966296c4,
825 0xf9c3f99b, 0xc533c566, 0x25942535, 0x597959f2,
826 0x842a8454, 0x72d572b7, 0x39e439d5, 0x4c2d4c5a,
827 0x5e655eca, 0x78fd78e7, 0x38e038dd, 0x8c0a8c14,
828 0xd163d1c6, 0xa5aea541, 0xe2afe243, 0x6199612f,
829 0xb3f6b3f1, 0x21842115, 0x9c4a9c94, 0x1e781ef0,
830 0x43114322, 0xc73bc776, 0xfcd7fcb3, 0x04100420,
831 0x515951b2, 0x995e99bc, 0x6da96d4f, 0x0d340d68,
832 0xfacffa83, 0xdf5bdfb6, 0x7ee57ed7, 0x2490243d,
833 0x3bec3bc5, 0xab96ab31, 0xce1fce3e, 0x11441188,
834 0x8f068f0c, 0x4e254e4a, 0xb7e6b7d1, 0xeb8beb0b,
835 0x3cf03cfd, 0x813e817c, 0x946a94d4, 0xf7fbf7eb,
836 0xb9deb9a1, 0x134c1398, 0x2cb02c7d, 0xd36bd3d6,
837 0xe7bbe76b, 0x6ea56e57, 0xc437c46e, 0x030c0318,
838 0x5645568a, 0x440d441a, 0x7fe17fdf, 0xa99ea921,
839 0x2aa82a4d, 0xbbd6bbb1, 0xc123c146, 0x535153a2,
840 0xdc57dcae, 0x0b2c0b58, 0x9d4e9d9c, 0x6cad6c47,
841 0x31c43195, 0x74cd7487, 0xf6fff6e3, 0x4605460a,
842 0xac8aac09, 0x891e893c, 0x145014a0, 0xe1a3e15b,
843 0x165816b0, 0x3ae83acd, 0x69b9696f, 0x09240948,
844 0x70dd70a7, 0xb6e2b6d9, 0xd067d0ce, 0xed93ed3b,
845 0xcc17cc2e, 0x4215422a, 0x985a98b4, 0xa4aaa449,
846 0x28a0285d, 0x5c6d5cda, 0xf8c7f893, 0x86228644,
849 0x18186018, 0x23238c23, 0xc6c63fc6, 0xe8e887e8,
850 0x87872687, 0xb8b8dab8, 0x01010401, 0x4f4f214f,
851 0x3636d836, 0xa6a6a2a6, 0xd2d26fd2, 0xf5f5f3f5,
852 0x7979f979, 0x6f6fa16f, 0x91917e91, 0x52525552,
853 0x60609d60, 0xbcbccabc, 0x9b9b569b, 0x8e8e028e,
854 0xa3a3b6a3, 0x0c0c300c, 0x7b7bf17b, 0x3535d435,
855 0x1d1d741d, 0xe0e0a7e0, 0xd7d77bd7, 0xc2c22fc2,
856 0x2e2eb82e, 0x4b4b314b, 0xfefedffe, 0x57574157,
857 0x15155415, 0x7777c177, 0x3737dc37, 0xe5e5b3e5,
858 0x9f9f469f, 0xf0f0e7f0, 0x4a4a354a, 0xdada4fda,
859 0x58587d58, 0xc9c903c9, 0x2929a429, 0x0a0a280a,
860 0xb1b1feb1, 0xa0a0baa0, 0x6b6bb16b, 0x85852e85,
861 0xbdbdcebd, 0x5d5d695d, 0x10104010, 0xf4f4f7f4,
862 0xcbcb0bcb, 0x3e3ef83e, 0x05051405, 0x67678167,
863 0xe4e4b7e4, 0x27279c27, 0x41411941, 0x8b8b168b,
864 0xa7a7a6a7, 0x7d7de97d, 0x95956e95, 0xd8d847d8,
865 0xfbfbcbfb, 0xeeee9fee, 0x7c7ced7c, 0x66668566,
866 0xdddd53dd, 0x17175c17, 0x47470147, 0x9e9e429e,
867 0xcaca0fca, 0x2d2db42d, 0xbfbfc6bf, 0x07071c07,
868 0xadad8ead, 0x5a5a755a, 0x83833683, 0x3333cc33,
869 0x63639163, 0x02020802, 0xaaaa92aa, 0x7171d971,
870 0xc8c807c8, 0x19196419, 0x49493949, 0xd9d943d9,
871 0xf2f2eff2, 0xe3e3abe3, 0x5b5b715b, 0x88881a88,
872 0x9a9a529a, 0x26269826, 0x3232c832, 0xb0b0fab0,
873 0xe9e983e9, 0x0f0f3c0f, 0xd5d573d5, 0x80803a80,
874 0xbebec2be, 0xcdcd13cd, 0x3434d034, 0x48483d48,
875 0xffffdbff, 0x7a7af57a, 0x90907a90, 0x5f5f615f,
876 0x20208020, 0x6868bd68, 0x1a1a681a, 0xaeae82ae,
877 0xb4b4eab4, 0x54544d54, 0x93937693, 0x22228822,
878 0x64648d64, 0xf1f1e3f1, 0x7373d173, 0x12124812,
879 0x40401d40, 0x08082008, 0xc3c32bc3, 0xecec97ec,
880 0xdbdb4bdb, 0xa1a1bea1, 0x8d8d0e8d, 0x3d3df43d,
881 0x97976697, 0x00000000, 0xcfcf1bcf, 0x2b2bac2b,
882 0x7676c576, 0x82823282, 0xd6d67fd6, 0x1b1b6c1b,
883 0xb5b5eeb5, 0xafaf86af, 0x6a6ab56a, 0x50505d50,
884 0x45450945, 0xf3f3ebf3, 0x3030c030, 0xefef9bef,
885 0x3f3ffc3f, 0x55554955, 0xa2a2b2a2, 0xeaea8fea,
886 0x65658965, 0xbabad2ba, 0x2f2fbc2f, 0xc0c027c0,
887 0xdede5fde, 0x1c1c701c, 0xfdfdd3fd, 0x4d4d294d,
888 0x92927292, 0x7575c975, 0x06061806, 0x8a8a128a,
889 0xb2b2f2b2, 0xe6e6bfe6, 0x0e0e380e, 0x1f1f7c1f,
890 0x62629562, 0xd4d477d4, 0xa8a89aa8, 0x96966296,
891 0xf9f9c3f9, 0xc5c533c5, 0x25259425, 0x59597959,
892 0x84842a84, 0x7272d572, 0x3939e439, 0x4c4c2d4c,
893 0x5e5e655e, 0x7878fd78, 0x3838e038, 0x8c8c0a8c,
894 0xd1d163d1, 0xa5a5aea5, 0xe2e2afe2, 0x61619961,
895 0xb3b3f6b3, 0x21218421, 0x9c9c4a9c, 0x1e1e781e,
896 0x43431143, 0xc7c73bc7, 0xfcfcd7fc, 0x04041004,
897 0x51515951, 0x99995e99, 0x6d6da96d, 0x0d0d340d,
898 0xfafacffa, 0xdfdf5bdf, 0x7e7ee57e, 0x24249024,
899 0x3b3bec3b, 0xabab96ab, 0xcece1fce, 0x11114411,
900 0x8f8f068f, 0x4e4e254e, 0xb7b7e6b7, 0xebeb8beb,
901 0x3c3cf03c, 0x81813e81, 0x94946a94, 0xf7f7fbf7,
902 0xb9b9deb9, 0x13134c13, 0x2c2cb02c, 0xd3d36bd3,
903 0xe7e7bbe7, 0x6e6ea56e, 0xc4c437c4, 0x03030c03,
904 0x56564556, 0x44440d44, 0x7f7fe17f, 0xa9a99ea9,
905 0x2a2aa82a, 0xbbbbd6bb, 0xc1c123c1, 0x53535153,
906 0xdcdc57dc, 0x0b0b2c0b, 0x9d9d4e9d, 0x6c6cad6c,
907 0x3131c431, 0x7474cd74, 0xf6f6fff6, 0x46460546,
908 0xacac8aac, 0x89891e89, 0x14145014, 0xe1e1a3e1,
909 0x16165816, 0x3a3ae83a, 0x6969b969, 0x09092409,
910 0x7070dd70, 0xb6b6e2b6, 0xd0d067d0, 0xeded93ed,
911 0xcccc17cc, 0x42421542, 0x98985a98, 0xa4a4aaa4,
912 0x2828a028, 0x5c5c6d5c, 0xf8f8c7f8, 0x86862286,
915 0xd8181860, 0x2623238c, 0xb8c6c63f, 0xfbe8e887,
916 0xcb878726, 0x11b8b8da, 0x09010104, 0x0d4f4f21,
917 0x9b3636d8, 0xffa6a6a2, 0x0cd2d26f, 0x0ef5f5f3,
918 0x967979f9, 0x306f6fa1, 0x6d91917e, 0xf8525255,
919 0x4760609d, 0x35bcbcca, 0x379b9b56, 0x8a8e8e02,
920 0xd2a3a3b6, 0x6c0c0c30, 0x847b7bf1, 0x803535d4,
921 0xf51d1d74, 0xb3e0e0a7, 0x21d7d77b, 0x9cc2c22f,
922 0x432e2eb8, 0x294b4b31, 0x5dfefedf, 0xd5575741,
923 0xbd151554, 0xe87777c1, 0x923737dc, 0x9ee5e5b3,
924 0x139f9f46, 0x23f0f0e7, 0x204a4a35, 0x44dada4f,
925 0xa258587d, 0xcfc9c903, 0x7c2929a4, 0x5a0a0a28,
926 0x50b1b1fe, 0xc9a0a0ba, 0x146b6bb1, 0xd985852e,
927 0x3cbdbdce, 0x8f5d5d69, 0x90101040, 0x07f4f4f7,
928 0xddcbcb0b, 0xd33e3ef8, 0x2d050514, 0x78676781,
929 0x97e4e4b7, 0x0227279c, 0x73414119, 0xa78b8b16,
930 0xf6a7a7a6, 0xb27d7de9, 0x4995956e, 0x56d8d847,
931 0x70fbfbcb, 0xcdeeee9f, 0xbb7c7ced, 0x71666685,
932 0x7bdddd53, 0xaf17175c, 0x45474701, 0x1a9e9e42,
933 0xd4caca0f, 0x582d2db4, 0x2ebfbfc6, 0x3f07071c,
934 0xacadad8e, 0xb05a5a75, 0xef838336, 0xb63333cc,
935 0x5c636391, 0x12020208, 0x93aaaa92, 0xde7171d9,
936 0xc6c8c807, 0xd1191964, 0x3b494939, 0x5fd9d943,
937 0x31f2f2ef, 0xa8e3e3ab, 0xb95b5b71, 0xbc88881a,
938 0x3e9a9a52, 0x0b262698, 0xbf3232c8, 0x59b0b0fa,
939 0xf2e9e983, 0x770f0f3c, 0x33d5d573, 0xf480803a,
940 0x27bebec2, 0xebcdcd13, 0x893434d0, 0x3248483d,
941 0x54ffffdb, 0x8d7a7af5, 0x6490907a, 0x9d5f5f61,
942 0x3d202080, 0x0f6868bd, 0xca1a1a68, 0xb7aeae82,
943 0x7db4b4ea, 0xce54544d, 0x7f939376, 0x2f222288,
944 0x6364648d, 0x2af1f1e3, 0xcc7373d1, 0x82121248,
945 0x7a40401d, 0x48080820, 0x95c3c32b, 0xdfecec97,
946 0x4ddbdb4b, 0xc0a1a1be, 0x918d8d0e, 0xc83d3df4,
947 0x5b979766, 0x00000000, 0xf9cfcf1b, 0x6e2b2bac,
948 0xe17676c5, 0xe6828232, 0x28d6d67f, 0xc31b1b6c,
949 0x74b5b5ee, 0xbeafaf86, 0x1d6a6ab5, 0xea50505d,
950 0x57454509, 0x38f3f3eb, 0xad3030c0, 0xc4efef9b,
951 0xda3f3ffc, 0xc7555549, 0xdba2a2b2, 0xe9eaea8f,
952 0x6a656589, 0x03babad2, 0x4a2f2fbc, 0x8ec0c027,
953 0x60dede5f, 0xfc1c1c70, 0x46fdfdd3, 0x1f4d4d29,
954 0x76929272, 0xfa7575c9, 0x36060618, 0xae8a8a12,
955 0x4bb2b2f2, 0x85e6e6bf, 0x7e0e0e38, 0xe71f1f7c,
956 0x55626295, 0x3ad4d477, 0x81a8a89a, 0x52969662,
957 0x62f9f9c3, 0xa3c5c533, 0x10252594, 0xab595979,
958 0xd084842a, 0xc57272d5, 0xec3939e4, 0x164c4c2d,
959 0x945e5e65, 0x9f7878fd, 0xe53838e0, 0x988c8c0a,
960 0x17d1d163, 0xe4a5a5ae, 0xa1e2e2af, 0x4e616199,
961 0x42b3b3f6, 0x34212184, 0x089c9c4a, 0xee1e1e78,
962 0x61434311, 0xb1c7c73b, 0x4ffcfcd7, 0x24040410,
963 0xe3515159, 0x2599995e, 0x226d6da9, 0x650d0d34,
964 0x79fafacf, 0x69dfdf5b, 0xa97e7ee5, 0x19242490,
965 0xfe3b3bec, 0x9aabab96, 0xf0cece1f, 0x99111144,
966 0x838f8f06, 0x044e4e25, 0x66b7b7e6, 0xe0ebeb8b,
967 0xc13c3cf0, 0xfd81813e, 0x4094946a, 0x1cf7f7fb,
968 0x18b9b9de, 0x8b13134c, 0x512c2cb0, 0x05d3d36b,
969 0x8ce7e7bb, 0x396e6ea5, 0xaac4c437, 0x1b03030c,
970 0xdc565645, 0x5e44440d, 0xa07f7fe1, 0x88a9a99e,
971 0x672a2aa8, 0x0abbbbd6, 0x87c1c123, 0xf1535351,
972 0x72dcdc57, 0x530b0b2c, 0x019d9d4e, 0x2b6c6cad,
973 0xa43131c4, 0xf37474cd, 0x15f6f6ff, 0x4c464605,
974 0xa5acac8a, 0xb589891e, 0xb4141450, 0xbae1e1a3,
975 0xa6161658, 0xf73a3ae8, 0x066969b9, 0x41090924,
976 0xd77070dd, 0x6fb6b6e2, 0x1ed0d067, 0xd6eded93,
977 0xe2cccc17, 0x68424215, 0x2c98985a, 0xeda4a4aa,
978 0x752828a0, 0x865c5c6d, 0x6bf8f8c7, 0xc2868622,
981 0x30d81818, 0x46262323, 0x91b8c6c6, 0xcdfbe8e8,
982 0x13cb8787, 0x6d11b8b8, 0x02090101, 0x9e0d4f4f,
983 0x6c9b3636, 0x51ffa6a6, 0xb90cd2d2, 0xf70ef5f5,
984 0xf2967979, 0xde306f6f, 0x3f6d9191, 0xa4f85252,
985 0xc0476060, 0x6535bcbc, 0x2b379b9b, 0x018a8e8e,
986 0x5bd2a3a3, 0x186c0c0c, 0xf6847b7b, 0x6a803535,
987 0x3af51d1d, 0xddb3e0e0, 0xb321d7d7, 0x999cc2c2,
988 0x5c432e2e, 0x96294b4b, 0xe15dfefe, 0xaed55757,
989 0x2abd1515, 0xeee87777, 0x6e923737, 0xd79ee5e5,
990 0x23139f9f, 0xfd23f0f0, 0x94204a4a, 0xa944dada,
991 0xb0a25858, 0x8fcfc9c9, 0x527c2929, 0x145a0a0a,
992 0x7f50b1b1, 0x5dc9a0a0, 0xd6146b6b, 0x17d98585,
993 0x673cbdbd, 0xba8f5d5d, 0x20901010, 0xf507f4f4,
994 0x8bddcbcb, 0x7cd33e3e, 0x0a2d0505, 0xce786767,
995 0xd597e4e4, 0x4e022727, 0x82734141, 0x0ba78b8b,
996 0x53f6a7a7, 0xfab27d7d, 0x37499595, 0xad56d8d8,
997 0xeb70fbfb, 0xc1cdeeee, 0xf8bb7c7c, 0xcc716666,
998 0xa77bdddd, 0x2eaf1717, 0x8e454747, 0x211a9e9e,
999 0x89d4caca, 0x5a582d2d, 0x632ebfbf, 0x0e3f0707,
1000 0x47acadad, 0xb4b05a5a, 0x1bef8383, 0x66b63333,
1001 0xc65c6363, 0x04120202, 0x4993aaaa, 0xe2de7171,
1002 0x8dc6c8c8, 0x32d11919, 0x923b4949, 0xaf5fd9d9,
1003 0xf931f2f2, 0xdba8e3e3, 0xb6b95b5b, 0x0dbc8888,
1004 0x293e9a9a, 0x4c0b2626, 0x64bf3232, 0x7d59b0b0,
1005 0xcff2e9e9, 0x1e770f0f, 0xb733d5d5, 0x1df48080,
1006 0x6127bebe, 0x87ebcdcd, 0x68893434, 0x90324848,
1007 0xe354ffff, 0xf48d7a7a, 0x3d649090, 0xbe9d5f5f,
1008 0x403d2020, 0xd00f6868, 0x34ca1a1a, 0x41b7aeae,
1009 0x757db4b4, 0xa8ce5454, 0x3b7f9393, 0x442f2222,
1010 0xc8636464, 0xff2af1f1, 0xe6cc7373, 0x24821212,
1011 0x807a4040, 0x10480808, 0x9b95c3c3, 0xc5dfecec,
1012 0xab4ddbdb, 0x5fc0a1a1, 0x07918d8d, 0x7ac83d3d,
1013 0x335b9797, 0x00000000, 0x83f9cfcf, 0x566e2b2b,
1014 0xece17676, 0x19e68282, 0xb128d6d6, 0x36c31b1b,
1015 0x7774b5b5, 0x43beafaf, 0xd41d6a6a, 0xa0ea5050,
1016 0x8a574545, 0xfb38f3f3, 0x60ad3030, 0xc3c4efef,
1017 0x7eda3f3f, 0xaac75555, 0x59dba2a2, 0xc9e9eaea,
1018 0xca6a6565, 0x6903baba, 0x5e4a2f2f, 0x9d8ec0c0,
1019 0xa160dede, 0x38fc1c1c, 0xe746fdfd, 0x9a1f4d4d,
1020 0x39769292, 0xeafa7575, 0x0c360606, 0x09ae8a8a,
1021 0x794bb2b2, 0xd185e6e6, 0x1c7e0e0e, 0x3ee71f1f,
1022 0xc4556262, 0xb53ad4d4, 0x4d81a8a8, 0x31529696,
1023 0xef62f9f9, 0x97a3c5c5, 0x4a102525, 0xb2ab5959,
1024 0x15d08484, 0xe4c57272, 0x72ec3939, 0x98164c4c,
1025 0xbc945e5e, 0xf09f7878, 0x70e53838, 0x05988c8c,
1026 0xbf17d1d1, 0x57e4a5a5, 0xd9a1e2e2, 0xc24e6161,
1027 0x7b42b3b3, 0x42342121, 0x25089c9c, 0x3cee1e1e,
1028 0x86614343, 0x93b1c7c7, 0xe54ffcfc, 0x08240404,
1029 0xa2e35151, 0x2f259999, 0xda226d6d, 0x1a650d0d,
1030 0xe979fafa, 0xa369dfdf, 0xfca97e7e, 0x48192424,
1031 0x76fe3b3b, 0x4b9aabab, 0x81f0cece, 0x22991111,
1032 0x03838f8f, 0x9c044e4e, 0x7366b7b7, 0xcbe0ebeb,
1033 0x78c13c3c, 0x1ffd8181, 0x35409494, 0xf31cf7f7,
1034 0x6f18b9b9, 0x268b1313, 0x58512c2c, 0xbb05d3d3,
1035 0xd38ce7e7, 0xdc396e6e, 0x95aac4c4, 0x061b0303,
1036 0xacdc5656, 0x885e4444, 0xfea07f7f, 0x4f88a9a9,
1037 0x54672a2a, 0x6b0abbbb, 0x9f87c1c1, 0xa6f15353,
1038 0xa572dcdc, 0x16530b0b, 0x27019d9d, 0xd82b6c6c,
1039 0x62a43131, 0xe8f37474, 0xf115f6f6, 0x8c4c4646,
1040 0x45a5acac, 0x0fb58989, 0x28b41414, 0xdfbae1e1,
1041 0x2ca61616, 0x74f73a3a, 0xd2066969, 0x12410909,
1042 0xe0d77070, 0x716fb6b6, 0xbd1ed0d0, 0xc7d6eded,
1043 0x85e2cccc, 0x84684242, 0x2d2c9898, 0x55eda4a4,
1044 0x50752828, 0xb8865c5c, 0xed6bf8f8, 0x11c28686,
1047 0x7830d818, 0xaf462623, 0xf991b8c6, 0x6fcdfbe8,
1048 0xa113cb87, 0x626d11b8, 0x05020901, 0x6e9e0d4f,
1049 0xee6c9b36, 0x0451ffa6, 0xbdb90cd2, 0x06f70ef5,
1050 0x80f29679, 0xcede306f, 0xef3f6d91, 0x07a4f852,
1051 0xfdc04760, 0x766535bc, 0xcd2b379b, 0x8c018a8e,
1052 0x155bd2a3, 0x3c186c0c, 0x8af6847b, 0xe16a8035,
1053 0x693af51d, 0x47ddb3e0, 0xacb321d7, 0xed999cc2,
1054 0x965c432e, 0x7a96294b, 0x21e15dfe, 0x16aed557,
1055 0x412abd15, 0xb6eee877, 0xeb6e9237, 0x56d79ee5,
1056 0xd923139f, 0x17fd23f0, 0x7f94204a, 0x95a944da,
1057 0x25b0a258, 0xca8fcfc9, 0x8d527c29, 0x22145a0a,
1058 0x4f7f50b1, 0x1a5dc9a0, 0xdad6146b, 0xab17d985,
1059 0x73673cbd, 0x34ba8f5d, 0x50209010, 0x03f507f4,
1060 0xc08bddcb, 0xc67cd33e, 0x110a2d05, 0xe6ce7867,
1061 0x53d597e4, 0xbb4e0227, 0x58827341, 0x9d0ba78b,
1062 0x0153f6a7, 0x94fab27d, 0xfb374995, 0x9fad56d8,
1063 0x30eb70fb, 0x71c1cdee, 0x91f8bb7c, 0xe3cc7166,
1064 0x8ea77bdd, 0x4b2eaf17, 0x468e4547, 0xdc211a9e,
1065 0xc589d4ca, 0x995a582d, 0x79632ebf, 0x1b0e3f07,
1066 0x2347acad, 0x2fb4b05a, 0xb51bef83, 0xff66b633,
1067 0xf2c65c63, 0x0a041202, 0x384993aa, 0xa8e2de71,
1068 0xcf8dc6c8, 0x7d32d119, 0x70923b49, 0x9aaf5fd9,
1069 0x1df931f2, 0x48dba8e3, 0x2ab6b95b, 0x920dbc88,
1070 0xc8293e9a, 0xbe4c0b26, 0xfa64bf32, 0x4a7d59b0,
1071 0x6acff2e9, 0x331e770f, 0xa6b733d5, 0xba1df480,
1072 0x7c6127be, 0xde87ebcd, 0xe4688934, 0x75903248,
1073 0x24e354ff, 0x8ff48d7a, 0xea3d6490, 0x3ebe9d5f,
1074 0xa0403d20, 0xd5d00f68, 0x7234ca1a, 0x2c41b7ae,
1075 0x5e757db4, 0x19a8ce54, 0xe53b7f93, 0xaa442f22,
1076 0xe9c86364, 0x12ff2af1, 0xa2e6cc73, 0x5a248212,
1077 0x5d807a40, 0x28104808, 0xe89b95c3, 0x7bc5dfec,
1078 0x90ab4ddb, 0x1f5fc0a1, 0x8307918d, 0xc97ac83d,
1079 0xf1335b97, 0x00000000, 0xd483f9cf, 0x87566e2b,
1080 0xb3ece176, 0xb019e682, 0xa9b128d6, 0x7736c31b,
1081 0x5b7774b5, 0x2943beaf, 0xdfd41d6a, 0x0da0ea50,
1082 0x4c8a5745, 0x18fb38f3, 0xf060ad30, 0x74c3c4ef,
1083 0xc37eda3f, 0x1caac755, 0x1059dba2, 0x65c9e9ea,
1084 0xecca6a65, 0x686903ba, 0x935e4a2f, 0xe79d8ec0,
1085 0x81a160de, 0x6c38fc1c, 0x2ee746fd, 0x649a1f4d,
1086 0xe0397692, 0xbceafa75, 0x1e0c3606, 0x9809ae8a,
1087 0x40794bb2, 0x59d185e6, 0x361c7e0e, 0x633ee71f,
1088 0xf7c45562, 0xa3b53ad4, 0x324d81a8, 0xf4315296,
1089 0x3aef62f9, 0xf697a3c5, 0xb14a1025, 0x20b2ab59,
1090 0xae15d084, 0xa7e4c572, 0xdd72ec39, 0x6198164c,
1091 0x3bbc945e, 0x85f09f78, 0xd870e538, 0x8605988c,
1092 0xb2bf17d1, 0x0b57e4a5, 0x4dd9a1e2, 0xf8c24e61,
1093 0x457b42b3, 0xa5423421, 0xd625089c, 0x663cee1e,
1094 0x52866143, 0xfc93b1c7, 0x2be54ffc, 0x14082404,
1095 0x08a2e351, 0xc72f2599, 0xc4da226d, 0x391a650d,
1096 0x35e979fa, 0x84a369df, 0x9bfca97e, 0xb4481924,
1097 0xd776fe3b, 0x3d4b9aab, 0xd181f0ce, 0x55229911,
1098 0x8903838f, 0x6b9c044e, 0x517366b7, 0x60cbe0eb,
1099 0xcc78c13c, 0xbf1ffd81, 0xfe354094, 0x0cf31cf7,
1100 0x676f18b9, 0x5f268b13, 0x9c58512c, 0xb8bb05d3,
1101 0x5cd38ce7, 0xcbdc396e, 0xf395aac4, 0x0f061b03,
1102 0x13acdc56, 0x49885e44, 0x9efea07f, 0x374f88a9,
1103 0x8254672a, 0x6d6b0abb, 0xe29f87c1, 0x02a6f153,
1104 0x8ba572dc, 0x2716530b, 0xd327019d, 0xc1d82b6c,
1105 0xf562a431, 0xb9e8f374, 0x09f115f6, 0x438c4c46,
1106 0x2645a5ac, 0x970fb589, 0x4428b414, 0x42dfbae1,
1107 0x4e2ca616, 0xd274f73a, 0xd0d20669, 0x2d124109,
1108 0xade0d770, 0x54716fb6, 0xb7bd1ed0, 0x7ec7d6ed,
1109 0xdb85e2cc, 0x57846842, 0xc22d2c98, 0x0e55eda4,
1110 0x88507528, 0x31b8865c, 0x3fed6bf8, 0xa411c286,
1114 __device__ __constant__ u32 rch[R + 1] =
1129 __device__ __constant__ u32 rcl[R + 1] =
1144 __device__ static void whirlpool_transform (const u32x w[16], u32x dgst[16], u32 s_Ch[8][256], u32 s_Cl[8][256])
1190 for (int i = 0; i < 8; i++)
1192 const u32x Lp0 = stateh[(i + 8) & 7] >> 24;
1193 const u32x Lp1 = stateh[(i + 7) & 7] >> 16;
1194 const u32x Lp2 = stateh[(i + 6) & 7] >> 8;
1195 const u32x Lp3 = stateh[(i + 5) & 7] >> 0;
1196 const u32x Lp4 = statel[(i + 4) & 7] >> 24;
1197 const u32x Lp5 = statel[(i + 3) & 7] >> 16;
1198 const u32x Lp6 = statel[(i + 2) & 7] >> 8;
1199 const u32x Lp7 = statel[(i + 1) & 7] >> 0;
1201 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1202 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1203 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1204 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1205 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1206 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1207 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1208 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1210 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1211 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1212 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1213 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1214 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1215 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1216 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1217 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1220 stateh[0] = Lh[0] ^ Kh[0];
1221 statel[0] = Ll[0] ^ Kl[0];
1222 stateh[1] = Lh[1] ^ Kh[1];
1223 statel[1] = Ll[1] ^ Kl[1];
1224 stateh[2] = Lh[2] ^ Kh[2];
1225 statel[2] = Ll[2] ^ Kl[2];
1226 stateh[3] = Lh[3] ^ Kh[3];
1227 statel[3] = Ll[3] ^ Kl[3];
1228 stateh[4] = Lh[4] ^ Kh[4];
1229 statel[4] = Ll[4] ^ Kl[4];
1230 stateh[5] = Lh[5] ^ Kh[5];
1231 statel[5] = Ll[5] ^ Kl[5];
1232 stateh[6] = Lh[6] ^ Kh[6];
1233 statel[6] = Ll[6] ^ Kl[6];
1234 stateh[7] = Lh[7] ^ Kh[7];
1235 statel[7] = Ll[7] ^ Kl[7];
1237 for (int r = 2; r <= R; r++)
1243 for (int i = 0; i < 8; i++)
1245 const u32x Lp0 = Kh[(i + 8) & 7] >> 24;
1246 const u32x Lp1 = Kh[(i + 7) & 7] >> 16;
1247 const u32x Lp2 = Kh[(i + 6) & 7] >> 8;
1248 const u32x Lp3 = Kh[(i + 5) & 7] >> 0;
1249 const u32x Lp4 = Kl[(i + 4) & 7] >> 24;
1250 const u32x Lp5 = Kl[(i + 3) & 7] >> 16;
1251 const u32x Lp6 = Kl[(i + 2) & 7] >> 8;
1252 const u32x Lp7 = Kl[(i + 1) & 7] >> 0;
1254 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1255 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1256 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1257 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1258 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1259 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1260 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1261 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1263 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1264 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1265 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1266 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1267 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1268 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1269 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1270 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1273 Kh[0] = Lh[0] ^ rch[r];
1274 Kl[0] = Ll[0] ^ rcl[r];
1291 for (int i = 0; i < 8; i++)
1293 const u32x Lp0 = stateh[(i + 8) & 7] >> 24;
1294 const u32x Lp1 = stateh[(i + 7) & 7] >> 16;
1295 const u32x Lp2 = stateh[(i + 6) & 7] >> 8;
1296 const u32x Lp3 = stateh[(i + 5) & 7] >> 0;
1297 const u32x Lp4 = statel[(i + 4) & 7] >> 24;
1298 const u32x Lp5 = statel[(i + 3) & 7] >> 16;
1299 const u32x Lp6 = statel[(i + 2) & 7] >> 8;
1300 const u32x Lp7 = statel[(i + 1) & 7] >> 0;
1302 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1303 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1304 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1305 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1306 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1307 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1308 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1309 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1311 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1312 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1313 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1314 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1315 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1316 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1317 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1318 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1321 stateh[0] = Lh[0] ^ Kh[0];
1322 statel[0] = Ll[0] ^ Kl[0];
1323 stateh[1] = Lh[1] ^ Kh[1];
1324 statel[1] = Ll[1] ^ Kl[1];
1325 stateh[2] = Lh[2] ^ Kh[2];
1326 statel[2] = Ll[2] ^ Kl[2];
1327 stateh[3] = Lh[3] ^ Kh[3];
1328 statel[3] = Ll[3] ^ Kl[3];
1329 stateh[4] = Lh[4] ^ Kh[4];
1330 statel[4] = Ll[4] ^ Kl[4];
1331 stateh[5] = Lh[5] ^ Kh[5];
1332 statel[5] = Ll[5] ^ Kl[5];
1333 stateh[6] = Lh[6] ^ Kh[6];
1334 statel[6] = Ll[6] ^ Kl[6];
1335 stateh[7] = Lh[7] ^ Kh[7];
1336 statel[7] = Ll[7] ^ Kl[7];
1339 dgst[ 0] = stateh[0] ^ w[ 0];
1340 dgst[ 1] = statel[0] ^ w[ 1];
1341 dgst[ 2] = stateh[1] ^ w[ 2];
1342 dgst[ 3] = statel[1] ^ w[ 3];
1343 dgst[ 4] = stateh[2] ^ w[ 4];
1344 dgst[ 5] = statel[2] ^ w[ 5];
1345 dgst[ 6] = stateh[3] ^ w[ 6];
1346 dgst[ 7] = statel[3] ^ w[ 7];
1347 dgst[ 8] = stateh[4] ^ w[ 8];
1348 dgst[ 9] = statel[4] ^ w[ 9];
1349 dgst[10] = stateh[5] ^ w[10];
1350 dgst[11] = statel[5] ^ w[11];
1351 dgst[12] = stateh[6] ^ w[12];
1352 dgst[13] = statel[6] ^ w[13];
1353 dgst[14] = stateh[7] ^ w[14];
1354 dgst[15] = statel[7] ^ w[15];
1357 __device__ __constant__ gpu_rule_t c_rules[1024];
1359 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_m04 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1365 const u32 lid = threadIdx.x;
1371 const u32 gid = (blockIdx.x * blockDim.x) + threadIdx.x;
1375 pw_buf0[0] = pws[gid].i[ 0];
1376 pw_buf0[1] = pws[gid].i[ 1];
1377 pw_buf0[2] = pws[gid].i[ 2];
1378 pw_buf0[3] = pws[gid].i[ 3];
1382 pw_buf1[0] = pws[gid].i[ 4];
1383 pw_buf1[1] = pws[gid].i[ 5];
1384 pw_buf1[2] = pws[gid].i[ 6];
1385 pw_buf1[3] = pws[gid].i[ 7];
1387 const u32 pw_len = pws[gid].pw_len;
1393 __shared__ u32 s_Ch[8][256];
1394 __shared__ u32 s_Cl[8][256];
1396 for (u32 i = 0; i < 8; i++)
1398 s_Ch[i][lid] = Ch[i][lid];
1399 s_Cl[i][lid] = Cl[i][lid];
1404 if (gid >= gid_max) return;
1410 for (u32 il_pos = 0; il_pos < rules_cnt; il_pos++)
1440 const u32 out_len = apply_rules (c_rules[il_pos].cmds, w0, w1, pw_len);
1442 append_0x80_2 (w0, w1, out_len);
1446 wl[ 0] = swap_workaround (w0[0]);
1447 wl[ 1] = swap_workaround (w0[1]);
1448 wl[ 2] = swap_workaround (w0[2]);
1449 wl[ 3] = swap_workaround (w0[3]);
1450 wl[ 4] = swap_workaround (w1[0]);
1451 wl[ 5] = swap_workaround (w1[1]);
1452 wl[ 6] = swap_workaround (w1[2]);
1453 wl[ 7] = swap_workaround (w1[3]);
1461 wl[15] = out_len * 8;
1465 whirlpool_transform (wl, dgst, s_Ch, s_Cl);
1467 const u32x r0 = dgst[0];
1468 const u32x r1 = dgst[1];
1469 const u32x r2 = dgst[2];
1470 const u32x r3 = dgst[3];
1472 #include VECT_COMPARE_M
1476 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_m08 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1480 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_m16 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1484 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_s04 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1490 const u32 lid = threadIdx.x;
1496 const u32 gid = (blockIdx.x * blockDim.x) + threadIdx.x;
1500 pw_buf0[0] = pws[gid].i[ 0];
1501 pw_buf0[1] = pws[gid].i[ 1];
1502 pw_buf0[2] = pws[gid].i[ 2];
1503 pw_buf0[3] = pws[gid].i[ 3];
1507 pw_buf1[0] = pws[gid].i[ 4];
1508 pw_buf1[1] = pws[gid].i[ 5];
1509 pw_buf1[2] = pws[gid].i[ 6];
1510 pw_buf1[3] = pws[gid].i[ 7];
1512 const u32 pw_len = pws[gid].pw_len;
1518 __shared__ u32 s_Ch[8][256];
1519 __shared__ u32 s_Cl[8][256];
1521 for (u32 i = 0; i < 8; i++)
1523 s_Ch[i][lid] = Ch[i][lid];
1524 s_Cl[i][lid] = Cl[i][lid];
1529 if (gid >= gid_max) return;
1535 const u32 search[4] =
1537 digests_buf[digests_offset].digest_buf[DGST_R0],
1538 digests_buf[digests_offset].digest_buf[DGST_R1],
1539 digests_buf[digests_offset].digest_buf[DGST_R2],
1540 digests_buf[digests_offset].digest_buf[DGST_R3]
1547 for (u32 il_pos = 0; il_pos < rules_cnt; il_pos++)
1577 const u32 out_len = apply_rules (c_rules[il_pos].cmds, w0, w1, pw_len);
1579 append_0x80_2 (w0, w1, out_len);
1583 wl[ 0] = swap_workaround (w0[0]);
1584 wl[ 1] = swap_workaround (w0[1]);
1585 wl[ 2] = swap_workaround (w0[2]);
1586 wl[ 3] = swap_workaround (w0[3]);
1587 wl[ 4] = swap_workaround (w1[0]);
1588 wl[ 5] = swap_workaround (w1[1]);
1589 wl[ 6] = swap_workaround (w1[2]);
1590 wl[ 7] = swap_workaround (w1[3]);
1598 wl[15] = out_len * 8;
1602 whirlpool_transform (wl, dgst, s_Ch, s_Cl);
1604 const u32x r0 = dgst[0];
1605 const u32x r1 = dgst[1];
1606 const u32x r2 = dgst[2];
1607 const u32x r3 = dgst[3];
1609 #include VECT_COMPARE_S
1613 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_s08 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1617 extern "C" __global__ void __launch_bounds__ (256, 1) m06100_s16 (const pw_t *pws, const gpu_rule_t *rules_buf, const comb_t *combs_buf, const bf_t *bfs_buf, const void *tmps, void *hooks, const u32 *bitmaps_buf_s1_a, const u32 *bitmaps_buf_s1_b, const u32 *bitmaps_buf_s1_c, const u32 *bitmaps_buf_s1_d, const u32 *bitmaps_buf_s2_a, const u32 *bitmaps_buf_s2_b, const u32 *bitmaps_buf_s2_c, const u32 *bitmaps_buf_s2_d, plain_t *plains_buf, const digest_t *digests_buf, u32 *hashes_shown, const salt_t *salt_bufs, const void *esalt_bufs, u32 *d_return_buf, u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)