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