Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
[linux-2.6] / drivers / media / video / pwc / pwc-kiara.c
1 /* Linux driver for Philips webcam
2    (C) 2004-2006 Luc Saillard (luc@saillard.org)
3
4    NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
5    driver and thus may have bugs that are not present in the original version.
6    Please send bug reports and support requests to <luc@saillard.org>.
7    The decompression routines have been implemented by reverse-engineering the
8    Nemosoft binary pwcx module. Caveat emptor.
9
10    This program is free software; you can redistribute it and/or modify
11    it under the terms of the GNU General Public License as published by
12    the Free Software Foundation; either version 2 of the License, or
13    (at your option) any later version.
14
15    This program is distributed in the hope that it will be useful,
16    but WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18    GNU General Public License for more details.
19
20    You should have received a copy of the GNU General Public License
21    along with this program; if not, write to the Free Software
22    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23 */
24
25
26 /* This tables contains entries for the 730/740/750 (Kiara) camera, with
27    4 different qualities (no compression, low, medium, high).
28    It lists the bandwidth requirements for said mode by its alternate interface
29    number. An alternate of 0 means that the mode is unavailable.
30
31    There are 6 * 4 * 4 entries:
32      6 different resolutions subqcif, qsif, qcif, sif, cif, vga
33      6 framerates: 5, 10, 15, 20, 25, 30
34      4 compression modi: none, low, medium, high
35
36    When an uncompressed mode is not available, the next available compressed mode
37    will be chosen (unless the decompressor is absent). Sometimes there are only
38    1 or 2 compressed modes available; in that case entries are duplicated.
39 */
40
41
42 #include "pwc-kiara.h"
43 #include "pwc-uncompress.h"
44
45 const unsigned int Kiara_fps_vector[PWC_FPS_MAX_KIARA] = { 5, 10, 15, 20, 25, 30 };
46
47 const struct Kiara_table_entry Kiara_table[PSZ_MAX][6][4] =
48 {
49    /* SQCIF */
50    {
51       /* 5 fps */
52       {
53          {0, },
54          {0, },
55          {0, },
56          {0, },
57       },
58       /* 10 fps */
59       {
60          {0, },
61          {0, },
62          {0, },
63          {0, },
64       },
65       /* 15 fps */
66       {
67          {0, },
68          {0, },
69          {0, },
70          {0, },
71       },
72       /* 20 fps */
73       {
74          {0, },
75          {0, },
76          {0, },
77          {0, },
78       },
79       /* 25 fps */
80       {
81          {0, },
82          {0, },
83          {0, },
84          {0, },
85       },
86       /* 30 fps */
87       {
88          {0, },
89          {0, },
90          {0, },
91          {0, },
92       },
93    },
94    /* QSIF */
95    {
96       /* 5 fps */
97       {
98          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
99          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
100          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
101          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
102       },
103       /* 10 fps */
104       {
105          {2, 291,    0, {0x1C, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x23, 0x01, 0x80}},
106          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
107          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
108          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
109       },
110       /* 15 fps */
111       {
112          {3, 437,    0, {0x1B, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xB5, 0x01, 0x80}},
113          {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
114          {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
115          {1, 192,  420, {0x13, 0xF4, 0x30, 0x0D, 0x1B, 0x0C, 0x53, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
116       },
117       /* 20 fps */
118       {
119          {4, 589,    0, {0x1A, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x4D, 0x02, 0x80}},
120          {3, 448,  730, {0x12, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x18, 0xC0, 0x01, 0x80}},
121          {2, 292,  476, {0x12, 0xF4, 0x30, 0x0E, 0xD8, 0x0E, 0x10, 0x19, 0x18, 0x24, 0x01, 0x80}},
122          {1, 192,  312, {0x12, 0xF4, 0x50, 0x09, 0xB3, 0x08, 0xEB, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
123       },
124       /* 25 fps */
125       {
126          {5, 703,    0, {0x19, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xBF, 0x02, 0x80}},
127          {3, 447,  610, {0x11, 0xF4, 0x30, 0x13, 0x0B, 0x12, 0x43, 0x14, 0x28, 0xBF, 0x01, 0x80}},
128          {2, 292,  398, {0x11, 0xF4, 0x50, 0x0C, 0x6C, 0x0B, 0xA4, 0x1E, 0x28, 0x24, 0x01, 0x80}},
129          {1, 193,  262, {0x11, 0xF4, 0x50, 0x08, 0x23, 0x07, 0x5B, 0x1E, 0x28, 0xC1, 0x00, 0x80}},
130       },
131       /* 30 fps */
132       {
133          {8, 874,    0, {0x18, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x6A, 0x03, 0x80}},
134          {5, 704,  730, {0x10, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x28, 0xC0, 0x02, 0x80}},
135          {3, 448,  492, {0x10, 0xF4, 0x30, 0x0F, 0x5D, 0x0E, 0x95, 0x15, 0x28, 0xC0, 0x01, 0x80}},
136          {2, 292,  320, {0x10, 0xF4, 0x50, 0x09, 0xFB, 0x09, 0x33, 0x1E, 0x28, 0x24, 0x01, 0x80}},
137       },
138    },
139    /* QCIF */
140    {
141       /* 5 fps */
142       {
143          {0, },
144          {0, },
145          {0, },
146          {0, },
147       },
148       /* 10 fps */
149       {
150          {0, },
151          {0, },
152          {0, },
153          {0, },
154       },
155       /* 15 fps */
156       {
157          {0, },
158          {0, },
159          {0, },
160          {0, },
161       },
162       /* 20 fps */
163       {
164          {0, },
165          {0, },
166          {0, },
167          {0, },
168       },
169       /* 25 fps */
170       {
171          {0, },
172          {0, },
173          {0, },
174          {0, },
175       },
176       /* 30 fps */
177       {
178          {0, },
179          {0, },
180          {0, },
181          {0, },
182       },
183    },
184    /* SIF */
185    {
186       /* 5 fps */
187       {
188          {4, 582,    0, {0x0D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x46, 0x02, 0x80}},
189          {3, 387, 1276, {0x05, 0xF4, 0x30, 0x27, 0xD8, 0x26, 0x48, 0x03, 0x10, 0x83, 0x01, 0x80}},
190          {2, 291,  960, {0x05, 0xF4, 0x30, 0x1D, 0xF2, 0x1C, 0x62, 0x04, 0x10, 0x23, 0x01, 0x80}},
191          {1, 191,  630, {0x05, 0xF4, 0x50, 0x13, 0xA9, 0x12, 0x19, 0x05, 0x18, 0xBF, 0x00, 0x80}},
192       },
193       /* 10 fps */
194       {
195          {0, },
196          {6, 775, 1278, {0x04, 0xF4, 0x30, 0x27, 0xE8, 0x26, 0x58, 0x05, 0x30, 0x07, 0x03, 0x80}},
197          {3, 447,  736, {0x04, 0xF4, 0x30, 0x16, 0xFB, 0x15, 0x6B, 0x05, 0x28, 0xBF, 0x01, 0x80}},
198          {2, 292,  480, {0x04, 0xF4, 0x70, 0x0E, 0xF9, 0x0D, 0x69, 0x09, 0x28, 0x24, 0x01, 0x80}},
199       },
200       /* 15 fps */
201       {
202          {0, },
203          {9, 955, 1050, {0x03, 0xF4, 0x30, 0x20, 0xCF, 0x1F, 0x3F, 0x06, 0x48, 0xBB, 0x03, 0x80}},
204          {4, 592,  650, {0x03, 0xF4, 0x30, 0x14, 0x44, 0x12, 0xB4, 0x08, 0x30, 0x50, 0x02, 0x80}},
205          {3, 448,  492, {0x03, 0xF4, 0x50, 0x0F, 0x52, 0x0D, 0xC2, 0x09, 0x38, 0xC0, 0x01, 0x80}},
206       },
207       /* 20 fps */
208       {
209          {0, },
210          {9, 958,  782, {0x02, 0xF4, 0x30, 0x18, 0x6A, 0x16, 0xDA, 0x0B, 0x58, 0xBE, 0x03, 0x80}},
211          {5, 703,  574, {0x02, 0xF4, 0x50, 0x11, 0xE7, 0x10, 0x57, 0x0B, 0x40, 0xBF, 0x02, 0x80}},
212          {3, 446,  364, {0x02, 0xF4, 0x90, 0x0B, 0x5C, 0x09, 0xCC, 0x0E, 0x38, 0xBE, 0x01, 0x80}},
213       },
214       /* 25 fps */
215       {
216          {0, },
217          {9, 958,  654, {0x01, 0xF4, 0x30, 0x14, 0x66, 0x12, 0xD6, 0x0B, 0x50, 0xBE, 0x03, 0x80}},
218          {6, 776,  530, {0x01, 0xF4, 0x50, 0x10, 0x8C, 0x0E, 0xFC, 0x0C, 0x48, 0x08, 0x03, 0x80}},
219          {4, 592,  404, {0x01, 0xF4, 0x70, 0x0C, 0x96, 0x0B, 0x06, 0x0B, 0x48, 0x50, 0x02, 0x80}},
220       },
221       /* 30 fps */
222       {
223          {0, },
224          {9, 957,  526, {0x00, 0xF4, 0x50, 0x10, 0x68, 0x0E, 0xD8, 0x0D, 0x58, 0xBD, 0x03, 0x80}},
225          {6, 775,  426, {0x00, 0xF4, 0x70, 0x0D, 0x48, 0x0B, 0xB8, 0x0F, 0x50, 0x07, 0x03, 0x80}},
226          {4, 590,  324, {0x00, 0x7A, 0x88, 0x0A, 0x1C, 0x08, 0xB4, 0x0E, 0x50, 0x4E, 0x02, 0x80}},
227       },
228    },
229    /* CIF */
230    {
231       /* 5 fps */
232       {
233          {0, },
234          {0, },
235          {0, },
236          {0, },
237       },
238       /* 10 fps */
239       {
240          {0, },
241          {0, },
242          {0, },
243          {0, },
244       },
245       /* 15 fps */
246       {
247          {0, },
248          {0, },
249          {0, },
250          {0, },
251       },
252       /* 20 fps */
253       {
254          {0, },
255          {0, },
256          {0, },
257          {0, },
258       },
259       /* 25 fps */
260       {
261          {0, },
262          {0, },
263          {0, },
264          {0, },
265       },
266       /* 30 fps */
267       {
268          {0, },
269          {0, },
270          {0, },
271          {0, },
272       },
273    },
274    /* VGA */
275    {
276       /* 5 fps */
277       {
278          {0, },
279          {6, 773, 1272, {0x25, 0xF4, 0x30, 0x27, 0xB6, 0x24, 0x96, 0x02, 0x30, 0x05, 0x03, 0x80}},
280          {4, 592,  976, {0x25, 0xF4, 0x50, 0x1E, 0x78, 0x1B, 0x58, 0x03, 0x30, 0x50, 0x02, 0x80}},
281          {3, 448,  738, {0x25, 0xF4, 0x90, 0x17, 0x0C, 0x13, 0xEC, 0x04, 0x30, 0xC0, 0x01, 0x80}},
282       },
283       /* 10 fps */
284       {
285          {0, },
286          {9, 956,  788, {0x24, 0xF4, 0x70, 0x18, 0x9C, 0x15, 0x7C, 0x03, 0x48, 0xBC, 0x03, 0x80}},
287          {6, 776,  640, {0x24, 0xF4, 0xB0, 0x13, 0xFC, 0x11, 0x2C, 0x04, 0x48, 0x08, 0x03, 0x80}},
288          {4, 592,  488, {0x24, 0x7A, 0xE8, 0x0F, 0x3C, 0x0C, 0x6C, 0x06, 0x48, 0x50, 0x02, 0x80}},
289       },
290       /* 15 fps */
291       {
292          {0, },
293          {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
294          {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
295          {8, 895,  492, {0x23, 0x7A, 0xE8, 0x0F, 0x5D, 0x0C, 0x8D, 0x06, 0x58, 0x7F, 0x03, 0x80}},
296       },
297       /* 20 fps */
298       {
299          {0, },
300          {0, },
301          {0, },
302          {0, },
303       },
304       /* 25 fps */
305       {
306          {0, },
307          {0, },
308          {0, },
309          {0, },
310       },
311       /* 30 fps */
312       {
313          {0, },
314          {0, },
315          {0, },
316          {0, },
317       },
318    },
319 };
320
321
322 /*
323  * Rom table for kiara chips
324  *
325  * 32 roms tables (one for each resolution ?)
326  *  2 tables per roms (one for each passes) (Y, and U&V)
327  * 128 bytes per passes
328  */
329
330 const unsigned int KiaraRomTable [8][2][16][8] =
331 {
332  { /* version 0 */
333   { /* version 0, passes 0 */
334    {0x00000000,0x00000000,0x00000000,0x00000000,
335     0x00000000,0x00000000,0x00000001,0x00000001},
336    {0x00000000,0x00000000,0x00000009,0x00000009,
337     0x00000009,0x00000009,0x00000009,0x00000009},
338    {0x00000000,0x00000000,0x00000009,0x00000049,
339     0x00000049,0x00000049,0x00000049,0x00000049},
340    {0x00000000,0x00000000,0x00000049,0x00000049,
341     0x00000049,0x00000249,0x0000024a,0x00000049},
342    {0x00000000,0x00000000,0x00000049,0x00000049,
343     0x00000249,0x00000249,0x0000024a,0x0000024a},
344    {0x00000000,0x00000000,0x00000049,0x00000249,
345     0x00000249,0x0000124a,0x0000024a,0x0000024a},
346    {0x00000000,0x00000000,0x00000049,0x00000249,
347     0x0000124a,0x00009252,0x00001252,0x00001252},
348    {0x00000000,0x00000000,0x00000249,0x00000249,
349     0x00009252,0x00009292,0x00009292,0x00009292},
350    {0x00000000,0x00000000,0x00000249,0x00001249,
351     0x00009292,0x00009292,0x00009493,0x000124db},
352    {0x00000000,0x00000000,0x00000249,0x0000924a,
353     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
354    {0x00000000,0x00000000,0x00001249,0x00009252,
355     0x0000a493,0x000124db,0x000124db,0x000126dc},
356    {0x00000000,0x00000000,0x00001249,0x00009493,
357     0x000124db,0x000126dc,0x000136e4,0x000126dc},
358    {0x00000000,0x00000000,0x00009292,0x0000a49b,
359     0x000124db,0x000136e4,0x000136e4,0x000136e4},
360    {0x00000000,0x00000000,0x00009292,0x0000a49b,
361     0x000126dc,0x0001b724,0x0001b92d,0x0001b925},
362    {0x00000000,0x00000000,0x00009492,0x000124db,
363     0x000136e4,0x0001b925,0x0001c96e,0x0001c92d},
364    {0x00000000,0x00000000,0x00000000,0x00000000,
365     0x00000000,0x00000000,0x00000000,0x00000000}
366   },
367   { /* version 0, passes 1 */
368    {0x00000000,0x00000000,0x00000000,0x00000000,
369     0x00000000,0x00000000,0x00000000,0x00000000},
370    {0x00000000,0x00000000,0x00000000,0x00000000,
371     0x00000000,0x00000000,0x00000000,0x00000000},
372    {0x00000000,0x00000000,0x00000001,0x00000009,
373     0x00000009,0x00000009,0x00000009,0x00000001},
374    {0x00000000,0x00000000,0x00000009,0x00000009,
375     0x00000049,0x00000049,0x00000049,0x00000049},
376    {0x00000000,0x00000000,0x00000049,0x00000049,
377     0x00000049,0x00000049,0x0000024a,0x0000024a},
378    {0x00000000,0x00000000,0x00000049,0x00000049,
379     0x00000249,0x00000249,0x0000024a,0x0000024a},
380    {0x00000000,0x00000000,0x00000049,0x00000249,
381     0x00000249,0x00000249,0x0000024a,0x00001252},
382    {0x00000000,0x00000000,0x00000049,0x00001249,
383     0x0000124a,0x0000124a,0x00001252,0x00009292},
384    {0x00000000,0x00000000,0x00000249,0x00001249,
385     0x00009252,0x00009252,0x00009292,0x00009493},
386    {0x00000000,0x00000000,0x00000249,0x0000924a,
387     0x00009292,0x00009292,0x00009292,0x00009493},
388    {0x00000000,0x00000000,0x00000249,0x00009292,
389     0x00009492,0x00009493,0x0000a49b,0x00009493},
390    {0x00000000,0x00000000,0x00001249,0x00009292,
391     0x0000a493,0x000124db,0x000126dc,0x000126dc},
392    {0x00000000,0x00000000,0x0000924a,0x00009493,
393     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
394    {0x00000000,0x00000000,0x00009252,0x00009493,
395     0x000126dc,0x000126dc,0x000136e4,0x000136e4},
396    {0x00000000,0x00000000,0x00009292,0x0000a49b,
397     0x000136e4,0x000136e4,0x0001b725,0x0001b724},
398    {0x00000000,0x00000000,0x00000000,0x00000000,
399     0x00000000,0x00000000,0x00000000,0x00000000}
400   }
401  },
402  { /* version 1 */
403   { /* version 1, passes 0 */
404    {0x00000000,0x00000000,0x00000000,0x00000000,
405     0x00000000,0x00000000,0x00000000,0x00000001},
406    {0x00000000,0x00000000,0x00000009,0x00000009,
407     0x00000009,0x00000009,0x00000009,0x00000009},
408    {0x00000000,0x00000000,0x00000049,0x00000049,
409     0x00000049,0x00000049,0x00000049,0x00000049},
410    {0x00000000,0x00000000,0x00000049,0x00000049,
411     0x00000049,0x00000249,0x0000024a,0x0000024a},
412    {0x00000000,0x00000000,0x00000049,0x00000249,
413     0x00000249,0x00000249,0x0000024a,0x00001252},
414    {0x00000000,0x00000000,0x00000249,0x00000249,
415     0x00000249,0x0000124a,0x00001252,0x00001252},
416    {0x00000000,0x00000000,0x00000249,0x00000249,
417     0x0000124a,0x0000124a,0x00009292,0x00009292},
418    {0x00000000,0x00000000,0x00000249,0x00001249,
419     0x0000124a,0x00009252,0x00009292,0x00009292},
420    {0x00000000,0x00000000,0x00000249,0x00001249,
421     0x00009252,0x00009292,0x00009292,0x00009292},
422    {0x00000000,0x00000000,0x00000249,0x00001249,
423     0x00009252,0x00009292,0x00009493,0x00009493},
424    {0x00000000,0x00000000,0x00000249,0x0000924a,
425     0x00009252,0x00009493,0x00009493,0x00009493},
426    {0x00000000,0x00000000,0x00000249,0x0000924a,
427     0x00009292,0x00009493,0x00009493,0x00009493},
428    {0x00000000,0x00000000,0x00000249,0x00009252,
429     0x00009492,0x00009493,0x0000a49b,0x0000a49b},
430    {0x00000000,0x00000000,0x00001249,0x00009292,
431     0x00009492,0x000124db,0x000124db,0x000124db},
432    {0x00000000,0x00000000,0x0000924a,0x00009493,
433     0x0000a493,0x000126dc,0x000126dc,0x000126dc},
434    {0x00000000,0x00000000,0x00000000,0x00000000,
435     0x00000000,0x00000000,0x00000000,0x00000000}
436   },
437   { /* version 1, passes 1 */
438    {0x00000000,0x00000000,0x00000000,0x00000000,
439     0x00000000,0x00000000,0x00000000,0x00000000},
440    {0x00000000,0x00000000,0x00000049,0x00000009,
441     0x00000049,0x00000009,0x00000001,0x00000000},
442    {0x00000000,0x00000000,0x00000049,0x00000049,
443     0x00000049,0x00000049,0x00000049,0x00000000},
444    {0x00000000,0x00000000,0x00000249,0x00000049,
445     0x00000249,0x00000049,0x0000024a,0x00000001},
446    {0x00000000,0x00000000,0x00000249,0x00000249,
447     0x00000249,0x00000249,0x0000024a,0x00000001},
448    {0x00000000,0x00000000,0x00000249,0x00000249,
449     0x00000249,0x00000249,0x0000024a,0x00000001},
450    {0x00000000,0x00000000,0x00000249,0x00000249,
451     0x00000249,0x00000249,0x0000024a,0x00000009},
452    {0x00000000,0x00000000,0x00000249,0x00000249,
453     0x0000124a,0x0000124a,0x0000024a,0x00000009},
454    {0x00000000,0x00000000,0x00000249,0x00000249,
455     0x0000124a,0x0000124a,0x0000024a,0x00000009},
456    {0x00000000,0x00000000,0x00001249,0x00001249,
457     0x0000124a,0x00009252,0x00001252,0x00000049},
458    {0x00000000,0x00000000,0x00001249,0x00001249,
459     0x0000124a,0x00009292,0x00001252,0x00000049},
460    {0x00000000,0x00000000,0x00001249,0x00001249,
461     0x0000124a,0x00009292,0x00001252,0x00000049},
462    {0x00000000,0x00000000,0x00001249,0x00001249,
463     0x00009252,0x00009292,0x00001252,0x0000024a},
464    {0x00000000,0x00000000,0x00001249,0x00001249,
465     0x00009292,0x00009292,0x00001252,0x0000024a},
466    {0x00000000,0x00000000,0x0000924a,0x0000924a,
467     0x00009492,0x00009493,0x00009292,0x00001252},
468    {0x00000000,0x00000000,0x00000000,0x00000000,
469     0x00000000,0x00000000,0x00000000,0x00000000}
470   }
471  },
472  { /* version 2 */
473   { /* version 2, passes 0 */
474    {0x00000000,0x00000000,0x00000049,0x00000049,
475     0x00000049,0x00000049,0x0000024a,0x0000024a},
476    {0x00000000,0x00000000,0x00000249,0x00000249,
477     0x00000249,0x0000124a,0x00001252,0x00009292},
478    {0x00000000,0x00000000,0x00000249,0x00000249,
479     0x0000124a,0x00009252,0x00009292,0x00009292},
480    {0x00000000,0x00000000,0x00000249,0x00001249,
481     0x0000124a,0x00009292,0x00009493,0x00009493},
482    {0x00000000,0x00000000,0x00000249,0x00001249,
483     0x00009252,0x00009493,0x00009493,0x0000a49b},
484    {0x00000000,0x00000000,0x00000249,0x0000924a,
485     0x00009292,0x00009493,0x0000a49b,0x0000a49b},
486    {0x00000000,0x00000000,0x00001249,0x0000924a,
487     0x00009292,0x00009493,0x0000a49b,0x000124db},
488    {0x00000000,0x00000000,0x00001249,0x00009252,
489     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
490    {0x00000000,0x00000000,0x00001249,0x00009292,
491     0x00009492,0x000124db,0x000124db,0x000126dc},
492    {0x00000000,0x00000000,0x00001249,0x00009292,
493     0x0000a493,0x000124db,0x000126dc,0x000126dc},
494    {0x00000000,0x00000000,0x00001249,0x00009493,
495     0x0000a493,0x000124db,0x000126dc,0x000136e4},
496    {0x00000000,0x00000000,0x00001249,0x00009493,
497     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
498    {0x00000000,0x00000000,0x0000924a,0x00009493,
499     0x0001249b,0x000126dc,0x000136e4,0x000136e4},
500    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
501     0x000124db,0x000136e4,0x000136e4,0x0001b724},
502    {0x00000000,0x00000000,0x00009252,0x000124db,
503     0x000126dc,0x0001b724,0x0001b725,0x0001b925},
504    {0x00000000,0x00000000,0x00000000,0x00000000,
505     0x00000000,0x00000000,0x00000000,0x00000000}
506   },
507   { /* version 2, passes 1 */
508    {0x00000000,0x00000000,0x00000049,0x00000049,
509     0x00000049,0x00000049,0x00000049,0x00000049},
510    {0x00000000,0x00000000,0x00000249,0x00000249,
511     0x00000249,0x00000249,0x0000024a,0x00000049},
512    {0x00000000,0x00000000,0x00001249,0x00000249,
513     0x0000124a,0x0000124a,0x00001252,0x00000049},
514    {0x00000000,0x00000000,0x00001249,0x00001249,
515     0x0000124a,0x0000124a,0x00009292,0x0000024a},
516    {0x00000000,0x00000000,0x00001249,0x00001249,
517     0x00009252,0x00009292,0x00009292,0x0000024a},
518    {0x00000000,0x00000000,0x00001249,0x00001249,
519     0x00009252,0x00009292,0x0000a49b,0x0000024a},
520    {0x00000000,0x00000000,0x00001249,0x00001249,
521     0x00009292,0x00009493,0x0000a49b,0x00001252},
522    {0x00000000,0x00000000,0x00001249,0x00001249,
523     0x00009292,0x00009493,0x0000a49b,0x00001252},
524    {0x00000000,0x00000000,0x00001249,0x0000924a,
525     0x00009492,0x0000a49b,0x0000a49b,0x00001252},
526    {0x00000000,0x00000000,0x00001249,0x00009252,
527     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
528    {0x00000000,0x00000000,0x00001249,0x00009292,
529     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
530    {0x00000000,0x00000000,0x00001249,0x00009493,
531     0x0000a493,0x0000a49b,0x0000a49b,0x00009292},
532    {0x00000000,0x00000000,0x00001249,0x00009493,
533     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
534    {0x00000000,0x00000000,0x0000924a,0x00009493,
535     0x0000a493,0x000124db,0x0000a49b,0x00009493},
536    {0x00000000,0x00000000,0x00009252,0x0000a49b,
537     0x0001249b,0x000126dc,0x000124db,0x0000a49b},
538    {0x00000000,0x00000000,0x00000000,0x00000000,
539     0x00000000,0x00000000,0x00000000,0x00000000}
540   }
541  },
542  { /* version 3 */
543   { /* version 3, passes 0 */
544    {0x00000000,0x00000000,0x00000249,0x00000249,
545     0x0000124a,0x0000124a,0x00009292,0x00009292},
546    {0x00000000,0x00000000,0x00001249,0x00001249,
547     0x00009292,0x00009493,0x0000a49b,0x0000a49b},
548    {0x00000000,0x00000000,0x00001249,0x0000924a,
549     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
550    {0x00000000,0x00000000,0x00001249,0x00009292,
551     0x00009492,0x000124db,0x000126dc,0x000126dc},
552    {0x00000000,0x00000000,0x00001249,0x00009493,
553     0x0000a493,0x000124db,0x000126dc,0x000126dc},
554    {0x00000000,0x00000000,0x00001249,0x00009493,
555     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
556    {0x00000000,0x00000000,0x00001249,0x00009493,
557     0x0000a493,0x000126dc,0x000136e4,0x0001b724},
558    {0x00000000,0x00000000,0x00001249,0x00009493,
559     0x0001249b,0x000126dc,0x000136e4,0x0001b724},
560    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
561     0x0001249b,0x000126dc,0x000136e4,0x0001b724},
562    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
563     0x0001249b,0x000136e4,0x0001b725,0x0001b724},
564    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
565     0x000124db,0x000136e4,0x0001b725,0x0001b925},
566    {0x00000000,0x00000000,0x00009292,0x0000a49b,
567     0x000126dc,0x000136e4,0x0001b92d,0x0001b925},
568    {0x00000000,0x00000000,0x00009292,0x0000a49b,
569     0x000126dc,0x0001b724,0x0001b92d,0x0001c92d},
570    {0x00000000,0x00000000,0x00009492,0x000124db,
571     0x000126dc,0x0001b724,0x0001c96e,0x0001c92d},
572    {0x00000000,0x00000000,0x0000a492,0x000126db,
573     0x000136e4,0x0001b925,0x00025bb6,0x00024b77},
574    {0x00000000,0x00000000,0x00000000,0x00000000,
575     0x00000000,0x00000000,0x00000000,0x00000000}
576   },
577   { /* version 3, passes 1 */
578    {0x00000000,0x00000000,0x00001249,0x00000249,
579     0x0000124a,0x0000124a,0x00001252,0x00001252},
580    {0x00000000,0x00000000,0x00001249,0x00001249,
581     0x00009252,0x00009292,0x00009292,0x00001252},
582    {0x00000000,0x00000000,0x00001249,0x0000924a,
583     0x00009492,0x00009493,0x0000a49b,0x00001252},
584    {0x00000000,0x00000000,0x00001249,0x00009252,
585     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
586    {0x00000000,0x00000000,0x00001249,0x00009292,
587     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
588    {0x00000000,0x00000000,0x00001249,0x00009493,
589     0x0000a493,0x0000a49b,0x000126dc,0x00009292},
590    {0x00000000,0x00000000,0x0000924a,0x00009493,
591     0x0000a493,0x0000a49b,0x000126dc,0x00009493},
592    {0x00000000,0x00000000,0x0000924a,0x00009493,
593     0x0000a493,0x0000a49b,0x000126dc,0x00009493},
594    {0x00000000,0x00000000,0x0000924a,0x00009493,
595     0x0000a493,0x000124db,0x000126dc,0x00009493},
596    {0x00000000,0x00000000,0x0000924a,0x00009493,
597     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
598    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
599     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
600    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
601     0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
602    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
603     0x000124db,0x000136e4,0x000126dc,0x000124db},
604    {0x00000000,0x00000000,0x00009492,0x0000a49b,
605     0x000136e4,0x000136e4,0x000126dc,0x000124db},
606    {0x00000000,0x00000000,0x0000a492,0x000124db,
607     0x0001b724,0x0001b724,0x000136e4,0x000126dc},
608    {0x00000000,0x00000000,0x00000000,0x00000000,
609     0x00000000,0x00000000,0x00000000,0x00000000}
610   }
611  },
612  { /* version 4 */
613   { /* version 4, passes 0 */
614    {0x00000000,0x00000000,0x00000049,0x00000049,
615     0x00000049,0x00000049,0x00000049,0x00000049},
616    {0x00000000,0x00000000,0x00000249,0x00000049,
617     0x00000249,0x00000249,0x0000024a,0x00000049},
618    {0x00000000,0x00000000,0x00000249,0x00000249,
619     0x0000124a,0x00009252,0x00001252,0x0000024a},
620    {0x00000000,0x00000000,0x00001249,0x00001249,
621     0x00009252,0x00009292,0x00009493,0x00001252},
622    {0x00000000,0x00000000,0x00001249,0x0000924a,
623     0x00009292,0x00009493,0x00009493,0x00001252},
624    {0x00000000,0x00000000,0x00001249,0x00009292,
625     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
626    {0x00000000,0x00000000,0x00001249,0x00009493,
627     0x0000a493,0x000124db,0x000124db,0x00009493},
628    {0x00000000,0x00000000,0x0000924a,0x00009493,
629     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
630    {0x00000000,0x00000000,0x0000924a,0x00009493,
631     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
632    {0x00000000,0x00000000,0x0000924a,0x00009493,
633     0x0001249b,0x000126dc,0x000126dc,0x000124db},
634    {0x00000000,0x00000000,0x00009252,0x00009493,
635     0x000124db,0x000136e4,0x000136e4,0x000126dc},
636    {0x00000000,0x00000000,0x00009252,0x0000a49b,
637     0x000124db,0x000136e4,0x000136e4,0x000126dc},
638    {0x00000000,0x00000000,0x00009292,0x0000a49b,
639     0x000126dc,0x000136e4,0x000136e4,0x000136e4},
640    {0x00000000,0x00000000,0x00009492,0x0000a49b,
641     0x000126dc,0x0001b724,0x0001b725,0x0001b724},
642    {0x00000000,0x00000000,0x0000a492,0x000124db,
643     0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
644    {0x00000000,0x00000000,0x00000000,0x00000000,
645     0x00000000,0x00000000,0x00000000,0x00000000}
646   },
647   { /* version 4, passes 1 */
648    {0x00000000,0x00000000,0x00000249,0x00000049,
649     0x00000009,0x00000009,0x00000009,0x00000009},
650    {0x00000000,0x00000000,0x00000249,0x00000249,
651     0x00000049,0x00000049,0x00000009,0x00000009},
652    {0x00000000,0x00000000,0x00001249,0x00001249,
653     0x0000124a,0x00000249,0x00000049,0x00000049},
654    {0x00000000,0x00000000,0x00001249,0x00001249,
655     0x0000124a,0x0000124a,0x00000049,0x00000049},
656    {0x00000000,0x00000000,0x00001249,0x00001249,
657     0x00009252,0x0000124a,0x0000024a,0x0000024a},
658    {0x00000000,0x00000000,0x00001249,0x0000924a,
659     0x00009252,0x0000124a,0x0000024a,0x0000024a},
660    {0x00000000,0x00000000,0x00001249,0x00009292,
661     0x00009492,0x00009252,0x00001252,0x00001252},
662    {0x00000000,0x00000000,0x00001249,0x00009493,
663     0x0000a493,0x00009292,0x00009292,0x00001252},
664    {0x00000000,0x00000000,0x0000924a,0x00009493,
665     0x0000a493,0x00009292,0x00009292,0x00009292},
666    {0x00000000,0x00000000,0x0000924a,0x00009493,
667     0x0000a493,0x00009493,0x00009493,0x00009292},
668    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
669     0x0000a493,0x0000a49b,0x00009493,0x00009493},
670    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
671     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
672    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
673     0x0001249b,0x000124db,0x0000a49b,0x0000a49b},
674    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
675     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
676    {0x00000000,0x00000000,0x00009252,0x000124db,
677     0x0001b724,0x000136e4,0x000126dc,0x000124db},
678    {0x00000000,0x00000000,0x00000000,0x00000000,
679     0x00000000,0x00000000,0x00000000,0x00000000}
680   }
681  },
682  { /* version 5 */
683   { /* version 5, passes 0 */
684    {0x00000000,0x00000000,0x00000249,0x00000249,
685     0x00000249,0x00000249,0x00001252,0x00001252},
686    {0x00000000,0x00000000,0x00001249,0x00001249,
687     0x00009252,0x00009292,0x00009292,0x00001252},
688    {0x00000000,0x00000000,0x00001249,0x0000924a,
689     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
690    {0x00000000,0x00000000,0x00001249,0x00009493,
691     0x0000a493,0x0000a49b,0x000124db,0x00009493},
692    {0x00000000,0x00000000,0x00001249,0x00009493,
693     0x0000a493,0x000124db,0x000126dc,0x00009493},
694    {0x00000000,0x00000000,0x0000924a,0x00009493,
695     0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
696    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
697     0x0001249b,0x000126dc,0x000136e4,0x000124db},
698    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
699     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
700    {0x00000000,0x00000000,0x00009292,0x0000a49b,
701     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
702    {0x00000000,0x00000000,0x00009292,0x0000a49b,
703     0x000126dc,0x0001b724,0x0001b725,0x000136e4},
704    {0x00000000,0x00000000,0x00009292,0x0000a49b,
705     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
706    {0x00000000,0x00000000,0x00009492,0x0000a49b,
707     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
708    {0x00000000,0x00000000,0x00009492,0x000124db,
709     0x000136e4,0x0001b925,0x0001c96e,0x0001b925},
710    {0x00000000,0x00000000,0x00009492,0x000124db,
711     0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
712    {0x00000000,0x00000000,0x0000a492,0x000126db,
713     0x0001c924,0x0002496d,0x00025bb6,0x00024b77},
714    {0x00000000,0x00000000,0x00000000,0x00000000,
715     0x00000000,0x00000000,0x00000000,0x00000000}
716   },
717   { /* version 5, passes 1 */
718    {0x00000000,0x00000000,0x00001249,0x00000249,
719     0x00000249,0x00000249,0x0000024a,0x0000024a},
720    {0x00000000,0x00000000,0x00001249,0x00001249,
721     0x0000124a,0x0000124a,0x0000024a,0x0000024a},
722    {0x00000000,0x00000000,0x00001249,0x0000924a,
723     0x00009252,0x00009252,0x0000024a,0x0000024a},
724    {0x00000000,0x00000000,0x00001249,0x00009292,
725     0x00009492,0x0000a49b,0x00001252,0x00001252},
726    {0x00000000,0x00000000,0x0000924a,0x00009493,
727     0x0000a493,0x0000a49b,0x00001252,0x00001252},
728    {0x00000000,0x00000000,0x0000924a,0x00009493,
729     0x0000a493,0x0000a49b,0x00009292,0x00001252},
730    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
731     0x0000a493,0x0000a49b,0x00009292,0x00009292},
732    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
733     0x0000a493,0x0000a49b,0x00009493,0x00009292},
734    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
735     0x0001249b,0x000124db,0x00009493,0x00009292},
736    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
737     0x0001249b,0x000124db,0x00009493,0x00009493},
738    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
739     0x000124db,0x000124db,0x0000a49b,0x00009493},
740    {0x00000000,0x00000000,0x0000924a,0x000124db,
741     0x000126dc,0x000126dc,0x0000a49b,0x00009493},
742    {0x00000000,0x00000000,0x0000924a,0x000124db,
743     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
744    {0x00000000,0x00000000,0x00009292,0x000124db,
745     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
746    {0x00000000,0x00000000,0x00009492,0x000126db,
747     0x0001b724,0x000136e4,0x000126dc,0x000124db},
748    {0x00000000,0x00000000,0x00000000,0x00000000,
749     0x00000000,0x00000000,0x00000000,0x00000000}
750   }
751  },
752  { /* version 6 */
753   { /* version 6, passes 0 */
754    {0x00000000,0x00000000,0x00001249,0x00001249,
755     0x00009252,0x00009292,0x00009493,0x00009493},
756    {0x00000000,0x00000000,0x00001249,0x00009292,
757     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
758    {0x00000000,0x00000000,0x00001249,0x00009493,
759     0x0000a493,0x000124db,0x000124db,0x0000a49b},
760    {0x00000000,0x00000000,0x0000924a,0x00009493,
761     0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
762    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
763     0x0001249b,0x000126dc,0x000136e4,0x000124db},
764    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
765     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
766    {0x00000000,0x00000000,0x00009292,0x0000a49b,
767     0x000126dc,0x0001b724,0x0001b725,0x000126dc},
768    {0x00000000,0x00000000,0x00009292,0x0000a49b,
769     0x000136e4,0x0001b724,0x0001b92d,0x000136e4},
770    {0x00000000,0x00000000,0x00009492,0x0000a49b,
771     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
772    {0x00000000,0x00000000,0x00009492,0x000124db,
773     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
774    {0x00000000,0x00000000,0x00009492,0x000124db,
775     0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
776    {0x00000000,0x00000000,0x00009492,0x000124db,
777     0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
778    {0x00000000,0x00000000,0x0000a492,0x000124db,
779     0x0001b724,0x0001c92d,0x0001c96e,0x0001c92d},
780    {0x00000000,0x00000000,0x0000a492,0x000124db,
781     0x0001b724,0x0001c92d,0x00024b76,0x0002496e},
782    {0x00000000,0x00000000,0x00012492,0x000126db,
783     0x0001c924,0x00024b6d,0x0002ddb6,0x00025bbf},
784    {0x00000000,0x00000000,0x00000000,0x00000000,
785     0x00000000,0x00000000,0x00000000,0x00000000}
786   },
787   { /* version 6, passes 1 */
788    {0x00000000,0x00000000,0x00001249,0x00001249,
789     0x0000124a,0x0000124a,0x00001252,0x00001252},
790    {0x00000000,0x00000000,0x00001249,0x00009292,
791     0x00009492,0x00009252,0x00001252,0x00001252},
792    {0x00000000,0x00000000,0x0000924a,0x00009493,
793     0x0000a493,0x00009292,0x00001252,0x00001252},
794    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
795     0x0000a493,0x0000a49b,0x00009292,0x00009292},
796    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
797     0x0000a493,0x0000a49b,0x00009292,0x00009292},
798    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
799     0x0001249b,0x0000a49b,0x00009493,0x00009292},
800    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
801     0x000124db,0x000124db,0x00009493,0x00009493},
802    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
803     0x000124db,0x000124db,0x0000a49b,0x00009493},
804    {0x00000000,0x00000000,0x0000924a,0x000124db,
805     0x000126dc,0x000124db,0x0000a49b,0x00009493},
806    {0x00000000,0x00000000,0x0000924a,0x000124db,
807     0x000126dc,0x000126dc,0x0000a49b,0x0000a49b},
808    {0x00000000,0x00000000,0x0000924a,0x000124db,
809     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
810    {0x00000000,0x00000000,0x00009492,0x000126db,
811     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
812    {0x00000000,0x00000000,0x00009492,0x000126db,
813     0x0001b724,0x000136e4,0x000126dc,0x000124db},
814    {0x00000000,0x00000000,0x00009492,0x000126db,
815     0x0001b724,0x000136e4,0x000126dc,0x000124db},
816    {0x00000000,0x00000000,0x0000a492,0x000136db,
817     0x0001c924,0x0001b724,0x000136e4,0x000126dc},
818    {0x00000000,0x00000000,0x00000000,0x00000000,
819     0x00000000,0x00000000,0x00000000,0x00000000}
820   }
821  },
822  { /* version 7 */
823   { /* version 7, passes 0 */
824    {0x00000000,0x00000000,0x00001249,0x00001249,
825     0x00009252,0x00009292,0x00009493,0x00009493},
826    {0x00000000,0x00000000,0x00001249,0x00009493,
827     0x0000a493,0x000124db,0x000126dc,0x00009493},
828    {0x00000000,0x00000000,0x00001249,0x0000a49b,
829     0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
830    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
831     0x0001249b,0x000126dc,0x000136e4,0x0000a49b},
832    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
833     0x000126dc,0x000136e4,0x0001b725,0x000124db},
834    {0x00000000,0x00000000,0x00009292,0x0000a49b,
835     0x000136e4,0x0001b724,0x0001b725,0x000126dc},
836    {0x00000000,0x00000000,0x00009292,0x000124db,
837     0x000136e4,0x0001b724,0x0001b725,0x000126dc},
838    {0x00000000,0x00000000,0x00009492,0x000124db,
839     0x000136e4,0x0001b724,0x0001c96e,0x000136e4},
840    {0x00000000,0x00000000,0x00009492,0x000124db,
841     0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
842    {0x00000000,0x00000000,0x0000a492,0x000124db,
843     0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
844    {0x00000000,0x00000000,0x0000a492,0x000124db,
845     0x0001b724,0x0001c92d,0x0001c96e,0x0001b925},
846    {0x00000000,0x00000000,0x0000a492,0x000126db,
847     0x0001b724,0x0001c92d,0x00024b76,0x0001c92d},
848    {0x00000000,0x00000000,0x0000a492,0x000126db,
849     0x0001b924,0x0001c92d,0x00024b76,0x0001c92d},
850    {0x00000000,0x00000000,0x0000a492,0x000126db,
851     0x0001b924,0x0001c92d,0x00024b76,0x0002496e},
852    {0x00000000,0x00000000,0x00012492,0x000136db,
853     0x00024924,0x00024b6d,0x0002ddb6,0x00025bbf},
854    {0x00000000,0x00000000,0x00000000,0x00000000,
855     0x00000000,0x00000000,0x00000000,0x00000000}
856   },
857   { /* version 7, passes 1 */
858    {0x00000000,0x00000000,0x00001249,0x00001249,
859     0x0000124a,0x0000124a,0x00001252,0x00001252},
860    {0x00000000,0x00000000,0x0000924a,0x00009493,
861     0x00009492,0x00009292,0x00001252,0x00001252},
862    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
863     0x0000a493,0x0000a49b,0x00001252,0x00001252},
864    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
865     0x0000a493,0x0000a49b,0x00009292,0x00009292},
866    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
867     0x0000a493,0x0000a49b,0x00009292,0x00009292},
868    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
869     0x000126dc,0x0000a49b,0x00009493,0x00009292},
870    {0x00000000,0x00000000,0x0000924a,0x000124db,
871     0x000126dc,0x000124db,0x00009493,0x00009493},
872    {0x00000000,0x00000000,0x0000924a,0x000124db,
873     0x000136e4,0x000124db,0x0000a49b,0x00009493},
874    {0x00000000,0x00000000,0x0000924a,0x000136db,
875     0x0001b724,0x000124db,0x0000a49b,0x00009493},
876    {0x00000000,0x00000000,0x0000924a,0x000136db,
877     0x0001b724,0x000126dc,0x0000a49b,0x0000a49b},
878    {0x00000000,0x00000000,0x00009292,0x000136db,
879     0x0001b724,0x000126dc,0x000124db,0x0000a49b},
880    {0x00000000,0x00000000,0x00009492,0x000136db,
881     0x0001b724,0x000126dc,0x000124db,0x0000a49b},
882    {0x00000000,0x00000000,0x0000a492,0x000136db,
883     0x0001b724,0x000136e4,0x000126dc,0x000124db},
884    {0x00000000,0x00000000,0x0000a492,0x000136db,
885     0x0001b724,0x000136e4,0x000126dc,0x000124db},
886    {0x00000000,0x00000000,0x00012492,0x0001b6db,
887     0x0001c924,0x0001b724,0x000136e4,0x000126dc},
888    {0x00000000,0x00000000,0x00000000,0x00000000,
889     0x00000000,0x00000000,0x00000000,0x00000000}
890   }
891  }
892 };
893