1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  *
  22  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  */
  25 
  26 /*      Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
  27 /*        All Rights Reserved   */
  28 
  29 /*
  30  * Portions of this source code were derived from Berkeley 4.3 BSD
  31  * under license from the Regents of the University of California.
  32  */
  33 
  34 #ifndef _SYS_DESDATA_H
  35 #define _SYS_DESDATA_H
  36 
  37 #pragma ident   "%Z%%M% %I%     %E% SMI"
  38 
  39 #ifdef  __cplusplus
  40 extern "C" {
  41 #endif
  42 
  43 /*
  44  * softdesdata.c, Data for software implementation of DES
  45  */
  46 
  47 /*
  48  * Lint can't handle static's in include files.
  49  * Complains "defined but not used" and then "used but not defined"
  50  */
  51 #ifdef __lint
  52 #define static
  53 #endif
  54 
  55 /*
  56  * Permuted-choice 1 from the key bits
  57  * to yield C and D.
  58  * Note that bits 8,16... are left out:
  59  * They are intended for a parity check.
  60  * Table has been munged to be zero-origin
  61  */
  62 
  63 const short     PC1_C[] = {
  64         57-1, 49-1, 41-1, 33-1, 25-1, 17-1,  9-1,
  65         1-1,  58-1, 50-1, 42-1, 34-1, 26-1, 18-1,
  66         10-1,  2-1, 59-1, 51-1, 43-1, 35-1, 27-1,
  67         19-1, 11-1,  3-1, 60-1, 52-1, 44-1, 36-1,
  68 };
  69 
  70 const short     PC1_D[] = {
  71         63-1, 55-1, 47-1, 39-1, 31-1, 23-1, 15-1,
  72         7-1,  62-1, 54-1, 46-1, 38-1, 30-1, 22-1,
  73         14-1,  6-1, 61-1, 53-1, 45-1, 37-1, 29-1,
  74         21-1, 13-1,  5-1, 28-1, 20-1, 12-1,  4-1,
  75 };
  76 
  77 /*
  78  * Sequence of shifts used for the key schedule.
  79  */
  80 const char      shifts[] = {
  81         1-1, 1-1, 2-1, 2-1, 2-1, 2-1, 2-1, 2-1,
  82         1-1, 2-1, 2-1, 2-1, 2-1, 2-1, 2-1, 1-1,
  83 };
  84 
  85 /*
  86  * Permuted-choice 2, to pick out the bits from
  87  * the CD array that generate the key schedule.
  88  */
  89 const   char    PC2_C[] = {
  90         14, 17, 11, 24, 1,  5,
  91         3,  28, 15, 6,  21, 10,
  92         23, 19, 12, 4,  26, 8,
  93         16, 7,  27, 20, 13, 2,
  94 };
  95 
  96 const   char    PC2_D[] = {
  97         41-28, 52-28, 31-28, 37-28, 47-28, 55-28,
  98         30-28, 40-28, 51-28, 45-28, 33-28, 48-28,
  99         44-28, 49-28, 39-28, 56-28, 34-28, 53-28,
 100         46-28, 42-28, 50-28, 36-28, 29-28, 32-28,
 101 };
 102 
 103 /*
 104  * Initial permutation
 105  */
 106 const   short   IPtab[64] = {
 107         40-1,  8-1, 48-1, 16-1, 56-1, 24-1, 64-1, 32-1,
 108         39-1,  7-1, 47-1, 15-1, 55-1, 23-1, 63-1, 31-1,
 109         38-1,  6-1, 46-1, 14-1, 54-1, 22-1, 62-1, 30-1,
 110         37-1,  5-1, 45-1, 13-1, 53-1, 21-1, 61-1, 29-1,
 111         36-1,  4-1, 44-1, 12-1, 52-1, 20-1, 60-1, 28-1,
 112         35-1,  3-1, 43-1, 11-1, 51-1, 19-1, 59-1, 27-1,
 113         34-1,  2-1, 42-1, 10-1, 50-1, 18-1, 58-1, 26-1,
 114         33-1,  1-1, 41-1,  9-1, 49-1, 17-1, 57-1, 25-1,
 115 };
 116 
 117 /*
 118  * Final permutation
 119  */
 120 const   short   FPtab[64] = {
 121         58-1, 50-1, 42-1, 34-1, 26-1, 18-1, 10-1,  2-1,
 122         60-1, 52-1, 44-1, 36-1, 28-1, 20-1, 12-1,  4-1,
 123         62-1, 54-1, 46-1, 38-1, 30-1, 22-1, 14-1,  6-1,
 124         64-1, 56-1, 48-1, 40-1, 32-1, 24-1, 16-1,  8-1,
 125         57-1, 49-1, 41-1, 33-1, 25-1, 17-1,  9-1,  1-1,
 126         59-1, 51-1, 43-1, 35-1, 27-1, 19-1, 11-1,  3-1,
 127         61-1, 53-1, 45-1, 37-1, 29-1, 21-1, 13-1,  5-1,
 128         63-1, 55-1, 47-1, 39-1, 31-1, 23-1, 15-1,  7-1,
 129 };
 130 
 131 /*
 132  * Mask bit selection table
 133  */
 134 const   uint32_t longtab[32] = {
 135         0x80000000U,    0x40000000U,    0x20000000U,    0x10000000U,
 136         0x8000000U,     0x4000000U,     0x2000000U,     0x1000000U,
 137         0x800000U,      0x400000U,      0x200000U,      0x100000U,
 138         0x80000U,       0x40000U,       0x20000U,       0x10000U,
 139         0x8000U,        0x4000U,        0x2000U,        0x1000U,
 140         0x800U,         0x400U,         0x200U,         0x100U,
 141         0x80U,          0x40U,          0x20U,          0x10U,
 142         0x8U,           0x4U,           0x2U,           0x1U,
 143 };
 144 
 145 /*
 146  * Table to expand 32 bit (4 bytes of 8 bits) R value
 147  * to 48 bits (8 bytes of 6 bits)
 148  */
 149 struct R_to_ER {
 150         uint32_t l0, l1;
 151 };
 152 
 153 const   struct R_to_ER R_to_ER_tab[4][256] = {
 154         {{ 0x00000000, 0x00000000, },   { 0x00022000, 0x00000000, },
 155         { 0x00040000, 0x00000000, },    { 0x00062000, 0x00000000, },
 156         { 0x00080000, 0x00000000, },    { 0x000a2000, 0x00000000, },
 157         { 0x000c0000, 0x00000000, },    { 0x000e2000, 0x00000000, },
 158         { 0x01100000, 0x00000000, },    { 0x01122000, 0x00000000, },
 159         { 0x01140000, 0x00000000, },    { 0x01162000, 0x00000000, },
 160         { 0x01180000, 0x00000000, },    { 0x011a2000, 0x00000000, },
 161         { 0x011c0000, 0x00000000, },    { 0x011e2000, 0x00000000, },
 162         { 0x02200000, 0x00000000, },    { 0x02222000, 0x00000000, },
 163         { 0x02240000, 0x00000000, },    { 0x02262000, 0x00000000, },
 164         { 0x02280000, 0x00000000, },    { 0x022a2000, 0x00000000, },
 165         { 0x022c0000, 0x00000000, },    { 0x022e2000, 0x00000000, },
 166         { 0x03300000, 0x00000000, },    { 0x03322000, 0x00000000, },
 167         { 0x03340000, 0x00000000, },    { 0x03362000, 0x00000000, },
 168         { 0x03380000, 0x00000000, },    { 0x033a2000, 0x00000000, },
 169         { 0x033c0000, 0x00000000, },    { 0x033e2000, 0x00000000, },
 170         { 0x04000000, 0x00000000, },    { 0x04022000, 0x00000000, },
 171         { 0x04040000, 0x00000000, },    { 0x04062000, 0x00000000, },
 172         { 0x04080000, 0x00000000, },    { 0x040a2000, 0x00000000, },
 173         { 0x040c0000, 0x00000000, },    { 0x040e2000, 0x00000000, },
 174         { 0x05100000, 0x00000000, },    { 0x05122000, 0x00000000, },
 175         { 0x05140000, 0x00000000, },    { 0x05162000, 0x00000000, },
 176         { 0x05180000, 0x00000000, },    { 0x051a2000, 0x00000000, },
 177         { 0x051c0000, 0x00000000, },    { 0x051e2000, 0x00000000, },
 178         { 0x06200000, 0x00000000, },    { 0x06222000, 0x00000000, },
 179         { 0x06240000, 0x00000000, },    { 0x06262000, 0x00000000, },
 180         { 0x06280000, 0x00000000, },    { 0x062a2000, 0x00000000, },
 181         { 0x062c0000, 0x00000000, },    { 0x062e2000, 0x00000000, },
 182         { 0x07300000, 0x00000000, },    { 0x07322000, 0x00000000, },
 183         { 0x07340000, 0x00000000, },    { 0x07362000, 0x00000000, },
 184         { 0x07380000, 0x00000000, },    { 0x073a2000, 0x00000000, },
 185         { 0x073c0000, 0x00000000, },    { 0x073e2000, 0x00000000, },
 186         { 0x08000000, 0x00000000, },    { 0x08022000, 0x00000000, },
 187         { 0x08040000, 0x00000000, },    { 0x08062000, 0x00000000, },
 188         { 0x08080000, 0x00000000, },    { 0x080a2000, 0x00000000, },
 189         { 0x080c0000, 0x00000000, },    { 0x080e2000, 0x00000000, },
 190         { 0x09100000, 0x00000000, },    { 0x09122000, 0x00000000, },
 191         { 0x09140000, 0x00000000, },    { 0x09162000, 0x00000000, },
 192         { 0x09180000, 0x00000000, },    { 0x091a2000, 0x00000000, },
 193         { 0x091c0000, 0x00000000, },    { 0x091e2000, 0x00000000, },
 194         { 0x0a200000, 0x00000000, },    { 0x0a222000, 0x00000000, },
 195         { 0x0a240000, 0x00000000, },    { 0x0a262000, 0x00000000, },
 196         { 0x0a280000, 0x00000000, },    { 0x0a2a2000, 0x00000000, },
 197         { 0x0a2c0000, 0x00000000, },    { 0x0a2e2000, 0x00000000, },
 198         { 0x0b300000, 0x00000000, },    { 0x0b322000, 0x00000000, },
 199         { 0x0b340000, 0x00000000, },    { 0x0b362000, 0x00000000, },
 200         { 0x0b380000, 0x00000000, },    { 0x0b3a2000, 0x00000000, },
 201         { 0x0b3c0000, 0x00000000, },    { 0x0b3e2000, 0x00000000, },
 202         { 0x0c000000, 0x00000000, },    { 0x0c022000, 0x00000000, },
 203         { 0x0c040000, 0x00000000, },    { 0x0c062000, 0x00000000, },
 204         { 0x0c080000, 0x00000000, },    { 0x0c0a2000, 0x00000000, },
 205         { 0x0c0c0000, 0x00000000, },    { 0x0c0e2000, 0x00000000, },
 206         { 0x0d100000, 0x00000000, },    { 0x0d122000, 0x00000000, },
 207         { 0x0d140000, 0x00000000, },    { 0x0d162000, 0x00000000, },
 208         { 0x0d180000, 0x00000000, },    { 0x0d1a2000, 0x00000000, },
 209         { 0x0d1c0000, 0x00000000, },    { 0x0d1e2000, 0x00000000, },
 210         { 0x0e200000, 0x00000000, },    { 0x0e222000, 0x00000000, },
 211         { 0x0e240000, 0x00000000, },    { 0x0e262000, 0x00000000, },
 212         { 0x0e280000, 0x00000000, },    { 0x0e2a2000, 0x00000000, },
 213         { 0x0e2c0000, 0x00000000, },    { 0x0e2e2000, 0x00000000, },
 214         { 0x0f300000, 0x00000000, },    { 0x0f322000, 0x00000000, },
 215         { 0x0f340000, 0x00000000, },    { 0x0f362000, 0x00000000, },
 216         { 0x0f380000, 0x00000000, },    { 0x0f3a2000, 0x00000000, },
 217         { 0x0f3c0000, 0x00000000, },    { 0x0f3e2000, 0x00000000, },
 218         { 0x10000000, 0x00000001, },    { 0x10022000, 0x00000001, },
 219         { 0x10040000, 0x00000001, },    { 0x10062000, 0x00000001, },
 220         { 0x10080000, 0x00000001, },    { 0x100a2000, 0x00000001, },
 221         { 0x100c0000, 0x00000001, },    { 0x100e2000, 0x00000001, },
 222         { 0x11100000, 0x00000001, },    { 0x11122000, 0x00000001, },
 223         { 0x11140000, 0x00000001, },    { 0x11162000, 0x00000001, },
 224         { 0x11180000, 0x00000001, },    { 0x111a2000, 0x00000001, },
 225         { 0x111c0000, 0x00000001, },    { 0x111e2000, 0x00000001, },
 226         { 0x12200000, 0x00000001, },    { 0x12222000, 0x00000001, },
 227         { 0x12240000, 0x00000001, },    { 0x12262000, 0x00000001, },
 228         { 0x12280000, 0x00000001, },    { 0x122a2000, 0x00000001, },
 229         { 0x122c0000, 0x00000001, },    { 0x122e2000, 0x00000001, },
 230         { 0x13300000, 0x00000001, },    { 0x13322000, 0x00000001, },
 231         { 0x13340000, 0x00000001, },    { 0x13362000, 0x00000001, },
 232         { 0x13380000, 0x00000001, },    { 0x133a2000, 0x00000001, },
 233         { 0x133c0000, 0x00000001, },    { 0x133e2000, 0x00000001, },
 234         { 0x14000000, 0x00000001, },    { 0x14022000, 0x00000001, },
 235         { 0x14040000, 0x00000001, },    { 0x14062000, 0x00000001, },
 236         { 0x14080000, 0x00000001, },    { 0x140a2000, 0x00000001, },
 237         { 0x140c0000, 0x00000001, },    { 0x140e2000, 0x00000001, },
 238         { 0x15100000, 0x00000001, },    { 0x15122000, 0x00000001, },
 239         { 0x15140000, 0x00000001, },    { 0x15162000, 0x00000001, },
 240         { 0x15180000, 0x00000001, },    { 0x151a2000, 0x00000001, },
 241         { 0x151c0000, 0x00000001, },    { 0x151e2000, 0x00000001, },
 242         { 0x16200000, 0x00000001, },    { 0x16222000, 0x00000001, },
 243         { 0x16240000, 0x00000001, },    { 0x16262000, 0x00000001, },
 244         { 0x16280000, 0x00000001, },    { 0x162a2000, 0x00000001, },
 245         { 0x162c0000, 0x00000001, },    { 0x162e2000, 0x00000001, },
 246         { 0x17300000, 0x00000001, },    { 0x17322000, 0x00000001, },
 247         { 0x17340000, 0x00000001, },    { 0x17362000, 0x00000001, },
 248         { 0x17380000, 0x00000001, },    { 0x173a2000, 0x00000001, },
 249         { 0x173c0000, 0x00000001, },    { 0x173e2000, 0x00000001, },
 250         { 0x18000000, 0x00000001, },    { 0x18022000, 0x00000001, },
 251         { 0x18040000, 0x00000001, },    { 0x18062000, 0x00000001, },
 252         { 0x18080000, 0x00000001, },    { 0x180a2000, 0x00000001, },
 253         { 0x180c0000, 0x00000001, },    { 0x180e2000, 0x00000001, },
 254         { 0x19100000, 0x00000001, },    { 0x19122000, 0x00000001, },
 255         { 0x19140000, 0x00000001, },    { 0x19162000, 0x00000001, },
 256         { 0x19180000, 0x00000001, },    { 0x191a2000, 0x00000001, },
 257         { 0x191c0000, 0x00000001, },    { 0x191e2000, 0x00000001, },
 258         { 0x1a200000, 0x00000001, },    { 0x1a222000, 0x00000001, },
 259         { 0x1a240000, 0x00000001, },    { 0x1a262000, 0x00000001, },
 260         { 0x1a280000, 0x00000001, },    { 0x1a2a2000, 0x00000001, },
 261         { 0x1a2c0000, 0x00000001, },    { 0x1a2e2000, 0x00000001, },
 262         { 0x1b300000, 0x00000001, },    { 0x1b322000, 0x00000001, },
 263         { 0x1b340000, 0x00000001, },    { 0x1b362000, 0x00000001, },
 264         { 0x1b380000, 0x00000001, },    { 0x1b3a2000, 0x00000001, },
 265         { 0x1b3c0000, 0x00000001, },    { 0x1b3e2000, 0x00000001, },
 266         { 0x1c000000, 0x00000001, },    { 0x1c022000, 0x00000001, },
 267         { 0x1c040000, 0x00000001, },    { 0x1c062000, 0x00000001, },
 268         { 0x1c080000, 0x00000001, },    { 0x1c0a2000, 0x00000001, },
 269         { 0x1c0c0000, 0x00000001, },    { 0x1c0e2000, 0x00000001, },
 270         { 0x1d100000, 0x00000001, },    { 0x1d122000, 0x00000001, },
 271         { 0x1d140000, 0x00000001, },    { 0x1d162000, 0x00000001, },
 272         { 0x1d180000, 0x00000001, },    { 0x1d1a2000, 0x00000001, },
 273         { 0x1d1c0000, 0x00000001, },    { 0x1d1e2000, 0x00000001, },
 274         { 0x1e200000, 0x00000001, },    { 0x1e222000, 0x00000001, },
 275         { 0x1e240000, 0x00000001, },    { 0x1e262000, 0x00000001, },
 276         { 0x1e280000, 0x00000001, },    { 0x1e2a2000, 0x00000001, },
 277         { 0x1e2c0000, 0x00000001, },    { 0x1e2e2000, 0x00000001, },
 278         { 0x1f300000, 0x00000001, },    { 0x1f322000, 0x00000001, },
 279         { 0x1f340000, 0x00000001, },    { 0x1f362000, 0x00000001, },
 280         { 0x1f380000, 0x00000001, },    { 0x1f3a2000, 0x00000001, },
 281         { 0x1f3c0000, 0x00000001, },    { 0x1f3e2000, 0x00000001, }, },
 282 
 283         {{ 0x00000000, 0x00000000, },   { 0x00000002, 0x20000000, },
 284         { 0x00000004, 0x00000000, },    { 0x00000006, 0x20000000, },
 285         { 0x00000008, 0x00000000, },    { 0x0000000a, 0x20000000, },
 286         { 0x0000000c, 0x00000000, },    { 0x0000000e, 0x20000000, },
 287         { 0x00000110, 0x00000000, },    { 0x00000112, 0x20000000, },
 288         { 0x00000114, 0x00000000, },    { 0x00000116, 0x20000000, },
 289         { 0x00000118, 0x00000000, },    { 0x0000011a, 0x20000000, },
 290         { 0x0000011c, 0x00000000, },    { 0x0000011e, 0x20000000, },
 291         { 0x00000220, 0x00000000, },    { 0x00000222, 0x20000000, },
 292         { 0x00000224, 0x00000000, },    { 0x00000226, 0x20000000, },
 293         { 0x00000228, 0x00000000, },    { 0x0000022a, 0x20000000, },
 294         { 0x0000022c, 0x00000000, },    { 0x0000022e, 0x20000000, },
 295         { 0x00000330, 0x00000000, },    { 0x00000332, 0x20000000, },
 296         { 0x00000334, 0x00000000, },    { 0x00000336, 0x20000000, },
 297         { 0x00000338, 0x00000000, },    { 0x0000033a, 0x20000000, },
 298         { 0x0000033c, 0x00000000, },    { 0x0000033e, 0x20000000, },
 299         { 0x00000400, 0x00000000, },    { 0x00000402, 0x20000000, },
 300         { 0x00000404, 0x00000000, },    { 0x00000406, 0x20000000, },
 301         { 0x00000408, 0x00000000, },    { 0x0000040a, 0x20000000, },
 302         { 0x0000040c, 0x00000000, },    { 0x0000040e, 0x20000000, },
 303         { 0x00000510, 0x00000000, },    { 0x00000512, 0x20000000, },
 304         { 0x00000514, 0x00000000, },    { 0x00000516, 0x20000000, },
 305         { 0x00000518, 0x00000000, },    { 0x0000051a, 0x20000000, },
 306         { 0x0000051c, 0x00000000, },    { 0x0000051e, 0x20000000, },
 307         { 0x00000620, 0x00000000, },    { 0x00000622, 0x20000000, },
 308         { 0x00000624, 0x00000000, },    { 0x00000626, 0x20000000, },
 309         { 0x00000628, 0x00000000, },    { 0x0000062a, 0x20000000, },
 310         { 0x0000062c, 0x00000000, },    { 0x0000062e, 0x20000000, },
 311         { 0x00000730, 0x00000000, },    { 0x00000732, 0x20000000, },
 312         { 0x00000734, 0x00000000, },    { 0x00000736, 0x20000000, },
 313         { 0x00000738, 0x00000000, },    { 0x0000073a, 0x20000000, },
 314         { 0x0000073c, 0x00000000, },    { 0x0000073e, 0x20000000, },
 315         { 0x00000800, 0x00000000, },    { 0x00000802, 0x20000000, },
 316         { 0x00000804, 0x00000000, },    { 0x00000806, 0x20000000, },
 317         { 0x00000808, 0x00000000, },    { 0x0000080a, 0x20000000, },
 318         { 0x0000080c, 0x00000000, },    { 0x0000080e, 0x20000000, },
 319         { 0x00000910, 0x00000000, },    { 0x00000912, 0x20000000, },
 320         { 0x00000914, 0x00000000, },    { 0x00000916, 0x20000000, },
 321         { 0x00000918, 0x00000000, },    { 0x0000091a, 0x20000000, },
 322         { 0x0000091c, 0x00000000, },    { 0x0000091e, 0x20000000, },
 323         { 0x00000a20, 0x00000000, },    { 0x00000a22, 0x20000000, },
 324         { 0x00000a24, 0x00000000, },    { 0x00000a26, 0x20000000, },
 325         { 0x00000a28, 0x00000000, },    { 0x00000a2a, 0x20000000, },
 326         { 0x00000a2c, 0x00000000, },    { 0x00000a2e, 0x20000000, },
 327         { 0x00000b30, 0x00000000, },    { 0x00000b32, 0x20000000, },
 328         { 0x00000b34, 0x00000000, },    { 0x00000b36, 0x20000000, },
 329         { 0x00000b38, 0x00000000, },    { 0x00000b3a, 0x20000000, },
 330         { 0x00000b3c, 0x00000000, },    { 0x00000b3e, 0x20000000, },
 331         { 0x00000c00, 0x00000000, },    { 0x00000c02, 0x20000000, },
 332         { 0x00000c04, 0x00000000, },    { 0x00000c06, 0x20000000, },
 333         { 0x00000c08, 0x00000000, },    { 0x00000c0a, 0x20000000, },
 334         { 0x00000c0c, 0x00000000, },    { 0x00000c0e, 0x20000000, },
 335         { 0x00000d10, 0x00000000, },    { 0x00000d12, 0x20000000, },
 336         { 0x00000d14, 0x00000000, },    { 0x00000d16, 0x20000000, },
 337         { 0x00000d18, 0x00000000, },    { 0x00000d1a, 0x20000000, },
 338         { 0x00000d1c, 0x00000000, },    { 0x00000d1e, 0x20000000, },
 339         { 0x00000e20, 0x00000000, },    { 0x00000e22, 0x20000000, },
 340         { 0x00000e24, 0x00000000, },    { 0x00000e26, 0x20000000, },
 341         { 0x00000e28, 0x00000000, },    { 0x00000e2a, 0x20000000, },
 342         { 0x00000e2c, 0x00000000, },    { 0x00000e2e, 0x20000000, },
 343         { 0x00000f30, 0x00000000, },    { 0x00000f32, 0x20000000, },
 344         { 0x00000f34, 0x00000000, },    { 0x00000f36, 0x20000000, },
 345         { 0x00000f38, 0x00000000, },    { 0x00000f3a, 0x20000000, },
 346         { 0x00000f3c, 0x00000000, },    { 0x00000f3e, 0x20000000, },
 347         { 0x00011000, 0x00000000, },    { 0x00011002, 0x20000000, },
 348         { 0x00011004, 0x00000000, },    { 0x00011006, 0x20000000, },
 349         { 0x00011008, 0x00000000, },    { 0x0001100a, 0x20000000, },
 350         { 0x0001100c, 0x00000000, },    { 0x0001100e, 0x20000000, },
 351         { 0x00011110, 0x00000000, },    { 0x00011112, 0x20000000, },
 352         { 0x00011114, 0x00000000, },    { 0x00011116, 0x20000000, },
 353         { 0x00011118, 0x00000000, },    { 0x0001111a, 0x20000000, },
 354         { 0x0001111c, 0x00000000, },    { 0x0001111e, 0x20000000, },
 355         { 0x00011220, 0x00000000, },    { 0x00011222, 0x20000000, },
 356         { 0x00011224, 0x00000000, },    { 0x00011226, 0x20000000, },
 357         { 0x00011228, 0x00000000, },    { 0x0001122a, 0x20000000, },
 358         { 0x0001122c, 0x00000000, },    { 0x0001122e, 0x20000000, },
 359         { 0x00011330, 0x00000000, },    { 0x00011332, 0x20000000, },
 360         { 0x00011334, 0x00000000, },    { 0x00011336, 0x20000000, },
 361         { 0x00011338, 0x00000000, },    { 0x0001133a, 0x20000000, },
 362         { 0x0001133c, 0x00000000, },    { 0x0001133e, 0x20000000, },
 363         { 0x00011400, 0x00000000, },    { 0x00011402, 0x20000000, },
 364         { 0x00011404, 0x00000000, },    { 0x00011406, 0x20000000, },
 365         { 0x00011408, 0x00000000, },    { 0x0001140a, 0x20000000, },
 366         { 0x0001140c, 0x00000000, },    { 0x0001140e, 0x20000000, },
 367         { 0x00011510, 0x00000000, },    { 0x00011512, 0x20000000, },
 368         { 0x00011514, 0x00000000, },    { 0x00011516, 0x20000000, },
 369         { 0x00011518, 0x00000000, },    { 0x0001151a, 0x20000000, },
 370         { 0x0001151c, 0x00000000, },    { 0x0001151e, 0x20000000, },
 371         { 0x00011620, 0x00000000, },    { 0x00011622, 0x20000000, },
 372         { 0x00011624, 0x00000000, },    { 0x00011626, 0x20000000, },
 373         { 0x00011628, 0x00000000, },    { 0x0001162a, 0x20000000, },
 374         { 0x0001162c, 0x00000000, },    { 0x0001162e, 0x20000000, },
 375         { 0x00011730, 0x00000000, },    { 0x00011732, 0x20000000, },
 376         { 0x00011734, 0x00000000, },    { 0x00011736, 0x20000000, },
 377         { 0x00011738, 0x00000000, },    { 0x0001173a, 0x20000000, },
 378         { 0x0001173c, 0x00000000, },    { 0x0001173e, 0x20000000, },
 379         { 0x00011800, 0x00000000, },    { 0x00011802, 0x20000000, },
 380         { 0x00011804, 0x00000000, },    { 0x00011806, 0x20000000, },
 381         { 0x00011808, 0x00000000, },    { 0x0001180a, 0x20000000, },
 382         { 0x0001180c, 0x00000000, },    { 0x0001180e, 0x20000000, },
 383         { 0x00011910, 0x00000000, },    { 0x00011912, 0x20000000, },
 384         { 0x00011914, 0x00000000, },    { 0x00011916, 0x20000000, },
 385         { 0x00011918, 0x00000000, },    { 0x0001191a, 0x20000000, },
 386         { 0x0001191c, 0x00000000, },    { 0x0001191e, 0x20000000, },
 387         { 0x00011a20, 0x00000000, },    { 0x00011a22, 0x20000000, },
 388         { 0x00011a24, 0x00000000, },    { 0x00011a26, 0x20000000, },
 389         { 0x00011a28, 0x00000000, },    { 0x00011a2a, 0x20000000, },
 390         { 0x00011a2c, 0x00000000, },    { 0x00011a2e, 0x20000000, },
 391         { 0x00011b30, 0x00000000, },    { 0x00011b32, 0x20000000, },
 392         { 0x00011b34, 0x00000000, },    { 0x00011b36, 0x20000000, },
 393         { 0x00011b38, 0x00000000, },    { 0x00011b3a, 0x20000000, },
 394         { 0x00011b3c, 0x00000000, },    { 0x00011b3e, 0x20000000, },
 395         { 0x00011c00, 0x00000000, },    { 0x00011c02, 0x20000000, },
 396         { 0x00011c04, 0x00000000, },    { 0x00011c06, 0x20000000, },
 397         { 0x00011c08, 0x00000000, },    { 0x00011c0a, 0x20000000, },
 398         { 0x00011c0c, 0x00000000, },    { 0x00011c0e, 0x20000000, },
 399         { 0x00011d10, 0x00000000, },    { 0x00011d12, 0x20000000, },
 400         { 0x00011d14, 0x00000000, },    { 0x00011d16, 0x20000000, },
 401         { 0x00011d18, 0x00000000, },    { 0x00011d1a, 0x20000000, },
 402         { 0x00011d1c, 0x00000000, },    { 0x00011d1e, 0x20000000, },
 403         { 0x00011e20, 0x00000000, },    { 0x00011e22, 0x20000000, },
 404         { 0x00011e24, 0x00000000, },    { 0x00011e26, 0x20000000, },
 405         { 0x00011e28, 0x00000000, },    { 0x00011e2a, 0x20000000, },
 406         { 0x00011e2c, 0x00000000, },    { 0x00011e2e, 0x20000000, },
 407         { 0x00011f30, 0x00000000, },    { 0x00011f32, 0x20000000, },
 408         { 0x00011f34, 0x00000000, },    { 0x00011f36, 0x20000000, },
 409         { 0x00011f38, 0x00000000, },    { 0x00011f3a, 0x20000000, },
 410         { 0x00011f3c, 0x00000000, },    { 0x00011f3e, 0x20000000, }, },
 411 
 412         {{ 0x00000000, 0x00000000, },   { 0x00000000, 0x00022000, },
 413         { 0x00000000, 0x00040000, },    { 0x00000000, 0x00062000, },
 414         { 0x00000000, 0x00080000, },    { 0x00000000, 0x000a2000, },
 415         { 0x00000000, 0x000c0000, },    { 0x00000000, 0x000e2000, },
 416         { 0x00000000, 0x01100000, },    { 0x00000000, 0x01122000, },
 417         { 0x00000000, 0x01140000, },    { 0x00000000, 0x01162000, },
 418         { 0x00000000, 0x01180000, },    { 0x00000000, 0x011a2000, },
 419         { 0x00000000, 0x011c0000, },    { 0x00000000, 0x011e2000, },
 420         { 0x00000000, 0x02200000, },    { 0x00000000, 0x02222000, },
 421         { 0x00000000, 0x02240000, },    { 0x00000000, 0x02262000, },
 422         { 0x00000000, 0x02280000, },    { 0x00000000, 0x022a2000, },
 423         { 0x00000000, 0x022c0000, },    { 0x00000000, 0x022e2000, },
 424         { 0x00000000, 0x03300000, },    { 0x00000000, 0x03322000, },
 425         { 0x00000000, 0x03340000, },    { 0x00000000, 0x03362000, },
 426         { 0x00000000, 0x03380000, },    { 0x00000000, 0x033a2000, },
 427         { 0x00000000, 0x033c0000, },    { 0x00000000, 0x033e2000, },
 428         { 0x00000000, 0x04000000, },    { 0x00000000, 0x04022000, },
 429         { 0x00000000, 0x04040000, },    { 0x00000000, 0x04062000, },
 430         { 0x00000000, 0x04080000, },    { 0x00000000, 0x040a2000, },
 431         { 0x00000000, 0x040c0000, },    { 0x00000000, 0x040e2000, },
 432         { 0x00000000, 0x05100000, },    { 0x00000000, 0x05122000, },
 433         { 0x00000000, 0x05140000, },    { 0x00000000, 0x05162000, },
 434         { 0x00000000, 0x05180000, },    { 0x00000000, 0x051a2000, },
 435         { 0x00000000, 0x051c0000, },    { 0x00000000, 0x051e2000, },
 436         { 0x00000000, 0x06200000, },    { 0x00000000, 0x06222000, },
 437         { 0x00000000, 0x06240000, },    { 0x00000000, 0x06262000, },
 438         { 0x00000000, 0x06280000, },    { 0x00000000, 0x062a2000, },
 439         { 0x00000000, 0x062c0000, },    { 0x00000000, 0x062e2000, },
 440         { 0x00000000, 0x07300000, },    { 0x00000000, 0x07322000, },
 441         { 0x00000000, 0x07340000, },    { 0x00000000, 0x07362000, },
 442         { 0x00000000, 0x07380000, },    { 0x00000000, 0x073a2000, },
 443         { 0x00000000, 0x073c0000, },    { 0x00000000, 0x073e2000, },
 444         { 0x00000000, 0x08000000, },    { 0x00000000, 0x08022000, },
 445         { 0x00000000, 0x08040000, },    { 0x00000000, 0x08062000, },
 446         { 0x00000000, 0x08080000, },    { 0x00000000, 0x080a2000, },
 447         { 0x00000000, 0x080c0000, },    { 0x00000000, 0x080e2000, },
 448         { 0x00000000, 0x09100000, },    { 0x00000000, 0x09122000, },
 449         { 0x00000000, 0x09140000, },    { 0x00000000, 0x09162000, },
 450         { 0x00000000, 0x09180000, },    { 0x00000000, 0x091a2000, },
 451         { 0x00000000, 0x091c0000, },    { 0x00000000, 0x091e2000, },
 452         { 0x00000000, 0x0a200000, },    { 0x00000000, 0x0a222000, },
 453         { 0x00000000, 0x0a240000, },    { 0x00000000, 0x0a262000, },
 454         { 0x00000000, 0x0a280000, },    { 0x00000000, 0x0a2a2000, },
 455         { 0x00000000, 0x0a2c0000, },    { 0x00000000, 0x0a2e2000, },
 456         { 0x00000000, 0x0b300000, },    { 0x00000000, 0x0b322000, },
 457         { 0x00000000, 0x0b340000, },    { 0x00000000, 0x0b362000, },
 458         { 0x00000000, 0x0b380000, },    { 0x00000000, 0x0b3a2000, },
 459         { 0x00000000, 0x0b3c0000, },    { 0x00000000, 0x0b3e2000, },
 460         { 0x00000000, 0x0c000000, },    { 0x00000000, 0x0c022000, },
 461         { 0x00000000, 0x0c040000, },    { 0x00000000, 0x0c062000, },
 462         { 0x00000000, 0x0c080000, },    { 0x00000000, 0x0c0a2000, },
 463         { 0x00000000, 0x0c0c0000, },    { 0x00000000, 0x0c0e2000, },
 464         { 0x00000000, 0x0d100000, },    { 0x00000000, 0x0d122000, },
 465         { 0x00000000, 0x0d140000, },    { 0x00000000, 0x0d162000, },
 466         { 0x00000000, 0x0d180000, },    { 0x00000000, 0x0d1a2000, },
 467         { 0x00000000, 0x0d1c0000, },    { 0x00000000, 0x0d1e2000, },
 468         { 0x00000000, 0x0e200000, },    { 0x00000000, 0x0e222000, },
 469         { 0x00000000, 0x0e240000, },    { 0x00000000, 0x0e262000, },
 470         { 0x00000000, 0x0e280000, },    { 0x00000000, 0x0e2a2000, },
 471         { 0x00000000, 0x0e2c0000, },    { 0x00000000, 0x0e2e2000, },
 472         { 0x00000000, 0x0f300000, },    { 0x00000000, 0x0f322000, },
 473         { 0x00000000, 0x0f340000, },    { 0x00000000, 0x0f362000, },
 474         { 0x00000000, 0x0f380000, },    { 0x00000000, 0x0f3a2000, },
 475         { 0x00000000, 0x0f3c0000, },    { 0x00000000, 0x0f3e2000, },
 476         { 0x00000001, 0x10000000, },    { 0x00000001, 0x10022000, },
 477         { 0x00000001, 0x10040000, },    { 0x00000001, 0x10062000, },
 478         { 0x00000001, 0x10080000, },    { 0x00000001, 0x100a2000, },
 479         { 0x00000001, 0x100c0000, },    { 0x00000001, 0x100e2000, },
 480         { 0x00000001, 0x11100000, },    { 0x00000001, 0x11122000, },
 481         { 0x00000001, 0x11140000, },    { 0x00000001, 0x11162000, },
 482         { 0x00000001, 0x11180000, },    { 0x00000001, 0x111a2000, },
 483         { 0x00000001, 0x111c0000, },    { 0x00000001, 0x111e2000, },
 484         { 0x00000001, 0x12200000, },    { 0x00000001, 0x12222000, },
 485         { 0x00000001, 0x12240000, },    { 0x00000001, 0x12262000, },
 486         { 0x00000001, 0x12280000, },    { 0x00000001, 0x122a2000, },
 487         { 0x00000001, 0x122c0000, },    { 0x00000001, 0x122e2000, },
 488         { 0x00000001, 0x13300000, },    { 0x00000001, 0x13322000, },
 489         { 0x00000001, 0x13340000, },    { 0x00000001, 0x13362000, },
 490         { 0x00000001, 0x13380000, },    { 0x00000001, 0x133a2000, },
 491         { 0x00000001, 0x133c0000, },    { 0x00000001, 0x133e2000, },
 492         { 0x00000001, 0x14000000, },    { 0x00000001, 0x14022000, },
 493         { 0x00000001, 0x14040000, },    { 0x00000001, 0x14062000, },
 494         { 0x00000001, 0x14080000, },    { 0x00000001, 0x140a2000, },
 495         { 0x00000001, 0x140c0000, },    { 0x00000001, 0x140e2000, },
 496         { 0x00000001, 0x15100000, },    { 0x00000001, 0x15122000, },
 497         { 0x00000001, 0x15140000, },    { 0x00000001, 0x15162000, },
 498         { 0x00000001, 0x15180000, },    { 0x00000001, 0x151a2000, },
 499         { 0x00000001, 0x151c0000, },    { 0x00000001, 0x151e2000, },
 500         { 0x00000001, 0x16200000, },    { 0x00000001, 0x16222000, },
 501         { 0x00000001, 0x16240000, },    { 0x00000001, 0x16262000, },
 502         { 0x00000001, 0x16280000, },    { 0x00000001, 0x162a2000, },
 503         { 0x00000001, 0x162c0000, },    { 0x00000001, 0x162e2000, },
 504         { 0x00000001, 0x17300000, },    { 0x00000001, 0x17322000, },
 505         { 0x00000001, 0x17340000, },    { 0x00000001, 0x17362000, },
 506         { 0x00000001, 0x17380000, },    { 0x00000001, 0x173a2000, },
 507         { 0x00000001, 0x173c0000, },    { 0x00000001, 0x173e2000, },
 508         { 0x00000001, 0x18000000, },    { 0x00000001, 0x18022000, },
 509         { 0x00000001, 0x18040000, },    { 0x00000001, 0x18062000, },
 510         { 0x00000001, 0x18080000, },    { 0x00000001, 0x180a2000, },
 511         { 0x00000001, 0x180c0000, },    { 0x00000001, 0x180e2000, },
 512         { 0x00000001, 0x19100000, },    { 0x00000001, 0x19122000, },
 513         { 0x00000001, 0x19140000, },    { 0x00000001, 0x19162000, },
 514         { 0x00000001, 0x19180000, },    { 0x00000001, 0x191a2000, },
 515         { 0x00000001, 0x191c0000, },    { 0x00000001, 0x191e2000, },
 516         { 0x00000001, 0x1a200000, },    { 0x00000001, 0x1a222000, },
 517         { 0x00000001, 0x1a240000, },    { 0x00000001, 0x1a262000, },
 518         { 0x00000001, 0x1a280000, },    { 0x00000001, 0x1a2a2000, },
 519         { 0x00000001, 0x1a2c0000, },    { 0x00000001, 0x1a2e2000, },
 520         { 0x00000001, 0x1b300000, },    { 0x00000001, 0x1b322000, },
 521         { 0x00000001, 0x1b340000, },    { 0x00000001, 0x1b362000, },
 522         { 0x00000001, 0x1b380000, },    { 0x00000001, 0x1b3a2000, },
 523         { 0x00000001, 0x1b3c0000, },    { 0x00000001, 0x1b3e2000, },
 524         { 0x00000001, 0x1c000000, },    { 0x00000001, 0x1c022000, },
 525         { 0x00000001, 0x1c040000, },    { 0x00000001, 0x1c062000, },
 526         { 0x00000001, 0x1c080000, },    { 0x00000001, 0x1c0a2000, },
 527         { 0x00000001, 0x1c0c0000, },    { 0x00000001, 0x1c0e2000, },
 528         { 0x00000001, 0x1d100000, },    { 0x00000001, 0x1d122000, },
 529         { 0x00000001, 0x1d140000, },    { 0x00000001, 0x1d162000, },
 530         { 0x00000001, 0x1d180000, },    { 0x00000001, 0x1d1a2000, },
 531         { 0x00000001, 0x1d1c0000, },    { 0x00000001, 0x1d1e2000, },
 532         { 0x00000001, 0x1e200000, },    { 0x00000001, 0x1e222000, },
 533         { 0x00000001, 0x1e240000, },    { 0x00000001, 0x1e262000, },
 534         { 0x00000001, 0x1e280000, },    { 0x00000001, 0x1e2a2000, },
 535         { 0x00000001, 0x1e2c0000, },    { 0x00000001, 0x1e2e2000, },
 536         { 0x00000001, 0x1f300000, },    { 0x00000001, 0x1f322000, },
 537         { 0x00000001, 0x1f340000, },    { 0x00000001, 0x1f362000, },
 538         { 0x00000001, 0x1f380000, },    { 0x00000001, 0x1f3a2000, },
 539         { 0x00000001, 0x1f3c0000, },    { 0x00000001, 0x1f3e2000, }, },
 540 
 541         {{ 0x00000000, 0x00000000, },   { 0x20000000, 0x00000002, },
 542         { 0x00000000, 0x00000004, },    { 0x20000000, 0x00000006, },
 543         { 0x00000000, 0x00000008, },    { 0x20000000, 0x0000000a, },
 544         { 0x00000000, 0x0000000c, },    { 0x20000000, 0x0000000e, },
 545         { 0x00000000, 0x00000110, },    { 0x20000000, 0x00000112, },
 546         { 0x00000000, 0x00000114, },    { 0x20000000, 0x00000116, },
 547         { 0x00000000, 0x00000118, },    { 0x20000000, 0x0000011a, },
 548         { 0x00000000, 0x0000011c, },    { 0x20000000, 0x0000011e, },
 549         { 0x00000000, 0x00000220, },    { 0x20000000, 0x00000222, },
 550         { 0x00000000, 0x00000224, },    { 0x20000000, 0x00000226, },
 551         { 0x00000000, 0x00000228, },    { 0x20000000, 0x0000022a, },
 552         { 0x00000000, 0x0000022c, },    { 0x20000000, 0x0000022e, },
 553         { 0x00000000, 0x00000330, },    { 0x20000000, 0x00000332, },
 554         { 0x00000000, 0x00000334, },    { 0x20000000, 0x00000336, },
 555         { 0x00000000, 0x00000338, },    { 0x20000000, 0x0000033a, },
 556         { 0x00000000, 0x0000033c, },    { 0x20000000, 0x0000033e, },
 557         { 0x00000000, 0x00000400, },    { 0x20000000, 0x00000402, },
 558         { 0x00000000, 0x00000404, },    { 0x20000000, 0x00000406, },
 559         { 0x00000000, 0x00000408, },    { 0x20000000, 0x0000040a, },
 560         { 0x00000000, 0x0000040c, },    { 0x20000000, 0x0000040e, },
 561         { 0x00000000, 0x00000510, },    { 0x20000000, 0x00000512, },
 562         { 0x00000000, 0x00000514, },    { 0x20000000, 0x00000516, },
 563         { 0x00000000, 0x00000518, },    { 0x20000000, 0x0000051a, },
 564         { 0x00000000, 0x0000051c, },    { 0x20000000, 0x0000051e, },
 565         { 0x00000000, 0x00000620, },    { 0x20000000, 0x00000622, },
 566         { 0x00000000, 0x00000624, },    { 0x20000000, 0x00000626, },
 567         { 0x00000000, 0x00000628, },    { 0x20000000, 0x0000062a, },
 568         { 0x00000000, 0x0000062c, },    { 0x20000000, 0x0000062e, },
 569         { 0x00000000, 0x00000730, },    { 0x20000000, 0x00000732, },
 570         { 0x00000000, 0x00000734, },    { 0x20000000, 0x00000736, },
 571         { 0x00000000, 0x00000738, },    { 0x20000000, 0x0000073a, },
 572         { 0x00000000, 0x0000073c, },    { 0x20000000, 0x0000073e, },
 573         { 0x00000000, 0x00000800, },    { 0x20000000, 0x00000802, },
 574         { 0x00000000, 0x00000804, },    { 0x20000000, 0x00000806, },
 575         { 0x00000000, 0x00000808, },    { 0x20000000, 0x0000080a, },
 576         { 0x00000000, 0x0000080c, },    { 0x20000000, 0x0000080e, },
 577         { 0x00000000, 0x00000910, },    { 0x20000000, 0x00000912, },
 578         { 0x00000000, 0x00000914, },    { 0x20000000, 0x00000916, },
 579         { 0x00000000, 0x00000918, },    { 0x20000000, 0x0000091a, },
 580         { 0x00000000, 0x0000091c, },    { 0x20000000, 0x0000091e, },
 581         { 0x00000000, 0x00000a20, },    { 0x20000000, 0x00000a22, },
 582         { 0x00000000, 0x00000a24, },    { 0x20000000, 0x00000a26, },
 583         { 0x00000000, 0x00000a28, },    { 0x20000000, 0x00000a2a, },
 584         { 0x00000000, 0x00000a2c, },    { 0x20000000, 0x00000a2e, },
 585         { 0x00000000, 0x00000b30, },    { 0x20000000, 0x00000b32, },
 586         { 0x00000000, 0x00000b34, },    { 0x20000000, 0x00000b36, },
 587         { 0x00000000, 0x00000b38, },    { 0x20000000, 0x00000b3a, },
 588         { 0x00000000, 0x00000b3c, },    { 0x20000000, 0x00000b3e, },
 589         { 0x00000000, 0x00000c00, },    { 0x20000000, 0x00000c02, },
 590         { 0x00000000, 0x00000c04, },    { 0x20000000, 0x00000c06, },
 591         { 0x00000000, 0x00000c08, },    { 0x20000000, 0x00000c0a, },
 592         { 0x00000000, 0x00000c0c, },    { 0x20000000, 0x00000c0e, },
 593         { 0x00000000, 0x00000d10, },    { 0x20000000, 0x00000d12, },
 594         { 0x00000000, 0x00000d14, },    { 0x20000000, 0x00000d16, },
 595         { 0x00000000, 0x00000d18, },    { 0x20000000, 0x00000d1a, },
 596         { 0x00000000, 0x00000d1c, },    { 0x20000000, 0x00000d1e, },
 597         { 0x00000000, 0x00000e20, },    { 0x20000000, 0x00000e22, },
 598         { 0x00000000, 0x00000e24, },    { 0x20000000, 0x00000e26, },
 599         { 0x00000000, 0x00000e28, },    { 0x20000000, 0x00000e2a, },
 600         { 0x00000000, 0x00000e2c, },    { 0x20000000, 0x00000e2e, },
 601         { 0x00000000, 0x00000f30, },    { 0x20000000, 0x00000f32, },
 602         { 0x00000000, 0x00000f34, },    { 0x20000000, 0x00000f36, },
 603         { 0x00000000, 0x00000f38, },    { 0x20000000, 0x00000f3a, },
 604         { 0x00000000, 0x00000f3c, },    { 0x20000000, 0x00000f3e, },
 605         { 0x00000000, 0x00011000, },    { 0x20000000, 0x00011002, },
 606         { 0x00000000, 0x00011004, },    { 0x20000000, 0x00011006, },
 607         { 0x00000000, 0x00011008, },    { 0x20000000, 0x0001100a, },
 608         { 0x00000000, 0x0001100c, },    { 0x20000000, 0x0001100e, },
 609         { 0x00000000, 0x00011110, },    { 0x20000000, 0x00011112, },
 610         { 0x00000000, 0x00011114, },    { 0x20000000, 0x00011116, },
 611         { 0x00000000, 0x00011118, },    { 0x20000000, 0x0001111a, },
 612         { 0x00000000, 0x0001111c, },    { 0x20000000, 0x0001111e, },
 613         { 0x00000000, 0x00011220, },    { 0x20000000, 0x00011222, },
 614         { 0x00000000, 0x00011224, },    { 0x20000000, 0x00011226, },
 615         { 0x00000000, 0x00011228, },    { 0x20000000, 0x0001122a, },
 616         { 0x00000000, 0x0001122c, },    { 0x20000000, 0x0001122e, },
 617         { 0x00000000, 0x00011330, },    { 0x20000000, 0x00011332, },
 618         { 0x00000000, 0x00011334, },    { 0x20000000, 0x00011336, },
 619         { 0x00000000, 0x00011338, },    { 0x20000000, 0x0001133a, },
 620         { 0x00000000, 0x0001133c, },    { 0x20000000, 0x0001133e, },
 621         { 0x00000000, 0x00011400, },    { 0x20000000, 0x00011402, },
 622         { 0x00000000, 0x00011404, },    { 0x20000000, 0x00011406, },
 623         { 0x00000000, 0x00011408, },    { 0x20000000, 0x0001140a, },
 624         { 0x00000000, 0x0001140c, },    { 0x20000000, 0x0001140e, },
 625         { 0x00000000, 0x00011510, },    { 0x20000000, 0x00011512, },
 626         { 0x00000000, 0x00011514, },    { 0x20000000, 0x00011516, },
 627         { 0x00000000, 0x00011518, },    { 0x20000000, 0x0001151a, },
 628         { 0x00000000, 0x0001151c, },    { 0x20000000, 0x0001151e, },
 629         { 0x00000000, 0x00011620, },    { 0x20000000, 0x00011622, },
 630         { 0x00000000, 0x00011624, },    { 0x20000000, 0x00011626, },
 631         { 0x00000000, 0x00011628, },    { 0x20000000, 0x0001162a, },
 632         { 0x00000000, 0x0001162c, },    { 0x20000000, 0x0001162e, },
 633         { 0x00000000, 0x00011730, },    { 0x20000000, 0x00011732, },
 634         { 0x00000000, 0x00011734, },    { 0x20000000, 0x00011736, },
 635         { 0x00000000, 0x00011738, },    { 0x20000000, 0x0001173a, },
 636         { 0x00000000, 0x0001173c, },    { 0x20000000, 0x0001173e, },
 637         { 0x00000000, 0x00011800, },    { 0x20000000, 0x00011802, },
 638         { 0x00000000, 0x00011804, },    { 0x20000000, 0x00011806, },
 639         { 0x00000000, 0x00011808, },    { 0x20000000, 0x0001180a, },
 640         { 0x00000000, 0x0001180c, },    { 0x20000000, 0x0001180e, },
 641         { 0x00000000, 0x00011910, },    { 0x20000000, 0x00011912, },
 642         { 0x00000000, 0x00011914, },    { 0x20000000, 0x00011916, },
 643         { 0x00000000, 0x00011918, },    { 0x20000000, 0x0001191a, },
 644         { 0x00000000, 0x0001191c, },    { 0x20000000, 0x0001191e, },
 645         { 0x00000000, 0x00011a20, },    { 0x20000000, 0x00011a22, },
 646         { 0x00000000, 0x00011a24, },    { 0x20000000, 0x00011a26, },
 647         { 0x00000000, 0x00011a28, },    { 0x20000000, 0x00011a2a, },
 648         { 0x00000000, 0x00011a2c, },    { 0x20000000, 0x00011a2e, },
 649         { 0x00000000, 0x00011b30, },    { 0x20000000, 0x00011b32, },
 650         { 0x00000000, 0x00011b34, },    { 0x20000000, 0x00011b36, },
 651         { 0x00000000, 0x00011b38, },    { 0x20000000, 0x00011b3a, },
 652         { 0x00000000, 0x00011b3c, },    { 0x20000000, 0x00011b3e, },
 653         { 0x00000000, 0x00011c00, },    { 0x20000000, 0x00011c02, },
 654         { 0x00000000, 0x00011c04, },    { 0x20000000, 0x00011c06, },
 655         { 0x00000000, 0x00011c08, },    { 0x20000000, 0x00011c0a, },
 656         { 0x00000000, 0x00011c0c, },    { 0x20000000, 0x00011c0e, },
 657         { 0x00000000, 0x00011d10, },    { 0x20000000, 0x00011d12, },
 658         { 0x00000000, 0x00011d14, },    { 0x20000000, 0x00011d16, },
 659         { 0x00000000, 0x00011d18, },    { 0x20000000, 0x00011d1a, },
 660         { 0x00000000, 0x00011d1c, },    { 0x20000000, 0x00011d1e, },
 661         { 0x00000000, 0x00011e20, },    { 0x20000000, 0x00011e22, },
 662         { 0x00000000, 0x00011e24, },    { 0x20000000, 0x00011e26, },
 663         { 0x00000000, 0x00011e28, },    { 0x20000000, 0x00011e2a, },
 664         { 0x00000000, 0x00011e2c, },    { 0x20000000, 0x00011e2e, },
 665         { 0x00000000, 0x00011f30, },    { 0x20000000, 0x00011f32, },
 666         { 0x00000000, 0x00011f34, },    { 0x20000000, 0x00011f36, },
 667         { 0x00000000, 0x00011f38, },    { 0x20000000, 0x00011f3a, },
 668         { 0x00000000, 0x00011f3c, },    { 0x20000000, 0x00011f3e, }, }
 669 };
 670 
 671 /*
 672  * The 8 selection functions.
 673  * 8 functions to map 6 bits to 64 bits
 674  */
 675 const   uint32_t  S_tab[8][64] = {
 676         {
 677                 0xe0000000U, 0x00000000U, 0x40000000U, 0xf0000000U,
 678                 0xd0000000U, 0x70000000U, 0x10000000U, 0x40000000U,
 679                 0x20000000U, 0xe0000000U, 0xf0000000U, 0x20000000U,
 680                 0xb0000000U, 0xd0000000U, 0x80000000U, 0x10000000U,
 681                 0x30000000U, 0xa0000000U, 0xa0000000U, 0x60000000U,
 682                 0x60000000U, 0xc0000000U, 0xc0000000U, 0xb0000000U,
 683                 0x50000000U, 0x90000000U, 0x90000000U, 0x50000000U,
 684                 0x00000000U, 0x30000000U, 0x70000000U, 0x80000000U,
 685                 0x40000000U, 0xf0000000U, 0x10000000U, 0xc0000000U,
 686                 0xe0000000U, 0x80000000U, 0x80000000U, 0x20000000U,
 687                 0xd0000000U, 0x40000000U, 0x60000000U, 0x90000000U,
 688                 0x20000000U, 0x10000000U, 0xb0000000U, 0x70000000U,
 689                 0xf0000000U, 0x50000000U, 0xc0000000U, 0xb0000000U,
 690                 0x90000000U, 0x30000000U, 0x70000000U, 0xe0000000U,
 691                 0x30000000U, 0xa0000000U, 0xa0000000U, 0x00000000U,
 692                 0x50000000U, 0x60000000U, 0x00000000U, 0xd0000000U,
 693         },
 694         {
 695                 0x0f000000U, 0x03000000U, 0x01000000U, 0x0d000000U,
 696                 0x08000000U, 0x04000000U, 0x0e000000U, 0x07000000U,
 697                 0x06000000U, 0x0f000000U, 0x0b000000U, 0x02000000U,
 698                 0x03000000U, 0x08000000U, 0x04000000U, 0x0e000000U,
 699                 0x09000000U, 0x0c000000U, 0x07000000U, 0x00000000U,
 700                 0x02000000U, 0x01000000U, 0x0d000000U, 0x0a000000U,
 701                 0x0c000000U, 0x06000000U, 0x00000000U, 0x09000000U,
 702                 0x05000000U, 0x0b000000U, 0x0a000000U, 0x05000000U,
 703                 0x00000000U, 0x0d000000U, 0x0e000000U, 0x08000000U,
 704                 0x07000000U, 0x0a000000U, 0x0b000000U, 0x01000000U,
 705                 0x0a000000U, 0x03000000U, 0x04000000U, 0x0f000000U,
 706                 0x0d000000U, 0x04000000U, 0x01000000U, 0x02000000U,
 707                 0x05000000U, 0x0b000000U, 0x08000000U, 0x06000000U,
 708                 0x0c000000U, 0x07000000U, 0x06000000U, 0x0c000000U,
 709                 0x09000000U, 0x00000000U, 0x03000000U, 0x05000000U,
 710                 0x02000000U, 0x0e000000U, 0x0f000000U, 0x09000000U,
 711         },
 712         {
 713                 0x00a00000U, 0x00d00000U, 0x00000000U, 0x00700000U,
 714                 0x00900000U, 0x00000000U, 0x00e00000U, 0x00900000U,
 715                 0x00600000U, 0x00300000U, 0x00300000U, 0x00400000U,
 716                 0x00f00000U, 0x00600000U, 0x00500000U, 0x00a00000U,
 717                 0x00100000U, 0x00200000U, 0x00d00000U, 0x00800000U,
 718                 0x00c00000U, 0x00500000U, 0x00700000U, 0x00e00000U,
 719                 0x00b00000U, 0x00c00000U, 0x00400000U, 0x00b00000U,
 720                 0x00200000U, 0x00f00000U, 0x00800000U, 0x00100000U,
 721                 0x00d00000U, 0x00100000U, 0x00600000U, 0x00a00000U,
 722                 0x00400000U, 0x00d00000U, 0x00900000U, 0x00000000U,
 723                 0x00800000U, 0x00600000U, 0x00f00000U, 0x00900000U,
 724                 0x00300000U, 0x00800000U, 0x00000000U, 0x00700000U,
 725                 0x00b00000U, 0x00400000U, 0x00100000U, 0x00f00000U,
 726                 0x00200000U, 0x00e00000U, 0x00c00000U, 0x00300000U,
 727                 0x00500000U, 0x00b00000U, 0x00a00000U, 0x00500000U,
 728                 0x00e00000U, 0x00200000U, 0x00700000U, 0x00c00000U,
 729         },
 730         {
 731                 0x00070000U, 0x000d0000U, 0x000d0000, 0x00080000U,
 732                 0x000e0000U, 0x000b0000U, 0x00030000, 0x00050000U,
 733                 0x00000000U, 0x00060000U, 0x00060000, 0x000f0000U,
 734                 0x00090000U, 0x00000000U, 0x000a0000, 0x00030000U,
 735                 0x00010000U, 0x00040000U, 0x00020000, 0x00070000U,
 736                 0x00080000U, 0x00020000U, 0x00050000, 0x000c0000U,
 737                 0x000b0000U, 0x00010000U, 0x000c0000, 0x000a0000U,
 738                 0x00040000U, 0x000e0000U, 0x000f0000, 0x00090000U,
 739                 0x000a0000U, 0x00030000U, 0x00060000, 0x000f0000U,
 740                 0x00090000U, 0x00000000U, 0x00000000, 0x00060000U,
 741                 0x000c0000U, 0x000a0000U, 0x000b0000, 0x00010000U,
 742                 0x00070000U, 0x000d0000U, 0x000d0000, 0x00080000U,
 743                 0x000f0000U, 0x00090000U, 0x00010000, 0x00040000U,
 744                 0x00030000U, 0x00050000U, 0x000e0000, 0x000b0000U,
 745                 0x00050000U, 0x000c0000U, 0x00020000, 0x00070000U,
 746                 0x00080000U, 0x00020000U, 0x00040000, 0x000e0000U,
 747         },
 748         {
 749                 0x00002000U, 0x0000e000U, 0x0000c000U, 0x0000b000U,
 750                 0x00004000U, 0x00002000U, 0x00001000U, 0x0000c000U,
 751                 0x00007000U, 0x00004000U, 0x0000a000U, 0x00007000U,
 752                 0x0000b000U, 0x0000d000U, 0x00006000U, 0x00001000U,
 753                 0x00008000U, 0x00005000U, 0x00005000U, 0x00000000U,
 754                 0x00003000U, 0x0000f000U, 0x0000f000U, 0x0000a000U,
 755                 0x0000d000U, 0x00003000U, 0x00000000U, 0x00009000U,
 756                 0x0000e000U, 0x00008000U, 0x00009000U, 0x00006000U,
 757                 0x00004000U, 0x0000b000U, 0x00002000U, 0x00008000U,
 758                 0x00001000U, 0x0000c000U, 0x0000b000U, 0x00007000U,
 759                 0x0000a000U, 0x00001000U, 0x0000d000U, 0x0000e000U,
 760                 0x00007000U, 0x00002000U, 0x00008000U, 0x0000d000U,
 761                 0x0000f000U, 0x00006000U, 0x00009000U, 0x0000f000U,
 762                 0x0000c000U, 0x00000000U, 0x00005000U, 0x00009000U,
 763                 0x00006000U, 0x0000a000U, 0x00003000U, 0x00004000U,
 764                 0x00000000U, 0x00005000U, 0x0000e000U, 0x00003000U,
 765         },
 766         {
 767                 0x00000c00U, 0x00000a00U, 0x00000100U, 0x00000f00U,
 768                 0x00000a00U, 0x00000400U, 0x00000f00U, 0x00000200U,
 769                 0x00000900U, 0x00000700U, 0x00000200U, 0x00000c00U,
 770                 0x00000600U, 0x00000900U, 0x00000800U, 0x00000500U,
 771                 0x00000000U, 0x00000600U, 0x00000d00U, 0x00000100U,
 772                 0x00000300U, 0x00000d00U, 0x00000400U, 0x00000e00U,
 773                 0x00000e00U, 0x00000000U, 0x00000700U, 0x00000b00U,
 774                 0x00000500U, 0x00000300U, 0x00000b00U, 0x00000800U,
 775                 0x00000900U, 0x00000400U, 0x00000e00U, 0x00000300U,
 776                 0x00000f00U, 0x00000200U, 0x00000500U, 0x00000c00U,
 777                 0x00000200U, 0x00000900U, 0x00000800U, 0x00000500U,
 778                 0x00000c00U, 0x00000f00U, 0x00000300U, 0x00000a00U,
 779                 0x00000700U, 0x00000b00U, 0x00000000U, 0x00000e00U,
 780                 0x00000400U, 0x00000100U, 0x00000a00U, 0x00000700U,
 781                 0x00000100U, 0x00000600U, 0x00000d00U, 0x00000000U,
 782                 0x00000b00U, 0x00000800U, 0x00000600U, 0x00000d00U,
 783         },
 784         {
 785                 0x00000040U, 0x000000d0U, 0x000000b0U, 0x00000000U,
 786                 0x00000020U, 0x000000b0U, 0x000000e0U, 0x00000070U,
 787                 0x000000f0U, 0x00000040U, 0x00000000U, 0x00000090U,
 788                 0x00000080U, 0x00000010U, 0x000000d0U, 0x000000a0U,
 789                 0x00000030U, 0x000000e0U, 0x000000c0U, 0x00000030U,
 790                 0x00000090U, 0x00000050U, 0x00000070U, 0x000000c0U,
 791                 0x00000050U, 0x00000020U, 0x000000a0U, 0x000000f0U,
 792                 0x00000060U, 0x00000080U, 0x00000010U, 0x00000060U,
 793                 0x00000010U, 0x00000060U, 0x00000040U, 0x000000b0U,
 794                 0x000000b0U, 0x000000d0U, 0x000000d0U, 0x00000080U,
 795                 0x000000c0U, 0x00000010U, 0x00000030U, 0x00000040U,
 796                 0x00000070U, 0x000000a0U, 0x000000e0U, 0x00000070U,
 797                 0x000000a0U, 0x00000090U, 0x000000f0U, 0x00000050U,
 798                 0x00000060U, 0x00000000U, 0x00000080U, 0x000000f0U,
 799                 0x00000000U, 0x000000e0U, 0x00000050U, 0x00000020U,
 800                 0x00000090U, 0x00000030U, 0x00000020U, 0x000000c0U,
 801         },
 802         {
 803                 0x0000000dU, 0x00000001U, 0x00000002U, 0x0000000fU,
 804                 0x00000008U, 0x0000000dU, 0x00000004U, 0x00000008U,
 805                 0x00000006U, 0x0000000aU, 0x0000000fU, 0x00000003U,
 806                 0x0000000bU, 0x00000007U, 0x00000001U, 0x00000004U,
 807                 0x0000000aU, 0x0000000cU, 0x00000009U, 0x00000005U,
 808                 0x00000003U, 0x00000006U, 0x0000000eU, 0x0000000bU,
 809                 0x00000005U, 0x00000000U, 0x00000000U, 0x0000000eU,
 810                 0x0000000cU, 0x00000009U, 0x00000007U, 0x00000002U,
 811                 0x00000007U, 0x00000002U, 0x0000000bU, 0x00000001U,
 812                 0x00000004U, 0x0000000eU, 0x00000001U, 0x00000007U,
 813                 0x00000009U, 0x00000004U, 0x0000000cU, 0x0000000aU,
 814                 0x0000000eU, 0x00000008U, 0x00000002U, 0x0000000dU,
 815                 0x00000000U, 0x0000000fU, 0x00000006U, 0x0000000cU,
 816                 0x0000000aU, 0x00000009U, 0x0000000dU, 0x00000000U,
 817                 0x0000000fU, 0x00000003U, 0x00000003U, 0x00000005U,
 818                 0x00000005U, 0x00000006U, 0x00000008U, 0x0000000bU,
 819         },
 820 };
 821 
 822 /*
 823  * Permute 32 bit output of S boxes
 824  */
 825 const   uint32_t        P_tab[4][256] = {
 826         0x00000000U, 0x00004000U, 0x40000000U, 0x40004000U,
 827         0x00000010U, 0x00004010U, 0x40000010U, 0x40004010U,
 828         0x00080000U, 0x00084000U, 0x40080000U, 0x40084000U,
 829         0x00080010U, 0x00084010U, 0x40080010U, 0x40084010U,
 830         0x00000002U, 0x00004002U, 0x40000002U, 0x40004002U,
 831         0x00000012U, 0x00004012U, 0x40000012U, 0x40004012U,
 832         0x00080002U, 0x00084002U, 0x40080002U, 0x40084002U,
 833         0x00080012U, 0x00084012U, 0x40080012U, 0x40084012U,
 834         0x00000200U, 0x00004200U, 0x40000200U, 0x40004200U,
 835         0x00000210U, 0x00004210U, 0x40000210U, 0x40004210U,
 836         0x00080200U, 0x00084200U, 0x40080200U, 0x40084200U,
 837         0x00080210U, 0x00084210U, 0x40080210U, 0x40084210U,
 838         0x00000202U, 0x00004202U, 0x40000202U, 0x40004202U,
 839         0x00000212U, 0x00004212U, 0x40000212U, 0x40004212U,
 840         0x00080202U, 0x00084202U, 0x40080202U, 0x40084202U,
 841         0x00080212U, 0x00084212U, 0x40080212U, 0x40084212U,
 842         0x00008000U, 0x0000c000U, 0x40008000U, 0x4000c000U,
 843         0x00008010U, 0x0000c010U, 0x40008010U, 0x4000c010U,
 844         0x00088000U, 0x0008c000U, 0x40088000U, 0x4008c000U,
 845         0x00088010U, 0x0008c010U, 0x40088010U, 0x4008c010U,
 846         0x00008002U, 0x0000c002U, 0x40008002U, 0x4000c002U,
 847         0x00008012U, 0x0000c012U, 0x40008012U, 0x4000c012U,
 848         0x00088002U, 0x0008c002U, 0x40088002U, 0x4008c002U,
 849         0x00088012U, 0x0008c012U, 0x40088012U, 0x4008c012U,
 850         0x00008200U, 0x0000c200U, 0x40008200U, 0x4000c200U,
 851         0x00008210U, 0x0000c210U, 0x40008210U, 0x4000c210U,
 852         0x00088200U, 0x0008c200U, 0x40088200U, 0x4008c200U,
 853         0x00088210U, 0x0008c210U, 0x40088210U, 0x4008c210U,
 854         0x00008202U, 0x0000c202U, 0x40008202U, 0x4000c202U,
 855         0x00008212U, 0x0000c212U, 0x40008212U, 0x4000c212U,
 856         0x00088202U, 0x0008c202U, 0x40088202U, 0x4008c202U,
 857         0x00088212U, 0x0008c212U, 0x40088212U, 0x4008c212U,
 858         0x00800000U, 0x00804000U, 0x40800000U, 0x40804000U,
 859         0x00800010U, 0x00804010U, 0x40800010U, 0x40804010U,
 860         0x00880000U, 0x00884000U, 0x40880000U, 0x40884000U,
 861         0x00880010U, 0x00884010U, 0x40880010U, 0x40884010U,
 862         0x00800002U, 0x00804002U, 0x40800002U, 0x40804002U,
 863         0x00800012U, 0x00804012U, 0x40800012U, 0x40804012U,
 864         0x00880002U, 0x00884002U, 0x40880002U, 0x40884002U,
 865         0x00880012U, 0x00884012U, 0x40880012U, 0x40884012U,
 866         0x00800200U, 0x00804200U, 0x40800200U, 0x40804200U,
 867         0x00800210U, 0x00804210U, 0x40800210U, 0x40804210U,
 868         0x00880200U, 0x00884200U, 0x40880200U, 0x40884200U,
 869         0x00880210U, 0x00884210U, 0x40880210U, 0x40884210U,
 870         0x00800202U, 0x00804202U, 0x40800202U, 0x40804202U,
 871         0x00800212U, 0x00804212U, 0x40800212U, 0x40804212U,
 872         0x00880202U, 0x00884202U, 0x40880202U, 0x40884202U,
 873         0x00880212U, 0x00884212U, 0x40880212U, 0x40884212U,
 874         0x00808000U, 0x0080c000U, 0x40808000U, 0x4080c000U,
 875         0x00808010U, 0x0080c010U, 0x40808010U, 0x4080c010U,
 876         0x00888000U, 0x0088c000U, 0x40888000U, 0x4088c000U,
 877         0x00888010U, 0x0088c010U, 0x40888010U, 0x4088c010U,
 878         0x00808002U, 0x0080c002U, 0x40808002U, 0x4080c002U,
 879         0x00808012U, 0x0080c012U, 0x40808012U, 0x4080c012U,
 880         0x00888002U, 0x0088c002U, 0x40888002U, 0x4088c002U,
 881         0x00888012U, 0x0088c012U, 0x40888012U, 0x4088c012U,
 882         0x00808200U, 0x0080c200U, 0x40808200U, 0x4080c200U,
 883         0x00808210U, 0x0080c210U, 0x40808210U, 0x4080c210U,
 884         0x00888200U, 0x0088c200U, 0x40888200U, 0x4088c200U,
 885         0x00888210U, 0x0088c210U, 0x40888210U, 0x4088c210U,
 886         0x00808202U, 0x0080c202U, 0x40808202U, 0x4080c202U,
 887         0x00808212U, 0x0080c212U, 0x40808212U, 0x4080c212U,
 888         0x00888202U, 0x0088c202U, 0x40888202U, 0x4088c202U,
 889         0x00888212U, 0x0088c212U, 0x40888212U, 0x4088c212U,
 890         0x00000000U, 0x80000000U, 0x00400000U, 0x80400000U,
 891         0x00001000U, 0x80001000U, 0x00401000U, 0x80401000U,
 892         0x00000040U, 0x80000040U, 0x00400040U, 0x80400040U,
 893         0x00001040U, 0x80001040U, 0x00401040U, 0x80401040U,
 894         0x04000000U, 0x84000000U, 0x04400000U, 0x84400000U,
 895         0x04001000U, 0x84001000U, 0x04401000U, 0x84401000U,
 896         0x04000040U, 0x84000040U, 0x04400040U, 0x84400040U,
 897         0x04001040U, 0x84001040U, 0x04401040U, 0x84401040U,
 898         0x00000004U, 0x80000004U, 0x00400004U, 0x80400004U,
 899         0x00001004U, 0x80001004U, 0x00401004U, 0x80401004U,
 900         0x00000044U, 0x80000044U, 0x00400044U, 0x80400044U,
 901         0x00001044U, 0x80001044U, 0x00401044U, 0x80401044U,
 902         0x04000004U, 0x84000004U, 0x04400004U, 0x84400004U,
 903         0x04001004U, 0x84001004U, 0x04401004U, 0x84401004U,
 904         0x04000044U, 0x84000044U, 0x04400044U, 0x84400044U,
 905         0x04001044U, 0x84001044U, 0x04401044U, 0x84401044U,
 906         0x00010000U, 0x80010000U, 0x00410000U, 0x80410000U,
 907         0x00011000U, 0x80011000U, 0x00411000U, 0x80411000U,
 908         0x00010040U, 0x80010040U, 0x00410040U, 0x80410040U,
 909         0x00011040U, 0x80011040U, 0x00411040U, 0x80411040U,
 910         0x04010000U, 0x84010000U, 0x04410000U, 0x84410000U,
 911         0x04011000U, 0x84011000U, 0x04411000U, 0x84411000U,
 912         0x04010040U, 0x84010040U, 0x04410040U, 0x84410040U,
 913         0x04011040U, 0x84011040U, 0x04411040U, 0x84411040U,
 914         0x00010004U, 0x80010004U, 0x00410004U, 0x80410004U,
 915         0x00011004U, 0x80011004U, 0x00411004U, 0x80411004U,
 916         0x00010044U, 0x80010044U, 0x00410044U, 0x80410044U,
 917         0x00011044U, 0x80011044U, 0x00411044U, 0x80411044U,
 918         0x04010004U, 0x84010004U, 0x04410004U, 0x84410004U,
 919         0x04011004U, 0x84011004U, 0x04411004U, 0x84411004U,
 920         0x04010044U, 0x84010044U, 0x04410044U, 0x84410044U,
 921         0x04011044U, 0x84011044U, 0x04411044U, 0x84411044U,
 922         0x00000100U, 0x80000100U, 0x00400100U, 0x80400100U,
 923         0x00001100U, 0x80001100U, 0x00401100U, 0x80401100U,
 924         0x00000140U, 0x80000140U, 0x00400140U, 0x80400140U,
 925         0x00001140U, 0x80001140U, 0x00401140U, 0x80401140U,
 926         0x04000100U, 0x84000100U, 0x04400100U, 0x84400100U,
 927         0x04001100U, 0x84001100U, 0x04401100U, 0x84401100U,
 928         0x04000140U, 0x84000140U, 0x04400140U, 0x84400140U,
 929         0x04001140U, 0x84001140U, 0x04401140U, 0x84401140U,
 930         0x00000104U, 0x80000104U, 0x00400104U, 0x80400104U,
 931         0x00001104U, 0x80001104U, 0x00401104U, 0x80401104U,
 932         0x00000144U, 0x80000144U, 0x00400144U, 0x80400144U,
 933         0x00001144U, 0x80001144U, 0x00401144U, 0x80401144U,
 934         0x04000104U, 0x84000104U, 0x04400104U, 0x84400104U,
 935         0x04001104U, 0x84001104U, 0x04401104U, 0x84401104U,
 936         0x04000144U, 0x84000144U, 0x04400144U, 0x84400144U,
 937         0x04001144U, 0x84001144U, 0x04401144U, 0x84401144U,
 938         0x00010100U, 0x80010100U, 0x00410100U, 0x80410100U,
 939         0x00011100U, 0x80011100U, 0x00411100U, 0x80411100U,
 940         0x00010140U, 0x80010140U, 0x00410140U, 0x80410140U,
 941         0x00011140U, 0x80011140U, 0x00411140U, 0x80411140U,
 942         0x04010100U, 0x84010100U, 0x04410100U, 0x84410100U,
 943         0x04011100U, 0x84011100U, 0x04411100U, 0x84411100U,
 944         0x04010140U, 0x84010140U, 0x04410140U, 0x84410140U,
 945         0x04011140U, 0x84011140U, 0x04411140U, 0x84411140U,
 946         0x00010104U, 0x80010104U, 0x00410104U, 0x80410104U,
 947         0x00011104U, 0x80011104U, 0x00411104U, 0x80411104U,
 948         0x00010144U, 0x80010144U, 0x00410144U, 0x80410144U,
 949         0x00011144U, 0x80011144U, 0x00411144U, 0x80411144U,
 950         0x04010104U, 0x84010104U, 0x04410104U, 0x84410104U,
 951         0x04011104U, 0x84011104U, 0x04411104U, 0x84411104U,
 952         0x04010144U, 0x84010144U, 0x04410144U, 0x84410144U,
 953         0x04011144U, 0x84011144U, 0x04411144U, 0x84411144U,
 954         0x00000000U, 0x00002000U, 0x00200000U, 0x00202000U,
 955         0x00000008U, 0x00002008U, 0x00200008U, 0x00202008U,
 956         0x10000000U, 0x10002000U, 0x10200000U, 0x10202000U,
 957         0x10000008U, 0x10002008U, 0x10200008U, 0x10202008U,
 958         0x20000000U, 0x20002000U, 0x20200000U, 0x20202000U,
 959         0x20000008U, 0x20002008U, 0x20200008U, 0x20202008U,
 960         0x30000000U, 0x30002000U, 0x30200000U, 0x30202000U,
 961         0x30000008U, 0x30002008U, 0x30200008U, 0x30202008U,
 962         0x00000080U, 0x00002080U, 0x00200080U, 0x00202080U,
 963         0x00000088U, 0x00002088U, 0x00200088U, 0x00202088U,
 964         0x10000080U, 0x10002080U, 0x10200080U, 0x10202080U,
 965         0x10000088U, 0x10002088U, 0x10200088U, 0x10202088U,
 966         0x20000080U, 0x20002080U, 0x20200080U, 0x20202080U,
 967         0x20000088U, 0x20002088U, 0x20200088U, 0x20202088U,
 968         0x30000080U, 0x30002080U, 0x30200080U, 0x30202080U,
 969         0x30000088U, 0x30002088U, 0x30200088U, 0x30202088U,
 970         0x00040000U, 0x00042000U, 0x00240000U, 0x00242000U,
 971         0x00040008U, 0x00042008U, 0x00240008U, 0x00242008U,
 972         0x10040000U, 0x10042000U, 0x10240000U, 0x10242000U,
 973         0x10040008U, 0x10042008U, 0x10240008U, 0x10242008U,
 974         0x20040000U, 0x20042000U, 0x20240000U, 0x20242000U,
 975         0x20040008U, 0x20042008U, 0x20240008U, 0x20242008U,
 976         0x30040000U, 0x30042000U, 0x30240000U, 0x30242000U,
 977         0x30040008U, 0x30042008U, 0x30240008U, 0x30242008U,
 978         0x00040080U, 0x00042080U, 0x00240080U, 0x00242080U,
 979         0x00040088U, 0x00042088U, 0x00240088U, 0x00242088U,
 980         0x10040080U, 0x10042080U, 0x10240080U, 0x10242080U,
 981         0x10040088U, 0x10042088U, 0x10240088U, 0x10242088U,
 982         0x20040080U, 0x20042080U, 0x20240080U, 0x20242080U,
 983         0x20040088U, 0x20042088U, 0x20240088U, 0x20242088U,
 984         0x30040080U, 0x30042080U, 0x30240080U, 0x30242080U,
 985         0x30040088U, 0x30042088U, 0x30240088U, 0x30242088U,
 986         0x01000000U, 0x01002000U, 0x01200000U, 0x01202000U,
 987         0x01000008U, 0x01002008U, 0x01200008U, 0x01202008U,
 988         0x11000000U, 0x11002000U, 0x11200000U, 0x11202000U,
 989         0x11000008U, 0x11002008U, 0x11200008U, 0x11202008U,
 990         0x21000000U, 0x21002000U, 0x21200000U, 0x21202000U,
 991         0x21000008U, 0x21002008U, 0x21200008U, 0x21202008U,
 992         0x31000000U, 0x31002000U, 0x31200000U, 0x31202000U,
 993         0x31000008U, 0x31002008U, 0x31200008U, 0x31202008U,
 994         0x01000080U, 0x01002080U, 0x01200080U, 0x01202080U,
 995         0x01000088U, 0x01002088U, 0x01200088U, 0x01202088U,
 996         0x11000080U, 0x11002080U, 0x11200080U, 0x11202080U,
 997         0x11000088U, 0x11002088U, 0x11200088U, 0x11202088U,
 998         0x21000080U, 0x21002080U, 0x21200080U, 0x21202080U,
 999         0x21000088U, 0x21002088U, 0x21200088U, 0x21202088U,
1000         0x31000080U, 0x31002080U, 0x31200080U, 0x31202080U,
1001         0x31000088U, 0x31002088U, 0x31200088U, 0x31202088U,
1002         0x01040000U, 0x01042000U, 0x01240000U, 0x01242000U,
1003         0x01040008U, 0x01042008U, 0x01240008U, 0x01242008U,
1004         0x11040000U, 0x11042000U, 0x11240000U, 0x11242000U,
1005         0x11040008U, 0x11042008U, 0x11240008U, 0x11242008U,
1006         0x21040000U, 0x21042000U, 0x21240000U, 0x21242000U,
1007         0x21040008U, 0x21042008U, 0x21240008U, 0x21242008U,
1008         0x31040000U, 0x31042000U, 0x31240000U, 0x31242000U,
1009         0x31040008U, 0x31042008U, 0x31240008U, 0x31242008U,
1010         0x01040080U, 0x01042080U, 0x01240080U, 0x01242080U,
1011         0x01040088U, 0x01042088U, 0x01240088U, 0x01242088U,
1012         0x11040080U, 0x11042080U, 0x11240080U, 0x11242080U,
1013         0x11040088U, 0x11042088U, 0x11240088U, 0x11242088U,
1014         0x21040080U, 0x21042080U, 0x21240080U, 0x21242080U,
1015         0x21040088U, 0x21042088U, 0x21240088U, 0x21242088U,
1016         0x31040080U, 0x31042080U, 0x31240080U, 0x31242080U,
1017         0x31040088U, 0x31042088U, 0x31240088U, 0x31242088U,
1018         0x00000000U, 0x00000800U, 0x00020000U, 0x00020800U,
1019         0x00000020U, 0x00000820U, 0x00020020U, 0x00020820U,
1020         0x08000000U, 0x08000800U, 0x08020000U, 0x08020800U,
1021         0x08000020U, 0x08000820U, 0x08020020U, 0x08020820U,
1022         0x02000000U, 0x02000800U, 0x02020000U, 0x02020800U,
1023         0x02000020U, 0x02000820U, 0x02020020U, 0x02020820U,
1024         0x0a000000U, 0x0a000800U, 0x0a020000U, 0x0a020800U,
1025         0x0a000020U, 0x0a000820U, 0x0a020020U, 0x0a020820U,
1026         0x00000400U, 0x00000c00U, 0x00020400U, 0x00020c00U,
1027         0x00000420U, 0x00000c20U, 0x00020420U, 0x00020c20U,
1028         0x08000400U, 0x08000c00U, 0x08020400U, 0x08020c00U,
1029         0x08000420U, 0x08000c20U, 0x08020420U, 0x08020c20U,
1030         0x02000400U, 0x02000c00U, 0x02020400U, 0x02020c00U,
1031         0x02000420U, 0x02000c20U, 0x02020420U, 0x02020c20U,
1032         0x0a000400U, 0x0a000c00U, 0x0a020400U, 0x0a020c00U,
1033         0x0a000420U, 0x0a000c20U, 0x0a020420U, 0x0a020c20U,
1034         0x00100000U, 0x00100800U, 0x00120000U, 0x00120800U,
1035         0x00100020U, 0x00100820U, 0x00120020U, 0x00120820U,
1036         0x08100000U, 0x08100800U, 0x08120000U, 0x08120800U,
1037         0x08100020U, 0x08100820U, 0x08120020U, 0x08120820U,
1038         0x02100000U, 0x02100800U, 0x02120000U, 0x02120800U,
1039         0x02100020U, 0x02100820U, 0x02120020U, 0x02120820U,
1040         0x0a100000U, 0x0a100800U, 0x0a120000U, 0x0a120800U,
1041         0x0a100020U, 0x0a100820U, 0x0a120020U, 0x0a120820U,
1042         0x00100400U, 0x00100c00U, 0x00120400U, 0x00120c00U,
1043         0x00100420U, 0x00100c20U, 0x00120420U, 0x00120c20U,
1044         0x08100400U, 0x08100c00U, 0x08120400U, 0x08120c00U,
1045         0x08100420U, 0x08100c20U, 0x08120420U, 0x08120c20U,
1046         0x02100400U, 0x02100c00U, 0x02120400U, 0x02120c00U,
1047         0x02100420U, 0x02100c20U, 0x02120420U, 0x02120c20U,
1048         0x0a100400U, 0x0a100c00U, 0x0a120400U, 0x0a120c00U,
1049         0x0a100420U, 0x0a100c20U, 0x0a120420U, 0x0a120c20U,
1050         0x00000001U, 0x00000801U, 0x00020001U, 0x00020801U,
1051         0x00000021U, 0x00000821U, 0x00020021U, 0x00020821U,
1052         0x08000001U, 0x08000801U, 0x08020001U, 0x08020801U,
1053         0x08000021U, 0x08000821U, 0x08020021U, 0x08020821U,
1054         0x02000001U, 0x02000801U, 0x02020001U, 0x02020801U,
1055         0x02000021U, 0x02000821U, 0x02020021U, 0x02020821U,
1056         0x0a000001U, 0x0a000801U, 0x0a020001U, 0x0a020801U,
1057         0x0a000021U, 0x0a000821U, 0x0a020021U, 0x0a020821U,
1058         0x00000401U, 0x00000c01U, 0x00020401U, 0x00020c01U,
1059         0x00000421U, 0x00000c21U, 0x00020421U, 0x00020c21U,
1060         0x08000401U, 0x08000c01U, 0x08020401U, 0x08020c01U,
1061         0x08000421U, 0x08000c21U, 0x08020421U, 0x08020c21U,
1062         0x02000401U, 0x02000c01U, 0x02020401U, 0x02020c01U,
1063         0x02000421U, 0x02000c21U, 0x02020421U, 0x02020c21U,
1064         0x0a000401U, 0x0a000c01U, 0x0a020401U, 0x0a020c01U,
1065         0x0a000421U, 0x0a000c21U, 0x0a020421U, 0x0a020c21U,
1066         0x00100001U, 0x00100801U, 0x00120001U, 0x00120801U,
1067         0x00100021U, 0x00100821U, 0x00120021U, 0x00120821U,
1068         0x08100001U, 0x08100801U, 0x08120001U, 0x08120801U,
1069         0x08100021U, 0x08100821U, 0x08120021U, 0x08120821U,
1070         0x02100001U, 0x02100801U, 0x02120001U, 0x02120801U,
1071         0x02100021U, 0x02100821U, 0x02120021U, 0x02120821U,
1072         0x0a100001U, 0x0a100801U, 0x0a120001U, 0x0a120801U,
1073         0x0a100021U, 0x0a100821U, 0x0a120021U, 0x0a120821U,
1074         0x00100401U, 0x00100c01U, 0x00120401U, 0x00120c01U,
1075         0x00100421U, 0x00100c21U, 0x00120421U, 0x00120c21U,
1076         0x08100401U, 0x08100c01U, 0x08120401U, 0x08120c01U,
1077         0x08100421U, 0x08100c21U, 0x08120421U, 0x08120c21U,
1078         0x02100401U, 0x02100c01U, 0x02120401U, 0x02120c01U,
1079         0x02100421U, 0x02100c21U, 0x02120421U, 0x02120c21U,
1080         0x0a100401U, 0x0a100c01U, 0x0a120401U, 0x0a120c01U,
1081         0x0a100421U, 0x0a100c21U, 0x0a120421U, 0x0a120c21U,
1082 };
1083 
1084 #ifdef  __cplusplus
1085 }
1086 #endif
1087 
1088 #endif /* _SYS_DESDATA_H */