| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | /** | 
| 2 |  |  |  |  |  |  | *      @file    des3.c | 
| 3 |  |  |  |  |  |  | *      @version 950bba4 (HEAD -> master) | 
| 4 |  |  |  |  |  |  | * | 
| 5 |  |  |  |  |  |  | *      3DES (and single DES) block cipher implementation for low memory usage. | 
| 6 |  |  |  |  |  |  | */ | 
| 7 |  |  |  |  |  |  | /* | 
| 8 |  |  |  |  |  |  | *      Copyright (c) 2013-2017 INSIDE Secure Corporation | 
| 9 |  |  |  |  |  |  | *      Copyright (c) PeerSec Networks, 2002-2011 | 
| 10 |  |  |  |  |  |  | *      All Rights Reserved | 
| 11 |  |  |  |  |  |  | * | 
| 12 |  |  |  |  |  |  | *      The latest version of this code is available at http://www.matrixssl.org | 
| 13 |  |  |  |  |  |  | * | 
| 14 |  |  |  |  |  |  | *      This software is open source; you can redistribute it and/or modify | 
| 15 |  |  |  |  |  |  | *      it under the terms of the GNU General Public License as published by | 
| 16 |  |  |  |  |  |  | *      the Free Software Foundation; either version 2 of the License, or | 
| 17 |  |  |  |  |  |  | *      (at your option) any later version. | 
| 18 |  |  |  |  |  |  | * | 
| 19 |  |  |  |  |  |  | *      This General Public License does NOT permit incorporating this software | 
| 20 |  |  |  |  |  |  | *      into proprietary programs.  If you are unable to comply with the GPL, a | 
| 21 |  |  |  |  |  |  | *      commercial license for this software may be purchased from INSIDE at | 
| 22 |  |  |  |  |  |  | *      http://www.insidesecure.com/ | 
| 23 |  |  |  |  |  |  | * | 
| 24 |  |  |  |  |  |  | *      This program is distributed in WITHOUT ANY WARRANTY; without even the | 
| 25 |  |  |  |  |  |  | *      implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
| 26 |  |  |  |  |  |  | *      See the GNU General Public License for more details. | 
| 27 |  |  |  |  |  |  | * | 
| 28 |  |  |  |  |  |  | *      You should have received a copy of the GNU General Public License | 
| 29 |  |  |  |  |  |  | *      along with this program; if not, write to the Free Software | 
| 30 |  |  |  |  |  |  | *      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
| 31 |  |  |  |  |  |  | *      http://www.gnu.org/copyleft/gpl.html | 
| 32 |  |  |  |  |  |  | */ | 
| 33 |  |  |  |  |  |  | /******************************************************************************/ | 
| 34 |  |  |  |  |  |  |  | 
| 35 |  |  |  |  |  |  | #include "../cryptoImpl.h" | 
| 36 |  |  |  |  |  |  |  | 
| 37 |  |  |  |  |  |  | #ifdef USE_MATRIX_3DES | 
| 38 |  |  |  |  |  |  |  | 
| 39 |  |  |  |  |  |  | /******************************************************************************/ | 
| 40 |  |  |  |  |  |  |  | 
| 41 |  |  |  |  |  |  | static int32_t psDes3InitKey(const unsigned char *key, | 
| 42 |  |  |  |  |  |  | psDes3Key_t *skey); | 
| 43 |  |  |  |  |  |  | static void psDes3EncryptBlock(const unsigned char *pt, unsigned char *ct, | 
| 44 |  |  |  |  |  |  | psDes3Key_t *skey); | 
| 45 |  |  |  |  |  |  | static void psDes3DecryptBlock(const unsigned char *ct, unsigned char *pt, | 
| 46 |  |  |  |  |  |  | psDes3Key_t *skey); | 
| 47 |  |  |  |  |  |  |  | 
| 48 |  |  |  |  |  |  | # define byte(x, n) (((x) >> (8 * (n))) & 255) | 
| 49 |  |  |  |  |  |  |  | 
| 50 |  |  |  |  |  |  | # define EN0 0 | 
| 51 |  |  |  |  |  |  | # define DE1 1 | 
| 52 |  |  |  |  |  |  |  | 
| 53 |  |  |  |  |  |  | static const uint32 bytebit[8] = | 
| 54 |  |  |  |  |  |  | { | 
| 55 |  |  |  |  |  |  | 0200, 0100, 040, 020, 010, 04, 02, 01 | 
| 56 |  |  |  |  |  |  | }; | 
| 57 |  |  |  |  |  |  |  | 
| 58 |  |  |  |  |  |  | static const uint32_t bigbyte[24] = | 
| 59 |  |  |  |  |  |  | { | 
| 60 |  |  |  |  |  |  | 0x800000UL, 0x400000UL, 0x200000UL, 0x100000UL, | 
| 61 |  |  |  |  |  |  | 0x80000UL,  0x40000UL,  0x20000UL,  0x10000UL, | 
| 62 |  |  |  |  |  |  | 0x8000UL,   0x4000UL,   0x2000UL,   0x1000UL, | 
| 63 |  |  |  |  |  |  | 0x800UL,    0x400UL,    0x200UL,    0x100UL, | 
| 64 |  |  |  |  |  |  | 0x80UL,     0x40UL,     0x20UL,     0x10UL, | 
| 65 |  |  |  |  |  |  | 0x8UL,      0x4UL,      0x2UL,      0x1L | 
| 66 |  |  |  |  |  |  | }; | 
| 67 |  |  |  |  |  |  |  | 
| 68 |  |  |  |  |  |  | static const unsigned char pc1[56] = { | 
| 69 |  |  |  |  |  |  | 56, 48, 40,  32,  24,  16, 8,  0,  57,  49,  41,   33,  25,  17, | 
| 70 |  |  |  |  |  |  | 9,  1,  58,  50,  42,  34, 26, 18, 10,  2,   59,   51,  43,  35, | 
| 71 |  |  |  |  |  |  | 62, 54, 46,  38,  30,  22, 14, 6,  61,  53,  45,   37,  29,  21, | 
| 72 |  |  |  |  |  |  | 13, 5,  60,  52,  44,  36, 28, 20, 12,  4,   27,   19,  11,  3 | 
| 73 |  |  |  |  |  |  | }; | 
| 74 |  |  |  |  |  |  |  | 
| 75 |  |  |  |  |  |  | static const unsigned char pc2[48] = { | 
| 76 |  |  |  |  |  |  | 13, 16, 10, 23, 0,   4,   2,    27,   14,    5,        20,   9, | 
| 77 |  |  |  |  |  |  | 22, 18, 11, 3,  25,  7,   15,   6,    26,    19,       12,   1, | 
| 78 |  |  |  |  |  |  | 40, 51, 30, 36, 46,  54,  29,   39,   50,    44,       32,   47, | 
| 79 |  |  |  |  |  |  | 43, 48, 38, 55, 33,  52,  45,   41,   49,    35,       28,   31 | 
| 80 |  |  |  |  |  |  | }; | 
| 81 |  |  |  |  |  |  |  | 
| 82 |  |  |  |  |  |  | static const unsigned char totrot[16] = { | 
| 83 |  |  |  |  |  |  | 1,  2,   4,   6, | 
| 84 |  |  |  |  |  |  | 8,  10,  12,  14, | 
| 85 |  |  |  |  |  |  | 15, 17,  19,  21, | 
| 86 |  |  |  |  |  |  | 23, 25,  27,  28 | 
| 87 |  |  |  |  |  |  | }; | 
| 88 |  |  |  |  |  |  |  | 
| 89 |  |  |  |  |  |  | static const uint32_t SP1[] = | 
| 90 |  |  |  |  |  |  | { | 
| 91 |  |  |  |  |  |  | 0x01010400UL, 0x00000000UL, 0x00010000UL, 0x01010404UL, | 
| 92 |  |  |  |  |  |  | 0x01010004UL, 0x00010404UL, 0x00000004UL, 0x00010000UL, | 
| 93 |  |  |  |  |  |  | 0x00000400UL, 0x01010400UL, 0x01010404UL, 0x00000400UL, | 
| 94 |  |  |  |  |  |  | 0x01000404UL, 0x01010004UL, 0x01000000UL, 0x00000004UL, | 
| 95 |  |  |  |  |  |  | 0x00000404UL, 0x01000400UL, 0x01000400UL, 0x00010400UL, | 
| 96 |  |  |  |  |  |  | 0x00010400UL, 0x01010000UL, 0x01010000UL, 0x01000404UL, | 
| 97 |  |  |  |  |  |  | 0x00010004UL, 0x01000004UL, 0x01000004UL, 0x00010004UL, | 
| 98 |  |  |  |  |  |  | 0x00000000UL, 0x00000404UL, 0x00010404UL, 0x01000000UL, | 
| 99 |  |  |  |  |  |  | 0x00010000UL, 0x01010404UL, 0x00000004UL, 0x01010000UL, | 
| 100 |  |  |  |  |  |  | 0x01010400UL, 0x01000000UL, 0x01000000UL, 0x00000400UL, | 
| 101 |  |  |  |  |  |  | 0x01010004UL, 0x00010000UL, 0x00010400UL, 0x01000004UL, | 
| 102 |  |  |  |  |  |  | 0x00000400UL, 0x00000004UL, 0x01000404UL, 0x00010404UL, | 
| 103 |  |  |  |  |  |  | 0x01010404UL, 0x00010004UL, 0x01010000UL, 0x01000404UL, | 
| 104 |  |  |  |  |  |  | 0x01000004UL, 0x00000404UL, 0x00010404UL, 0x01010400UL, | 
| 105 |  |  |  |  |  |  | 0x00000404UL, 0x01000400UL, 0x01000400UL, 0x00000000UL, | 
| 106 |  |  |  |  |  |  | 0x00010004UL, 0x00010400UL, 0x00000000UL, 0x01010004UL | 
| 107 |  |  |  |  |  |  | }; | 
| 108 |  |  |  |  |  |  |  | 
| 109 |  |  |  |  |  |  | static const uint32_t SP2[] = | 
| 110 |  |  |  |  |  |  | { | 
| 111 |  |  |  |  |  |  | 0x80108020UL, 0x80008000UL, 0x00008000UL, 0x00108020UL, | 
| 112 |  |  |  |  |  |  | 0x00100000UL, 0x00000020UL, 0x80100020UL, 0x80008020UL, | 
| 113 |  |  |  |  |  |  | 0x80000020UL, 0x80108020UL, 0x80108000UL, 0x80000000UL, | 
| 114 |  |  |  |  |  |  | 0x80008000UL, 0x00100000UL, 0x00000020UL, 0x80100020UL, | 
| 115 |  |  |  |  |  |  | 0x00108000UL, 0x00100020UL, 0x80008020UL, 0x00000000UL, | 
| 116 |  |  |  |  |  |  | 0x80000000UL, 0x00008000UL, 0x00108020UL, 0x80100000UL, | 
| 117 |  |  |  |  |  |  | 0x00100020UL, 0x80000020UL, 0x00000000UL, 0x00108000UL, | 
| 118 |  |  |  |  |  |  | 0x00008020UL, 0x80108000UL, 0x80100000UL, 0x00008020UL, | 
| 119 |  |  |  |  |  |  | 0x00000000UL, 0x00108020UL, 0x80100020UL, 0x00100000UL, | 
| 120 |  |  |  |  |  |  | 0x80008020UL, 0x80100000UL, 0x80108000UL, 0x00008000UL, | 
| 121 |  |  |  |  |  |  | 0x80100000UL, 0x80008000UL, 0x00000020UL, 0x80108020UL, | 
| 122 |  |  |  |  |  |  | 0x00108020UL, 0x00000020UL, 0x00008000UL, 0x80000000UL, | 
| 123 |  |  |  |  |  |  | 0x00008020UL, 0x80108000UL, 0x00100000UL, 0x80000020UL, | 
| 124 |  |  |  |  |  |  | 0x00100020UL, 0x80008020UL, 0x80000020UL, 0x00100020UL, | 
| 125 |  |  |  |  |  |  | 0x00108000UL, 0x00000000UL, 0x80008000UL, 0x00008020UL, | 
| 126 |  |  |  |  |  |  | 0x80000000UL, 0x80100020UL, 0x80108020UL, 0x00108000UL | 
| 127 |  |  |  |  |  |  | }; | 
| 128 |  |  |  |  |  |  |  | 
| 129 |  |  |  |  |  |  | static const uint32_t SP3[] = | 
| 130 |  |  |  |  |  |  | { | 
| 131 |  |  |  |  |  |  | 0x00000208UL, 0x08020200UL, 0x00000000UL, 0x08020008UL, | 
| 132 |  |  |  |  |  |  | 0x08000200UL, 0x00000000UL, 0x00020208UL, 0x08000200UL, | 
| 133 |  |  |  |  |  |  | 0x00020008UL, 0x08000008UL, 0x08000008UL, 0x00020000UL, | 
| 134 |  |  |  |  |  |  | 0x08020208UL, 0x00020008UL, 0x08020000UL, 0x00000208UL, | 
| 135 |  |  |  |  |  |  | 0x08000000UL, 0x00000008UL, 0x08020200UL, 0x00000200UL, | 
| 136 |  |  |  |  |  |  | 0x00020200UL, 0x08020000UL, 0x08020008UL, 0x00020208UL, | 
| 137 |  |  |  |  |  |  | 0x08000208UL, 0x00020200UL, 0x00020000UL, 0x08000208UL, | 
| 138 |  |  |  |  |  |  | 0x00000008UL, 0x08020208UL, 0x00000200UL, 0x08000000UL, | 
| 139 |  |  |  |  |  |  | 0x08020200UL, 0x08000000UL, 0x00020008UL, 0x00000208UL, | 
| 140 |  |  |  |  |  |  | 0x00020000UL, 0x08020200UL, 0x08000200UL, 0x00000000UL, | 
| 141 |  |  |  |  |  |  | 0x00000200UL, 0x00020008UL, 0x08020208UL, 0x08000200UL, | 
| 142 |  |  |  |  |  |  | 0x08000008UL, 0x00000200UL, 0x00000000UL, 0x08020008UL, | 
| 143 |  |  |  |  |  |  | 0x08000208UL, 0x00020000UL, 0x08000000UL, 0x08020208UL, | 
| 144 |  |  |  |  |  |  | 0x00000008UL, 0x00020208UL, 0x00020200UL, 0x08000008UL, | 
| 145 |  |  |  |  |  |  | 0x08020000UL, 0x08000208UL, 0x00000208UL, 0x08020000UL, | 
| 146 |  |  |  |  |  |  | 0x00020208UL, 0x00000008UL, 0x08020008UL, 0x00020200UL | 
| 147 |  |  |  |  |  |  | }; | 
| 148 |  |  |  |  |  |  |  | 
| 149 |  |  |  |  |  |  | static const uint32_t SP4[] = | 
| 150 |  |  |  |  |  |  | { | 
| 151 |  |  |  |  |  |  | 0x00802001UL, 0x00002081UL, 0x00002081UL, 0x00000080UL, | 
| 152 |  |  |  |  |  |  | 0x00802080UL, 0x00800081UL, 0x00800001UL, 0x00002001UL, | 
| 153 |  |  |  |  |  |  | 0x00000000UL, 0x00802000UL, 0x00802000UL, 0x00802081UL, | 
| 154 |  |  |  |  |  |  | 0x00000081UL, 0x00000000UL, 0x00800080UL, 0x00800001UL, | 
| 155 |  |  |  |  |  |  | 0x00000001UL, 0x00002000UL, 0x00800000UL, 0x00802001UL, | 
| 156 |  |  |  |  |  |  | 0x00000080UL, 0x00800000UL, 0x00002001UL, 0x00002080UL, | 
| 157 |  |  |  |  |  |  | 0x00800081UL, 0x00000001UL, 0x00002080UL, 0x00800080UL, | 
| 158 |  |  |  |  |  |  | 0x00002000UL, 0x00802080UL, 0x00802081UL, 0x00000081UL, | 
| 159 |  |  |  |  |  |  | 0x00800080UL, 0x00800001UL, 0x00802000UL, 0x00802081UL, | 
| 160 |  |  |  |  |  |  | 0x00000081UL, 0x00000000UL, 0x00000000UL, 0x00802000UL, | 
| 161 |  |  |  |  |  |  | 0x00002080UL, 0x00800080UL, 0x00800081UL, 0x00000001UL, | 
| 162 |  |  |  |  |  |  | 0x00802001UL, 0x00002081UL, 0x00002081UL, 0x00000080UL, | 
| 163 |  |  |  |  |  |  | 0x00802081UL, 0x00000081UL, 0x00000001UL, 0x00002000UL, | 
| 164 |  |  |  |  |  |  | 0x00800001UL, 0x00002001UL, 0x00802080UL, 0x00800081UL, | 
| 165 |  |  |  |  |  |  | 0x00002001UL, 0x00002080UL, 0x00800000UL, 0x00802001UL, | 
| 166 |  |  |  |  |  |  | 0x00000080UL, 0x00800000UL, 0x00002000UL, 0x00802080UL | 
| 167 |  |  |  |  |  |  | }; | 
| 168 |  |  |  |  |  |  |  | 
| 169 |  |  |  |  |  |  | static const uint32_t SP5[] = | 
| 170 |  |  |  |  |  |  | { | 
| 171 |  |  |  |  |  |  | 0x00000100UL, 0x02080100UL, 0x02080000UL, 0x42000100UL, | 
| 172 |  |  |  |  |  |  | 0x00080000UL, 0x00000100UL, 0x40000000UL, 0x02080000UL, | 
| 173 |  |  |  |  |  |  | 0x40080100UL, 0x00080000UL, 0x02000100UL, 0x40080100UL, | 
| 174 |  |  |  |  |  |  | 0x42000100UL, 0x42080000UL, 0x00080100UL, 0x40000000UL, | 
| 175 |  |  |  |  |  |  | 0x02000000UL, 0x40080000UL, 0x40080000UL, 0x00000000UL, | 
| 176 |  |  |  |  |  |  | 0x40000100UL, 0x42080100UL, 0x42080100UL, 0x02000100UL, | 
| 177 |  |  |  |  |  |  | 0x42080000UL, 0x40000100UL, 0x00000000UL, 0x42000000UL, | 
| 178 |  |  |  |  |  |  | 0x02080100UL, 0x02000000UL, 0x42000000UL, 0x00080100UL, | 
| 179 |  |  |  |  |  |  | 0x00080000UL, 0x42000100UL, 0x00000100UL, 0x02000000UL, | 
| 180 |  |  |  |  |  |  | 0x40000000UL, 0x02080000UL, 0x42000100UL, 0x40080100UL, | 
| 181 |  |  |  |  |  |  | 0x02000100UL, 0x40000000UL, 0x42080000UL, 0x02080100UL, | 
| 182 |  |  |  |  |  |  | 0x40080100UL, 0x00000100UL, 0x02000000UL, 0x42080000UL, | 
| 183 |  |  |  |  |  |  | 0x42080100UL, 0x00080100UL, 0x42000000UL, 0x42080100UL, | 
| 184 |  |  |  |  |  |  | 0x02080000UL, 0x00000000UL, 0x40080000UL, 0x42000000UL, | 
| 185 |  |  |  |  |  |  | 0x00080100UL, 0x02000100UL, 0x40000100UL, 0x00080000UL, | 
| 186 |  |  |  |  |  |  | 0x00000000UL, 0x40080000UL, 0x02080100UL, 0x40000100UL | 
| 187 |  |  |  |  |  |  | }; | 
| 188 |  |  |  |  |  |  |  | 
| 189 |  |  |  |  |  |  | static const uint32_t SP6[] = | 
| 190 |  |  |  |  |  |  | { | 
| 191 |  |  |  |  |  |  | 0x20000010UL, 0x20400000UL, 0x00004000UL, 0x20404010UL, | 
| 192 |  |  |  |  |  |  | 0x20400000UL, 0x00000010UL, 0x20404010UL, 0x00400000UL, | 
| 193 |  |  |  |  |  |  | 0x20004000UL, 0x00404010UL, 0x00400000UL, 0x20000010UL, | 
| 194 |  |  |  |  |  |  | 0x00400010UL, 0x20004000UL, 0x20000000UL, 0x00004010UL, | 
| 195 |  |  |  |  |  |  | 0x00000000UL, 0x00400010UL, 0x20004010UL, 0x00004000UL, | 
| 196 |  |  |  |  |  |  | 0x00404000UL, 0x20004010UL, 0x00000010UL, 0x20400010UL, | 
| 197 |  |  |  |  |  |  | 0x20400010UL, 0x00000000UL, 0x00404010UL, 0x20404000UL, | 
| 198 |  |  |  |  |  |  | 0x00004010UL, 0x00404000UL, 0x20404000UL, 0x20000000UL, | 
| 199 |  |  |  |  |  |  | 0x20004000UL, 0x00000010UL, 0x20400010UL, 0x00404000UL, | 
| 200 |  |  |  |  |  |  | 0x20404010UL, 0x00400000UL, 0x00004010UL, 0x20000010UL, | 
| 201 |  |  |  |  |  |  | 0x00400000UL, 0x20004000UL, 0x20000000UL, 0x00004010UL, | 
| 202 |  |  |  |  |  |  | 0x20000010UL, 0x20404010UL, 0x00404000UL, 0x20400000UL, | 
| 203 |  |  |  |  |  |  | 0x00404010UL, 0x20404000UL, 0x00000000UL, 0x20400010UL, | 
| 204 |  |  |  |  |  |  | 0x00000010UL, 0x00004000UL, 0x20400000UL, 0x00404010UL, | 
| 205 |  |  |  |  |  |  | 0x00004000UL, 0x00400010UL, 0x20004010UL, 0x00000000UL, | 
| 206 |  |  |  |  |  |  | 0x20404000UL, 0x20000000UL, 0x00400010UL, 0x20004010UL | 
| 207 |  |  |  |  |  |  | }; | 
| 208 |  |  |  |  |  |  |  | 
| 209 |  |  |  |  |  |  | static const uint32_t SP7[] = | 
| 210 |  |  |  |  |  |  | { | 
| 211 |  |  |  |  |  |  | 0x00200000UL, 0x04200002UL, 0x04000802UL, 0x00000000UL, | 
| 212 |  |  |  |  |  |  | 0x00000800UL, 0x04000802UL, 0x00200802UL, 0x04200800UL, | 
| 213 |  |  |  |  |  |  | 0x04200802UL, 0x00200000UL, 0x00000000UL, 0x04000002UL, | 
| 214 |  |  |  |  |  |  | 0x00000002UL, 0x04000000UL, 0x04200002UL, 0x00000802UL, | 
| 215 |  |  |  |  |  |  | 0x04000800UL, 0x00200802UL, 0x00200002UL, 0x04000800UL, | 
| 216 |  |  |  |  |  |  | 0x04000002UL, 0x04200000UL, 0x04200800UL, 0x00200002UL, | 
| 217 |  |  |  |  |  |  | 0x04200000UL, 0x00000800UL, 0x00000802UL, 0x04200802UL, | 
| 218 |  |  |  |  |  |  | 0x00200800UL, 0x00000002UL, 0x04000000UL, 0x00200800UL, | 
| 219 |  |  |  |  |  |  | 0x04000000UL, 0x00200800UL, 0x00200000UL, 0x04000802UL, | 
| 220 |  |  |  |  |  |  | 0x04000802UL, 0x04200002UL, 0x04200002UL, 0x00000002UL, | 
| 221 |  |  |  |  |  |  | 0x00200002UL, 0x04000000UL, 0x04000800UL, 0x00200000UL, | 
| 222 |  |  |  |  |  |  | 0x04200800UL, 0x00000802UL, 0x00200802UL, 0x04200800UL, | 
| 223 |  |  |  |  |  |  | 0x00000802UL, 0x04000002UL, 0x04200802UL, 0x04200000UL, | 
| 224 |  |  |  |  |  |  | 0x00200800UL, 0x00000000UL, 0x00000002UL, 0x04200802UL, | 
| 225 |  |  |  |  |  |  | 0x00000000UL, 0x00200802UL, 0x04200000UL, 0x00000800UL, | 
| 226 |  |  |  |  |  |  | 0x04000002UL, 0x04000800UL, 0x00000800UL, 0x00200002UL | 
| 227 |  |  |  |  |  |  | }; | 
| 228 |  |  |  |  |  |  |  | 
| 229 |  |  |  |  |  |  | static const uint32_t SP8[] = | 
| 230 |  |  |  |  |  |  | { | 
| 231 |  |  |  |  |  |  | 0x10001040UL, 0x00001000UL, 0x00040000UL, 0x10041040UL, | 
| 232 |  |  |  |  |  |  | 0x10000000UL, 0x10001040UL, 0x00000040UL, 0x10000000UL, | 
| 233 |  |  |  |  |  |  | 0x00040040UL, 0x10040000UL, 0x10041040UL, 0x00041000UL, | 
| 234 |  |  |  |  |  |  | 0x10041000UL, 0x00041040UL, 0x00001000UL, 0x00000040UL, | 
| 235 |  |  |  |  |  |  | 0x10040000UL, 0x10000040UL, 0x10001000UL, 0x00001040UL, | 
| 236 |  |  |  |  |  |  | 0x00041000UL, 0x00040040UL, 0x10040040UL, 0x10041000UL, | 
| 237 |  |  |  |  |  |  | 0x00001040UL, 0x00000000UL, 0x00000000UL, 0x10040040UL, | 
| 238 |  |  |  |  |  |  | 0x10000040UL, 0x10001000UL, 0x00041040UL, 0x00040000UL, | 
| 239 |  |  |  |  |  |  | 0x00041040UL, 0x00040000UL, 0x10041000UL, 0x00001000UL, | 
| 240 |  |  |  |  |  |  | 0x00000040UL, 0x10040040UL, 0x00001000UL, 0x00041040UL, | 
| 241 |  |  |  |  |  |  | 0x10001000UL, 0x00000040UL, 0x10000040UL, 0x10040000UL, | 
| 242 |  |  |  |  |  |  | 0x10040040UL, 0x10000000UL, 0x00040000UL, 0x10001040UL, | 
| 243 |  |  |  |  |  |  | 0x00000000UL, 0x10041040UL, 0x00040040UL, 0x10000040UL, | 
| 244 |  |  |  |  |  |  | 0x10040000UL, 0x10001000UL, 0x10001040UL, 0x00000000UL, | 
| 245 |  |  |  |  |  |  | 0x10041040UL, 0x00041000UL, 0x00041000UL, 0x00001040UL, | 
| 246 |  |  |  |  |  |  | 0x00001040UL, 0x00040040UL, 0x10000000UL, 0x10041000UL, | 
| 247 |  |  |  |  |  |  | 0xe1f27f3aUL, 0xf5710fb0UL, 0xada0e5c4UL, 0x98e4c919UL | 
| 248 |  |  |  |  |  |  | }; | 
| 249 |  |  |  |  |  |  |  | 
| 250 |  |  |  |  |  |  | # if defined(PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE) && defined(HAVE_NATIVE_INT64) | 
| 251 |  |  |  |  |  |  |  | 
| 252 |  |  |  |  |  |  | static const uint64 des_ip[8][256] = { | 
| 253 |  |  |  |  |  |  |  | 
| 254 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000001000000000), CONST64(0x0000000000000010), CONST64(0x0000001000000010), | 
| 255 |  |  |  |  |  |  | CONST64(0x0000100000000000), CONST64(0x0000101000000000), CONST64(0x0000100000000010), CONST64(0x0000101000000010), | 
| 256 |  |  |  |  |  |  | CONST64(0x0000000000001000), CONST64(0x0000001000001000), CONST64(0x0000000000001010), CONST64(0x0000001000001010), | 
| 257 |  |  |  |  |  |  | CONST64(0x0000100000001000), CONST64(0x0000101000001000), CONST64(0x0000100000001010), CONST64(0x0000101000001010), | 
| 258 |  |  |  |  |  |  | CONST64(0x0010000000000000), CONST64(0x0010001000000000), CONST64(0x0010000000000010), CONST64(0x0010001000000010), | 
| 259 |  |  |  |  |  |  | CONST64(0x0010100000000000), CONST64(0x0010101000000000), CONST64(0x0010100000000010), CONST64(0x0010101000000010), | 
| 260 |  |  |  |  |  |  | CONST64(0x0010000000001000), CONST64(0x0010001000001000), CONST64(0x0010000000001010), CONST64(0x0010001000001010), | 
| 261 |  |  |  |  |  |  | CONST64(0x0010100000001000), CONST64(0x0010101000001000), CONST64(0x0010100000001010), CONST64(0x0010101000001010), | 
| 262 |  |  |  |  |  |  | CONST64(0x0000000000100000), CONST64(0x0000001000100000), CONST64(0x0000000000100010), CONST64(0x0000001000100010), | 
| 263 |  |  |  |  |  |  | CONST64(0x0000100000100000), CONST64(0x0000101000100000), CONST64(0x0000100000100010), CONST64(0x0000101000100010), | 
| 264 |  |  |  |  |  |  | CONST64(0x0000000000101000), CONST64(0x0000001000101000), CONST64(0x0000000000101010), CONST64(0x0000001000101010), | 
| 265 |  |  |  |  |  |  | CONST64(0x0000100000101000), CONST64(0x0000101000101000), CONST64(0x0000100000101010), CONST64(0x0000101000101010), | 
| 266 |  |  |  |  |  |  | CONST64(0x0010000000100000), CONST64(0x0010001000100000), CONST64(0x0010000000100010), CONST64(0x0010001000100010), | 
| 267 |  |  |  |  |  |  | CONST64(0x0010100000100000), CONST64(0x0010101000100000), CONST64(0x0010100000100010), CONST64(0x0010101000100010), | 
| 268 |  |  |  |  |  |  | CONST64(0x0010000000101000), CONST64(0x0010001000101000), CONST64(0x0010000000101010), CONST64(0x0010001000101010), | 
| 269 |  |  |  |  |  |  | CONST64(0x0010100000101000), CONST64(0x0010101000101000), CONST64(0x0010100000101010), CONST64(0x0010101000101010), | 
| 270 |  |  |  |  |  |  | CONST64(0x1000000000000000), CONST64(0x1000001000000000), CONST64(0x1000000000000010), CONST64(0x1000001000000010), | 
| 271 |  |  |  |  |  |  | CONST64(0x1000100000000000), CONST64(0x1000101000000000), CONST64(0x1000100000000010), CONST64(0x1000101000000010), | 
| 272 |  |  |  |  |  |  | CONST64(0x1000000000001000), CONST64(0x1000001000001000), CONST64(0x1000000000001010), CONST64(0x1000001000001010), | 
| 273 |  |  |  |  |  |  | CONST64(0x1000100000001000), CONST64(0x1000101000001000), CONST64(0x1000100000001010), CONST64(0x1000101000001010), | 
| 274 |  |  |  |  |  |  | CONST64(0x1010000000000000), CONST64(0x1010001000000000), CONST64(0x1010000000000010), CONST64(0x1010001000000010), | 
| 275 |  |  |  |  |  |  | CONST64(0x1010100000000000), CONST64(0x1010101000000000), CONST64(0x1010100000000010), CONST64(0x1010101000000010), | 
| 276 |  |  |  |  |  |  | CONST64(0x1010000000001000), CONST64(0x1010001000001000), CONST64(0x1010000000001010), CONST64(0x1010001000001010), | 
| 277 |  |  |  |  |  |  | CONST64(0x1010100000001000), CONST64(0x1010101000001000), CONST64(0x1010100000001010), CONST64(0x1010101000001010), | 
| 278 |  |  |  |  |  |  | CONST64(0x1000000000100000), CONST64(0x1000001000100000), CONST64(0x1000000000100010), CONST64(0x1000001000100010), | 
| 279 |  |  |  |  |  |  | CONST64(0x1000100000100000), CONST64(0x1000101000100000), CONST64(0x1000100000100010), CONST64(0x1000101000100010), | 
| 280 |  |  |  |  |  |  | CONST64(0x1000000000101000), CONST64(0x1000001000101000), CONST64(0x1000000000101010), CONST64(0x1000001000101010), | 
| 281 |  |  |  |  |  |  | CONST64(0x1000100000101000), CONST64(0x1000101000101000), CONST64(0x1000100000101010), CONST64(0x1000101000101010), | 
| 282 |  |  |  |  |  |  | CONST64(0x1010000000100000), CONST64(0x1010001000100000), CONST64(0x1010000000100010), CONST64(0x1010001000100010), | 
| 283 |  |  |  |  |  |  | CONST64(0x1010100000100000), CONST64(0x1010101000100000), CONST64(0x1010100000100010), CONST64(0x1010101000100010), | 
| 284 |  |  |  |  |  |  | CONST64(0x1010000000101000), CONST64(0x1010001000101000), CONST64(0x1010000000101010), CONST64(0x1010001000101010), | 
| 285 |  |  |  |  |  |  | CONST64(0x1010100000101000), CONST64(0x1010101000101000), CONST64(0x1010100000101010), CONST64(0x1010101000101010), | 
| 286 |  |  |  |  |  |  | CONST64(0x0000000010000000), CONST64(0x0000001010000000), CONST64(0x0000000010000010), CONST64(0x0000001010000010), | 
| 287 |  |  |  |  |  |  | CONST64(0x0000100010000000), CONST64(0x0000101010000000), CONST64(0x0000100010000010), CONST64(0x0000101010000010), | 
| 288 |  |  |  |  |  |  | CONST64(0x0000000010001000), CONST64(0x0000001010001000), CONST64(0x0000000010001010), CONST64(0x0000001010001010), | 
| 289 |  |  |  |  |  |  | CONST64(0x0000100010001000), CONST64(0x0000101010001000), CONST64(0x0000100010001010), CONST64(0x0000101010001010), | 
| 290 |  |  |  |  |  |  | CONST64(0x0010000010000000), CONST64(0x0010001010000000), CONST64(0x0010000010000010), CONST64(0x0010001010000010), | 
| 291 |  |  |  |  |  |  | CONST64(0x0010100010000000), CONST64(0x0010101010000000), CONST64(0x0010100010000010), CONST64(0x0010101010000010), | 
| 292 |  |  |  |  |  |  | CONST64(0x0010000010001000), CONST64(0x0010001010001000), CONST64(0x0010000010001010), CONST64(0x0010001010001010), | 
| 293 |  |  |  |  |  |  | CONST64(0x0010100010001000), CONST64(0x0010101010001000), CONST64(0x0010100010001010), CONST64(0x0010101010001010), | 
| 294 |  |  |  |  |  |  | CONST64(0x0000000010100000), CONST64(0x0000001010100000), CONST64(0x0000000010100010), CONST64(0x0000001010100010), | 
| 295 |  |  |  |  |  |  | CONST64(0x0000100010100000), CONST64(0x0000101010100000), CONST64(0x0000100010100010), CONST64(0x0000101010100010), | 
| 296 |  |  |  |  |  |  | CONST64(0x0000000010101000), CONST64(0x0000001010101000), CONST64(0x0000000010101010), CONST64(0x0000001010101010), | 
| 297 |  |  |  |  |  |  | CONST64(0x0000100010101000), CONST64(0x0000101010101000), CONST64(0x0000100010101010), CONST64(0x0000101010101010), | 
| 298 |  |  |  |  |  |  | CONST64(0x0010000010100000), CONST64(0x0010001010100000), CONST64(0x0010000010100010), CONST64(0x0010001010100010), | 
| 299 |  |  |  |  |  |  | CONST64(0x0010100010100000), CONST64(0x0010101010100000), CONST64(0x0010100010100010), CONST64(0x0010101010100010), | 
| 300 |  |  |  |  |  |  | CONST64(0x0010000010101000), CONST64(0x0010001010101000), CONST64(0x0010000010101010), CONST64(0x0010001010101010), | 
| 301 |  |  |  |  |  |  | CONST64(0x0010100010101000), CONST64(0x0010101010101000), CONST64(0x0010100010101010), CONST64(0x0010101010101010), | 
| 302 |  |  |  |  |  |  | CONST64(0x1000000010000000), CONST64(0x1000001010000000), CONST64(0x1000000010000010), CONST64(0x1000001010000010), | 
| 303 |  |  |  |  |  |  | CONST64(0x1000100010000000), CONST64(0x1000101010000000), CONST64(0x1000100010000010), CONST64(0x1000101010000010), | 
| 304 |  |  |  |  |  |  | CONST64(0x1000000010001000), CONST64(0x1000001010001000), CONST64(0x1000000010001010), CONST64(0x1000001010001010), | 
| 305 |  |  |  |  |  |  | CONST64(0x1000100010001000), CONST64(0x1000101010001000), CONST64(0x1000100010001010), CONST64(0x1000101010001010), | 
| 306 |  |  |  |  |  |  | CONST64(0x1010000010000000), CONST64(0x1010001010000000), CONST64(0x1010000010000010), CONST64(0x1010001010000010), | 
| 307 |  |  |  |  |  |  | CONST64(0x1010100010000000), CONST64(0x1010101010000000), CONST64(0x1010100010000010), CONST64(0x1010101010000010), | 
| 308 |  |  |  |  |  |  | CONST64(0x1010000010001000), CONST64(0x1010001010001000), CONST64(0x1010000010001010), CONST64(0x1010001010001010), | 
| 309 |  |  |  |  |  |  | CONST64(0x1010100010001000), CONST64(0x1010101010001000), CONST64(0x1010100010001010), CONST64(0x1010101010001010), | 
| 310 |  |  |  |  |  |  | CONST64(0x1000000010100000), CONST64(0x1000001010100000), CONST64(0x1000000010100010), CONST64(0x1000001010100010), | 
| 311 |  |  |  |  |  |  | CONST64(0x1000100010100000), CONST64(0x1000101010100000), CONST64(0x1000100010100010), CONST64(0x1000101010100010), | 
| 312 |  |  |  |  |  |  | CONST64(0x1000000010101000), CONST64(0x1000001010101000), CONST64(0x1000000010101010), CONST64(0x1000001010101010), | 
| 313 |  |  |  |  |  |  | CONST64(0x1000100010101000), CONST64(0x1000101010101000), CONST64(0x1000100010101010), CONST64(0x1000101010101010), | 
| 314 |  |  |  |  |  |  | CONST64(0x1010000010100000), CONST64(0x1010001010100000), CONST64(0x1010000010100010), CONST64(0x1010001010100010), | 
| 315 |  |  |  |  |  |  | CONST64(0x1010100010100000), CONST64(0x1010101010100000), CONST64(0x1010100010100010), CONST64(0x1010101010100010), | 
| 316 |  |  |  |  |  |  | CONST64(0x1010000010101000), CONST64(0x1010001010101000), CONST64(0x1010000010101010), CONST64(0x1010001010101010), | 
| 317 |  |  |  |  |  |  | CONST64(0x1010100010101000), CONST64(0x1010101010101000), CONST64(0x1010100010101010), CONST64(0x1010101010101010) }, | 
| 318 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000800000000), CONST64(0x0000000000000008), CONST64(0x0000000800000008), | 
| 319 |  |  |  |  |  |  | CONST64(0x0000080000000000), CONST64(0x0000080800000000), CONST64(0x0000080000000008), CONST64(0x0000080800000008), | 
| 320 |  |  |  |  |  |  | CONST64(0x0000000000000800), CONST64(0x0000000800000800), CONST64(0x0000000000000808), CONST64(0x0000000800000808), | 
| 321 |  |  |  |  |  |  | CONST64(0x0000080000000800), CONST64(0x0000080800000800), CONST64(0x0000080000000808), CONST64(0x0000080800000808), | 
| 322 |  |  |  |  |  |  | CONST64(0x0008000000000000), CONST64(0x0008000800000000), CONST64(0x0008000000000008), CONST64(0x0008000800000008), | 
| 323 |  |  |  |  |  |  | CONST64(0x0008080000000000), CONST64(0x0008080800000000), CONST64(0x0008080000000008), CONST64(0x0008080800000008), | 
| 324 |  |  |  |  |  |  | CONST64(0x0008000000000800), CONST64(0x0008000800000800), CONST64(0x0008000000000808), CONST64(0x0008000800000808), | 
| 325 |  |  |  |  |  |  | CONST64(0x0008080000000800), CONST64(0x0008080800000800), CONST64(0x0008080000000808), CONST64(0x0008080800000808), | 
| 326 |  |  |  |  |  |  | CONST64(0x0000000000080000), CONST64(0x0000000800080000), CONST64(0x0000000000080008), CONST64(0x0000000800080008), | 
| 327 |  |  |  |  |  |  | CONST64(0x0000080000080000), CONST64(0x0000080800080000), CONST64(0x0000080000080008), CONST64(0x0000080800080008), | 
| 328 |  |  |  |  |  |  | CONST64(0x0000000000080800), CONST64(0x0000000800080800), CONST64(0x0000000000080808), CONST64(0x0000000800080808), | 
| 329 |  |  |  |  |  |  | CONST64(0x0000080000080800), CONST64(0x0000080800080800), CONST64(0x0000080000080808), CONST64(0x0000080800080808), | 
| 330 |  |  |  |  |  |  | CONST64(0x0008000000080000), CONST64(0x0008000800080000), CONST64(0x0008000000080008), CONST64(0x0008000800080008), | 
| 331 |  |  |  |  |  |  | CONST64(0x0008080000080000), CONST64(0x0008080800080000), CONST64(0x0008080000080008), CONST64(0x0008080800080008), | 
| 332 |  |  |  |  |  |  | CONST64(0x0008000000080800), CONST64(0x0008000800080800), CONST64(0x0008000000080808), CONST64(0x0008000800080808), | 
| 333 |  |  |  |  |  |  | CONST64(0x0008080000080800), CONST64(0x0008080800080800), CONST64(0x0008080000080808), CONST64(0x0008080800080808), | 
| 334 |  |  |  |  |  |  | CONST64(0x0800000000000000), CONST64(0x0800000800000000), CONST64(0x0800000000000008), CONST64(0x0800000800000008), | 
| 335 |  |  |  |  |  |  | CONST64(0x0800080000000000), CONST64(0x0800080800000000), CONST64(0x0800080000000008), CONST64(0x0800080800000008), | 
| 336 |  |  |  |  |  |  | CONST64(0x0800000000000800), CONST64(0x0800000800000800), CONST64(0x0800000000000808), CONST64(0x0800000800000808), | 
| 337 |  |  |  |  |  |  | CONST64(0x0800080000000800), CONST64(0x0800080800000800), CONST64(0x0800080000000808), CONST64(0x0800080800000808), | 
| 338 |  |  |  |  |  |  | CONST64(0x0808000000000000), CONST64(0x0808000800000000), CONST64(0x0808000000000008), CONST64(0x0808000800000008), | 
| 339 |  |  |  |  |  |  | CONST64(0x0808080000000000), CONST64(0x0808080800000000), CONST64(0x0808080000000008), CONST64(0x0808080800000008), | 
| 340 |  |  |  |  |  |  | CONST64(0x0808000000000800), CONST64(0x0808000800000800), CONST64(0x0808000000000808), CONST64(0x0808000800000808), | 
| 341 |  |  |  |  |  |  | CONST64(0x0808080000000800), CONST64(0x0808080800000800), CONST64(0x0808080000000808), CONST64(0x0808080800000808), | 
| 342 |  |  |  |  |  |  | CONST64(0x0800000000080000), CONST64(0x0800000800080000), CONST64(0x0800000000080008), CONST64(0x0800000800080008), | 
| 343 |  |  |  |  |  |  | CONST64(0x0800080000080000), CONST64(0x0800080800080000), CONST64(0x0800080000080008), CONST64(0x0800080800080008), | 
| 344 |  |  |  |  |  |  | CONST64(0x0800000000080800), CONST64(0x0800000800080800), CONST64(0x0800000000080808), CONST64(0x0800000800080808), | 
| 345 |  |  |  |  |  |  | CONST64(0x0800080000080800), CONST64(0x0800080800080800), CONST64(0x0800080000080808), CONST64(0x0800080800080808), | 
| 346 |  |  |  |  |  |  | CONST64(0x0808000000080000), CONST64(0x0808000800080000), CONST64(0x0808000000080008), CONST64(0x0808000800080008), | 
| 347 |  |  |  |  |  |  | CONST64(0x0808080000080000), CONST64(0x0808080800080000), CONST64(0x0808080000080008), CONST64(0x0808080800080008), | 
| 348 |  |  |  |  |  |  | CONST64(0x0808000000080800), CONST64(0x0808000800080800), CONST64(0x0808000000080808), CONST64(0x0808000800080808), | 
| 349 |  |  |  |  |  |  | CONST64(0x0808080000080800), CONST64(0x0808080800080800), CONST64(0x0808080000080808), CONST64(0x0808080800080808), | 
| 350 |  |  |  |  |  |  | CONST64(0x0000000008000000), CONST64(0x0000000808000000), CONST64(0x0000000008000008), CONST64(0x0000000808000008), | 
| 351 |  |  |  |  |  |  | CONST64(0x0000080008000000), CONST64(0x0000080808000000), CONST64(0x0000080008000008), CONST64(0x0000080808000008), | 
| 352 |  |  |  |  |  |  | CONST64(0x0000000008000800), CONST64(0x0000000808000800), CONST64(0x0000000008000808), CONST64(0x0000000808000808), | 
| 353 |  |  |  |  |  |  | CONST64(0x0000080008000800), CONST64(0x0000080808000800), CONST64(0x0000080008000808), CONST64(0x0000080808000808), | 
| 354 |  |  |  |  |  |  | CONST64(0x0008000008000000), CONST64(0x0008000808000000), CONST64(0x0008000008000008), CONST64(0x0008000808000008), | 
| 355 |  |  |  |  |  |  | CONST64(0x0008080008000000), CONST64(0x0008080808000000), CONST64(0x0008080008000008), CONST64(0x0008080808000008), | 
| 356 |  |  |  |  |  |  | CONST64(0x0008000008000800), CONST64(0x0008000808000800), CONST64(0x0008000008000808), CONST64(0x0008000808000808), | 
| 357 |  |  |  |  |  |  | CONST64(0x0008080008000800), CONST64(0x0008080808000800), CONST64(0x0008080008000808), CONST64(0x0008080808000808), | 
| 358 |  |  |  |  |  |  | CONST64(0x0000000008080000), CONST64(0x0000000808080000), CONST64(0x0000000008080008), CONST64(0x0000000808080008), | 
| 359 |  |  |  |  |  |  | CONST64(0x0000080008080000), CONST64(0x0000080808080000), CONST64(0x0000080008080008), CONST64(0x0000080808080008), | 
| 360 |  |  |  |  |  |  | CONST64(0x0000000008080800), CONST64(0x0000000808080800), CONST64(0x0000000008080808), CONST64(0x0000000808080808), | 
| 361 |  |  |  |  |  |  | CONST64(0x0000080008080800), CONST64(0x0000080808080800), CONST64(0x0000080008080808), CONST64(0x0000080808080808), | 
| 362 |  |  |  |  |  |  | CONST64(0x0008000008080000), CONST64(0x0008000808080000), CONST64(0x0008000008080008), CONST64(0x0008000808080008), | 
| 363 |  |  |  |  |  |  | CONST64(0x0008080008080000), CONST64(0x0008080808080000), CONST64(0x0008080008080008), CONST64(0x0008080808080008), | 
| 364 |  |  |  |  |  |  | CONST64(0x0008000008080800), CONST64(0x0008000808080800), CONST64(0x0008000008080808), CONST64(0x0008000808080808), | 
| 365 |  |  |  |  |  |  | CONST64(0x0008080008080800), CONST64(0x0008080808080800), CONST64(0x0008080008080808), CONST64(0x0008080808080808), | 
| 366 |  |  |  |  |  |  | CONST64(0x0800000008000000), CONST64(0x0800000808000000), CONST64(0x0800000008000008), CONST64(0x0800000808000008), | 
| 367 |  |  |  |  |  |  | CONST64(0x0800080008000000), CONST64(0x0800080808000000), CONST64(0x0800080008000008), CONST64(0x0800080808000008), | 
| 368 |  |  |  |  |  |  | CONST64(0x0800000008000800), CONST64(0x0800000808000800), CONST64(0x0800000008000808), CONST64(0x0800000808000808), | 
| 369 |  |  |  |  |  |  | CONST64(0x0800080008000800), CONST64(0x0800080808000800), CONST64(0x0800080008000808), CONST64(0x0800080808000808), | 
| 370 |  |  |  |  |  |  | CONST64(0x0808000008000000), CONST64(0x0808000808000000), CONST64(0x0808000008000008), CONST64(0x0808000808000008), | 
| 371 |  |  |  |  |  |  | CONST64(0x0808080008000000), CONST64(0x0808080808000000), CONST64(0x0808080008000008), CONST64(0x0808080808000008), | 
| 372 |  |  |  |  |  |  | CONST64(0x0808000008000800), CONST64(0x0808000808000800), CONST64(0x0808000008000808), CONST64(0x0808000808000808), | 
| 373 |  |  |  |  |  |  | CONST64(0x0808080008000800), CONST64(0x0808080808000800), CONST64(0x0808080008000808), CONST64(0x0808080808000808), | 
| 374 |  |  |  |  |  |  | CONST64(0x0800000008080000), CONST64(0x0800000808080000), CONST64(0x0800000008080008), CONST64(0x0800000808080008), | 
| 375 |  |  |  |  |  |  | CONST64(0x0800080008080000), CONST64(0x0800080808080000), CONST64(0x0800080008080008), CONST64(0x0800080808080008), | 
| 376 |  |  |  |  |  |  | CONST64(0x0800000008080800), CONST64(0x0800000808080800), CONST64(0x0800000008080808), CONST64(0x0800000808080808), | 
| 377 |  |  |  |  |  |  | CONST64(0x0800080008080800), CONST64(0x0800080808080800), CONST64(0x0800080008080808), CONST64(0x0800080808080808), | 
| 378 |  |  |  |  |  |  | CONST64(0x0808000008080000), CONST64(0x0808000808080000), CONST64(0x0808000008080008), CONST64(0x0808000808080008), | 
| 379 |  |  |  |  |  |  | CONST64(0x0808080008080000), CONST64(0x0808080808080000), CONST64(0x0808080008080008), CONST64(0x0808080808080008), | 
| 380 |  |  |  |  |  |  | CONST64(0x0808000008080800), CONST64(0x0808000808080800), CONST64(0x0808000008080808), CONST64(0x0808000808080808), | 
| 381 |  |  |  |  |  |  | CONST64(0x0808080008080800), CONST64(0x0808080808080800), CONST64(0x0808080008080808), CONST64(0x0808080808080808) }, | 
| 382 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000400000000), CONST64(0x0000000000000004), CONST64(0x0000000400000004), | 
| 383 |  |  |  |  |  |  | CONST64(0x0000040000000000), CONST64(0x0000040400000000), CONST64(0x0000040000000004), CONST64(0x0000040400000004), | 
| 384 |  |  |  |  |  |  | CONST64(0x0000000000000400), CONST64(0x0000000400000400), CONST64(0x0000000000000404), CONST64(0x0000000400000404), | 
| 385 |  |  |  |  |  |  | CONST64(0x0000040000000400), CONST64(0x0000040400000400), CONST64(0x0000040000000404), CONST64(0x0000040400000404), | 
| 386 |  |  |  |  |  |  | CONST64(0x0004000000000000), CONST64(0x0004000400000000), CONST64(0x0004000000000004), CONST64(0x0004000400000004), | 
| 387 |  |  |  |  |  |  | CONST64(0x0004040000000000), CONST64(0x0004040400000000), CONST64(0x0004040000000004), CONST64(0x0004040400000004), | 
| 388 |  |  |  |  |  |  | CONST64(0x0004000000000400), CONST64(0x0004000400000400), CONST64(0x0004000000000404), CONST64(0x0004000400000404), | 
| 389 |  |  |  |  |  |  | CONST64(0x0004040000000400), CONST64(0x0004040400000400), CONST64(0x0004040000000404), CONST64(0x0004040400000404), | 
| 390 |  |  |  |  |  |  | CONST64(0x0000000000040000), CONST64(0x0000000400040000), CONST64(0x0000000000040004), CONST64(0x0000000400040004), | 
| 391 |  |  |  |  |  |  | CONST64(0x0000040000040000), CONST64(0x0000040400040000), CONST64(0x0000040000040004), CONST64(0x0000040400040004), | 
| 392 |  |  |  |  |  |  | CONST64(0x0000000000040400), CONST64(0x0000000400040400), CONST64(0x0000000000040404), CONST64(0x0000000400040404), | 
| 393 |  |  |  |  |  |  | CONST64(0x0000040000040400), CONST64(0x0000040400040400), CONST64(0x0000040000040404), CONST64(0x0000040400040404), | 
| 394 |  |  |  |  |  |  | CONST64(0x0004000000040000), CONST64(0x0004000400040000), CONST64(0x0004000000040004), CONST64(0x0004000400040004), | 
| 395 |  |  |  |  |  |  | CONST64(0x0004040000040000), CONST64(0x0004040400040000), CONST64(0x0004040000040004), CONST64(0x0004040400040004), | 
| 396 |  |  |  |  |  |  | CONST64(0x0004000000040400), CONST64(0x0004000400040400), CONST64(0x0004000000040404), CONST64(0x0004000400040404), | 
| 397 |  |  |  |  |  |  | CONST64(0x0004040000040400), CONST64(0x0004040400040400), CONST64(0x0004040000040404), CONST64(0x0004040400040404), | 
| 398 |  |  |  |  |  |  | CONST64(0x0400000000000000), CONST64(0x0400000400000000), CONST64(0x0400000000000004), CONST64(0x0400000400000004), | 
| 399 |  |  |  |  |  |  | CONST64(0x0400040000000000), CONST64(0x0400040400000000), CONST64(0x0400040000000004), CONST64(0x0400040400000004), | 
| 400 |  |  |  |  |  |  | CONST64(0x0400000000000400), CONST64(0x0400000400000400), CONST64(0x0400000000000404), CONST64(0x0400000400000404), | 
| 401 |  |  |  |  |  |  | CONST64(0x0400040000000400), CONST64(0x0400040400000400), CONST64(0x0400040000000404), CONST64(0x0400040400000404), | 
| 402 |  |  |  |  |  |  | CONST64(0x0404000000000000), CONST64(0x0404000400000000), CONST64(0x0404000000000004), CONST64(0x0404000400000004), | 
| 403 |  |  |  |  |  |  | CONST64(0x0404040000000000), CONST64(0x0404040400000000), CONST64(0x0404040000000004), CONST64(0x0404040400000004), | 
| 404 |  |  |  |  |  |  | CONST64(0x0404000000000400), CONST64(0x0404000400000400), CONST64(0x0404000000000404), CONST64(0x0404000400000404), | 
| 405 |  |  |  |  |  |  | CONST64(0x0404040000000400), CONST64(0x0404040400000400), CONST64(0x0404040000000404), CONST64(0x0404040400000404), | 
| 406 |  |  |  |  |  |  | CONST64(0x0400000000040000), CONST64(0x0400000400040000), CONST64(0x0400000000040004), CONST64(0x0400000400040004), | 
| 407 |  |  |  |  |  |  | CONST64(0x0400040000040000), CONST64(0x0400040400040000), CONST64(0x0400040000040004), CONST64(0x0400040400040004), | 
| 408 |  |  |  |  |  |  | CONST64(0x0400000000040400), CONST64(0x0400000400040400), CONST64(0x0400000000040404), CONST64(0x0400000400040404), | 
| 409 |  |  |  |  |  |  | CONST64(0x0400040000040400), CONST64(0x0400040400040400), CONST64(0x0400040000040404), CONST64(0x0400040400040404), | 
| 410 |  |  |  |  |  |  | CONST64(0x0404000000040000), CONST64(0x0404000400040000), CONST64(0x0404000000040004), CONST64(0x0404000400040004), | 
| 411 |  |  |  |  |  |  | CONST64(0x0404040000040000), CONST64(0x0404040400040000), CONST64(0x0404040000040004), CONST64(0x0404040400040004), | 
| 412 |  |  |  |  |  |  | CONST64(0x0404000000040400), CONST64(0x0404000400040400), CONST64(0x0404000000040404), CONST64(0x0404000400040404), | 
| 413 |  |  |  |  |  |  | CONST64(0x0404040000040400), CONST64(0x0404040400040400), CONST64(0x0404040000040404), CONST64(0x0404040400040404), | 
| 414 |  |  |  |  |  |  | CONST64(0x0000000004000000), CONST64(0x0000000404000000), CONST64(0x0000000004000004), CONST64(0x0000000404000004), | 
| 415 |  |  |  |  |  |  | CONST64(0x0000040004000000), CONST64(0x0000040404000000), CONST64(0x0000040004000004), CONST64(0x0000040404000004), | 
| 416 |  |  |  |  |  |  | CONST64(0x0000000004000400), CONST64(0x0000000404000400), CONST64(0x0000000004000404), CONST64(0x0000000404000404), | 
| 417 |  |  |  |  |  |  | CONST64(0x0000040004000400), CONST64(0x0000040404000400), CONST64(0x0000040004000404), CONST64(0x0000040404000404), | 
| 418 |  |  |  |  |  |  | CONST64(0x0004000004000000), CONST64(0x0004000404000000), CONST64(0x0004000004000004), CONST64(0x0004000404000004), | 
| 419 |  |  |  |  |  |  | CONST64(0x0004040004000000), CONST64(0x0004040404000000), CONST64(0x0004040004000004), CONST64(0x0004040404000004), | 
| 420 |  |  |  |  |  |  | CONST64(0x0004000004000400), CONST64(0x0004000404000400), CONST64(0x0004000004000404), CONST64(0x0004000404000404), | 
| 421 |  |  |  |  |  |  | CONST64(0x0004040004000400), CONST64(0x0004040404000400), CONST64(0x0004040004000404), CONST64(0x0004040404000404), | 
| 422 |  |  |  |  |  |  | CONST64(0x0000000004040000), CONST64(0x0000000404040000), CONST64(0x0000000004040004), CONST64(0x0000000404040004), | 
| 423 |  |  |  |  |  |  | CONST64(0x0000040004040000), CONST64(0x0000040404040000), CONST64(0x0000040004040004), CONST64(0x0000040404040004), | 
| 424 |  |  |  |  |  |  | CONST64(0x0000000004040400), CONST64(0x0000000404040400), CONST64(0x0000000004040404), CONST64(0x0000000404040404), | 
| 425 |  |  |  |  |  |  | CONST64(0x0000040004040400), CONST64(0x0000040404040400), CONST64(0x0000040004040404), CONST64(0x0000040404040404), | 
| 426 |  |  |  |  |  |  | CONST64(0x0004000004040000), CONST64(0x0004000404040000), CONST64(0x0004000004040004), CONST64(0x0004000404040004), | 
| 427 |  |  |  |  |  |  | CONST64(0x0004040004040000), CONST64(0x0004040404040000), CONST64(0x0004040004040004), CONST64(0x0004040404040004), | 
| 428 |  |  |  |  |  |  | CONST64(0x0004000004040400), CONST64(0x0004000404040400), CONST64(0x0004000004040404), CONST64(0x0004000404040404), | 
| 429 |  |  |  |  |  |  | CONST64(0x0004040004040400), CONST64(0x0004040404040400), CONST64(0x0004040004040404), CONST64(0x0004040404040404), | 
| 430 |  |  |  |  |  |  | CONST64(0x0400000004000000), CONST64(0x0400000404000000), CONST64(0x0400000004000004), CONST64(0x0400000404000004), | 
| 431 |  |  |  |  |  |  | CONST64(0x0400040004000000), CONST64(0x0400040404000000), CONST64(0x0400040004000004), CONST64(0x0400040404000004), | 
| 432 |  |  |  |  |  |  | CONST64(0x0400000004000400), CONST64(0x0400000404000400), CONST64(0x0400000004000404), CONST64(0x0400000404000404), | 
| 433 |  |  |  |  |  |  | CONST64(0x0400040004000400), CONST64(0x0400040404000400), CONST64(0x0400040004000404), CONST64(0x0400040404000404), | 
| 434 |  |  |  |  |  |  | CONST64(0x0404000004000000), CONST64(0x0404000404000000), CONST64(0x0404000004000004), CONST64(0x0404000404000004), | 
| 435 |  |  |  |  |  |  | CONST64(0x0404040004000000), CONST64(0x0404040404000000), CONST64(0x0404040004000004), CONST64(0x0404040404000004), | 
| 436 |  |  |  |  |  |  | CONST64(0x0404000004000400), CONST64(0x0404000404000400), CONST64(0x0404000004000404), CONST64(0x0404000404000404), | 
| 437 |  |  |  |  |  |  | CONST64(0x0404040004000400), CONST64(0x0404040404000400), CONST64(0x0404040004000404), CONST64(0x0404040404000404), | 
| 438 |  |  |  |  |  |  | CONST64(0x0400000004040000), CONST64(0x0400000404040000), CONST64(0x0400000004040004), CONST64(0x0400000404040004), | 
| 439 |  |  |  |  |  |  | CONST64(0x0400040004040000), CONST64(0x0400040404040000), CONST64(0x0400040004040004), CONST64(0x0400040404040004), | 
| 440 |  |  |  |  |  |  | CONST64(0x0400000004040400), CONST64(0x0400000404040400), CONST64(0x0400000004040404), CONST64(0x0400000404040404), | 
| 441 |  |  |  |  |  |  | CONST64(0x0400040004040400), CONST64(0x0400040404040400), CONST64(0x0400040004040404), CONST64(0x0400040404040404), | 
| 442 |  |  |  |  |  |  | CONST64(0x0404000004040000), CONST64(0x0404000404040000), CONST64(0x0404000004040004), CONST64(0x0404000404040004), | 
| 443 |  |  |  |  |  |  | CONST64(0x0404040004040000), CONST64(0x0404040404040000), CONST64(0x0404040004040004), CONST64(0x0404040404040004), | 
| 444 |  |  |  |  |  |  | CONST64(0x0404000004040400), CONST64(0x0404000404040400), CONST64(0x0404000004040404), CONST64(0x0404000404040404), | 
| 445 |  |  |  |  |  |  | CONST64(0x0404040004040400), CONST64(0x0404040404040400), CONST64(0x0404040004040404), CONST64(0x0404040404040404) }, | 
| 446 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000200000000), CONST64(0x0000000000000002), CONST64(0x0000000200000002), | 
| 447 |  |  |  |  |  |  | CONST64(0x0000020000000000), CONST64(0x0000020200000000), CONST64(0x0000020000000002), CONST64(0x0000020200000002), | 
| 448 |  |  |  |  |  |  | CONST64(0x0000000000000200), CONST64(0x0000000200000200), CONST64(0x0000000000000202), CONST64(0x0000000200000202), | 
| 449 |  |  |  |  |  |  | CONST64(0x0000020000000200), CONST64(0x0000020200000200), CONST64(0x0000020000000202), CONST64(0x0000020200000202), | 
| 450 |  |  |  |  |  |  | CONST64(0x0002000000000000), CONST64(0x0002000200000000), CONST64(0x0002000000000002), CONST64(0x0002000200000002), | 
| 451 |  |  |  |  |  |  | CONST64(0x0002020000000000), CONST64(0x0002020200000000), CONST64(0x0002020000000002), CONST64(0x0002020200000002), | 
| 452 |  |  |  |  |  |  | CONST64(0x0002000000000200), CONST64(0x0002000200000200), CONST64(0x0002000000000202), CONST64(0x0002000200000202), | 
| 453 |  |  |  |  |  |  | CONST64(0x0002020000000200), CONST64(0x0002020200000200), CONST64(0x0002020000000202), CONST64(0x0002020200000202), | 
| 454 |  |  |  |  |  |  | CONST64(0x0000000000020000), CONST64(0x0000000200020000), CONST64(0x0000000000020002), CONST64(0x0000000200020002), | 
| 455 |  |  |  |  |  |  | CONST64(0x0000020000020000), CONST64(0x0000020200020000), CONST64(0x0000020000020002), CONST64(0x0000020200020002), | 
| 456 |  |  |  |  |  |  | CONST64(0x0000000000020200), CONST64(0x0000000200020200), CONST64(0x0000000000020202), CONST64(0x0000000200020202), | 
| 457 |  |  |  |  |  |  | CONST64(0x0000020000020200), CONST64(0x0000020200020200), CONST64(0x0000020000020202), CONST64(0x0000020200020202), | 
| 458 |  |  |  |  |  |  | CONST64(0x0002000000020000), CONST64(0x0002000200020000), CONST64(0x0002000000020002), CONST64(0x0002000200020002), | 
| 459 |  |  |  |  |  |  | CONST64(0x0002020000020000), CONST64(0x0002020200020000), CONST64(0x0002020000020002), CONST64(0x0002020200020002), | 
| 460 |  |  |  |  |  |  | CONST64(0x0002000000020200), CONST64(0x0002000200020200), CONST64(0x0002000000020202), CONST64(0x0002000200020202), | 
| 461 |  |  |  |  |  |  | CONST64(0x0002020000020200), CONST64(0x0002020200020200), CONST64(0x0002020000020202), CONST64(0x0002020200020202), | 
| 462 |  |  |  |  |  |  | CONST64(0x0200000000000000), CONST64(0x0200000200000000), CONST64(0x0200000000000002), CONST64(0x0200000200000002), | 
| 463 |  |  |  |  |  |  | CONST64(0x0200020000000000), CONST64(0x0200020200000000), CONST64(0x0200020000000002), CONST64(0x0200020200000002), | 
| 464 |  |  |  |  |  |  | CONST64(0x0200000000000200), CONST64(0x0200000200000200), CONST64(0x0200000000000202), CONST64(0x0200000200000202), | 
| 465 |  |  |  |  |  |  | CONST64(0x0200020000000200), CONST64(0x0200020200000200), CONST64(0x0200020000000202), CONST64(0x0200020200000202), | 
| 466 |  |  |  |  |  |  | CONST64(0x0202000000000000), CONST64(0x0202000200000000), CONST64(0x0202000000000002), CONST64(0x0202000200000002), | 
| 467 |  |  |  |  |  |  | CONST64(0x0202020000000000), CONST64(0x0202020200000000), CONST64(0x0202020000000002), CONST64(0x0202020200000002), | 
| 468 |  |  |  |  |  |  | CONST64(0x0202000000000200), CONST64(0x0202000200000200), CONST64(0x0202000000000202), CONST64(0x0202000200000202), | 
| 469 |  |  |  |  |  |  | CONST64(0x0202020000000200), CONST64(0x0202020200000200), CONST64(0x0202020000000202), CONST64(0x0202020200000202), | 
| 470 |  |  |  |  |  |  | CONST64(0x0200000000020000), CONST64(0x0200000200020000), CONST64(0x0200000000020002), CONST64(0x0200000200020002), | 
| 471 |  |  |  |  |  |  | CONST64(0x0200020000020000), CONST64(0x0200020200020000), CONST64(0x0200020000020002), CONST64(0x0200020200020002), | 
| 472 |  |  |  |  |  |  | CONST64(0x0200000000020200), CONST64(0x0200000200020200), CONST64(0x0200000000020202), CONST64(0x0200000200020202), | 
| 473 |  |  |  |  |  |  | CONST64(0x0200020000020200), CONST64(0x0200020200020200), CONST64(0x0200020000020202), CONST64(0x0200020200020202), | 
| 474 |  |  |  |  |  |  | CONST64(0x0202000000020000), CONST64(0x0202000200020000), CONST64(0x0202000000020002), CONST64(0x0202000200020002), | 
| 475 |  |  |  |  |  |  | CONST64(0x0202020000020000), CONST64(0x0202020200020000), CONST64(0x0202020000020002), CONST64(0x0202020200020002), | 
| 476 |  |  |  |  |  |  | CONST64(0x0202000000020200), CONST64(0x0202000200020200), CONST64(0x0202000000020202), CONST64(0x0202000200020202), | 
| 477 |  |  |  |  |  |  | CONST64(0x0202020000020200), CONST64(0x0202020200020200), CONST64(0x0202020000020202), CONST64(0x0202020200020202), | 
| 478 |  |  |  |  |  |  | CONST64(0x0000000002000000), CONST64(0x0000000202000000), CONST64(0x0000000002000002), CONST64(0x0000000202000002), | 
| 479 |  |  |  |  |  |  | CONST64(0x0000020002000000), CONST64(0x0000020202000000), CONST64(0x0000020002000002), CONST64(0x0000020202000002), | 
| 480 |  |  |  |  |  |  | CONST64(0x0000000002000200), CONST64(0x0000000202000200), CONST64(0x0000000002000202), CONST64(0x0000000202000202), | 
| 481 |  |  |  |  |  |  | CONST64(0x0000020002000200), CONST64(0x0000020202000200), CONST64(0x0000020002000202), CONST64(0x0000020202000202), | 
| 482 |  |  |  |  |  |  | CONST64(0x0002000002000000), CONST64(0x0002000202000000), CONST64(0x0002000002000002), CONST64(0x0002000202000002), | 
| 483 |  |  |  |  |  |  | CONST64(0x0002020002000000), CONST64(0x0002020202000000), CONST64(0x0002020002000002), CONST64(0x0002020202000002), | 
| 484 |  |  |  |  |  |  | CONST64(0x0002000002000200), CONST64(0x0002000202000200), CONST64(0x0002000002000202), CONST64(0x0002000202000202), | 
| 485 |  |  |  |  |  |  | CONST64(0x0002020002000200), CONST64(0x0002020202000200), CONST64(0x0002020002000202), CONST64(0x0002020202000202), | 
| 486 |  |  |  |  |  |  | CONST64(0x0000000002020000), CONST64(0x0000000202020000), CONST64(0x0000000002020002), CONST64(0x0000000202020002), | 
| 487 |  |  |  |  |  |  | CONST64(0x0000020002020000), CONST64(0x0000020202020000), CONST64(0x0000020002020002), CONST64(0x0000020202020002), | 
| 488 |  |  |  |  |  |  | CONST64(0x0000000002020200), CONST64(0x0000000202020200), CONST64(0x0000000002020202), CONST64(0x0000000202020202), | 
| 489 |  |  |  |  |  |  | CONST64(0x0000020002020200), CONST64(0x0000020202020200), CONST64(0x0000020002020202), CONST64(0x0000020202020202), | 
| 490 |  |  |  |  |  |  | CONST64(0x0002000002020000), CONST64(0x0002000202020000), CONST64(0x0002000002020002), CONST64(0x0002000202020002), | 
| 491 |  |  |  |  |  |  | CONST64(0x0002020002020000), CONST64(0x0002020202020000), CONST64(0x0002020002020002), CONST64(0x0002020202020002), | 
| 492 |  |  |  |  |  |  | CONST64(0x0002000002020200), CONST64(0x0002000202020200), CONST64(0x0002000002020202), CONST64(0x0002000202020202), | 
| 493 |  |  |  |  |  |  | CONST64(0x0002020002020200), CONST64(0x0002020202020200), CONST64(0x0002020002020202), CONST64(0x0002020202020202), | 
| 494 |  |  |  |  |  |  | CONST64(0x0200000002000000), CONST64(0x0200000202000000), CONST64(0x0200000002000002), CONST64(0x0200000202000002), | 
| 495 |  |  |  |  |  |  | CONST64(0x0200020002000000), CONST64(0x0200020202000000), CONST64(0x0200020002000002), CONST64(0x0200020202000002), | 
| 496 |  |  |  |  |  |  | CONST64(0x0200000002000200), CONST64(0x0200000202000200), CONST64(0x0200000002000202), CONST64(0x0200000202000202), | 
| 497 |  |  |  |  |  |  | CONST64(0x0200020002000200), CONST64(0x0200020202000200), CONST64(0x0200020002000202), CONST64(0x0200020202000202), | 
| 498 |  |  |  |  |  |  | CONST64(0x0202000002000000), CONST64(0x0202000202000000), CONST64(0x0202000002000002), CONST64(0x0202000202000002), | 
| 499 |  |  |  |  |  |  | CONST64(0x0202020002000000), CONST64(0x0202020202000000), CONST64(0x0202020002000002), CONST64(0x0202020202000002), | 
| 500 |  |  |  |  |  |  | CONST64(0x0202000002000200), CONST64(0x0202000202000200), CONST64(0x0202000002000202), CONST64(0x0202000202000202), | 
| 501 |  |  |  |  |  |  | CONST64(0x0202020002000200), CONST64(0x0202020202000200), CONST64(0x0202020002000202), CONST64(0x0202020202000202), | 
| 502 |  |  |  |  |  |  | CONST64(0x0200000002020000), CONST64(0x0200000202020000), CONST64(0x0200000002020002), CONST64(0x0200000202020002), | 
| 503 |  |  |  |  |  |  | CONST64(0x0200020002020000), CONST64(0x0200020202020000), CONST64(0x0200020002020002), CONST64(0x0200020202020002), | 
| 504 |  |  |  |  |  |  | CONST64(0x0200000002020200), CONST64(0x0200000202020200), CONST64(0x0200000002020202), CONST64(0x0200000202020202), | 
| 505 |  |  |  |  |  |  | CONST64(0x0200020002020200), CONST64(0x0200020202020200), CONST64(0x0200020002020202), CONST64(0x0200020202020202), | 
| 506 |  |  |  |  |  |  | CONST64(0x0202000002020000), CONST64(0x0202000202020000), CONST64(0x0202000002020002), CONST64(0x0202000202020002), | 
| 507 |  |  |  |  |  |  | CONST64(0x0202020002020000), CONST64(0x0202020202020000), CONST64(0x0202020002020002), CONST64(0x0202020202020002), | 
| 508 |  |  |  |  |  |  | CONST64(0x0202000002020200), CONST64(0x0202000202020200), CONST64(0x0202000002020202), CONST64(0x0202000202020202), | 
| 509 |  |  |  |  |  |  | CONST64(0x0202020002020200), CONST64(0x0202020202020200), CONST64(0x0202020002020202), CONST64(0x0202020202020202) }, | 
| 510 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000010000000000), CONST64(0x0000000000000100), CONST64(0x0000010000000100), | 
| 511 |  |  |  |  |  |  | CONST64(0x0001000000000000), CONST64(0x0001010000000000), CONST64(0x0001000000000100), CONST64(0x0001010000000100), | 
| 512 |  |  |  |  |  |  | CONST64(0x0000000000010000), CONST64(0x0000010000010000), CONST64(0x0000000000010100), CONST64(0x0000010000010100), | 
| 513 |  |  |  |  |  |  | CONST64(0x0001000000010000), CONST64(0x0001010000010000), CONST64(0x0001000000010100), CONST64(0x0001010000010100), | 
| 514 |  |  |  |  |  |  | CONST64(0x0100000000000000), CONST64(0x0100010000000000), CONST64(0x0100000000000100), CONST64(0x0100010000000100), | 
| 515 |  |  |  |  |  |  | CONST64(0x0101000000000000), CONST64(0x0101010000000000), CONST64(0x0101000000000100), CONST64(0x0101010000000100), | 
| 516 |  |  |  |  |  |  | CONST64(0x0100000000010000), CONST64(0x0100010000010000), CONST64(0x0100000000010100), CONST64(0x0100010000010100), | 
| 517 |  |  |  |  |  |  | CONST64(0x0101000000010000), CONST64(0x0101010000010000), CONST64(0x0101000000010100), CONST64(0x0101010000010100), | 
| 518 |  |  |  |  |  |  | CONST64(0x0000000001000000), CONST64(0x0000010001000000), CONST64(0x0000000001000100), CONST64(0x0000010001000100), | 
| 519 |  |  |  |  |  |  | CONST64(0x0001000001000000), CONST64(0x0001010001000000), CONST64(0x0001000001000100), CONST64(0x0001010001000100), | 
| 520 |  |  |  |  |  |  | CONST64(0x0000000001010000), CONST64(0x0000010001010000), CONST64(0x0000000001010100), CONST64(0x0000010001010100), | 
| 521 |  |  |  |  |  |  | CONST64(0x0001000001010000), CONST64(0x0001010001010000), CONST64(0x0001000001010100), CONST64(0x0001010001010100), | 
| 522 |  |  |  |  |  |  | CONST64(0x0100000001000000), CONST64(0x0100010001000000), CONST64(0x0100000001000100), CONST64(0x0100010001000100), | 
| 523 |  |  |  |  |  |  | CONST64(0x0101000001000000), CONST64(0x0101010001000000), CONST64(0x0101000001000100), CONST64(0x0101010001000100), | 
| 524 |  |  |  |  |  |  | CONST64(0x0100000001010000), CONST64(0x0100010001010000), CONST64(0x0100000001010100), CONST64(0x0100010001010100), | 
| 525 |  |  |  |  |  |  | CONST64(0x0101000001010000), CONST64(0x0101010001010000), CONST64(0x0101000001010100), CONST64(0x0101010001010100), | 
| 526 |  |  |  |  |  |  | CONST64(0x0000000100000000), CONST64(0x0000010100000000), CONST64(0x0000000100000100), CONST64(0x0000010100000100), | 
| 527 |  |  |  |  |  |  | CONST64(0x0001000100000000), CONST64(0x0001010100000000), CONST64(0x0001000100000100), CONST64(0x0001010100000100), | 
| 528 |  |  |  |  |  |  | CONST64(0x0000000100010000), CONST64(0x0000010100010000), CONST64(0x0000000100010100), CONST64(0x0000010100010100), | 
| 529 |  |  |  |  |  |  | CONST64(0x0001000100010000), CONST64(0x0001010100010000), CONST64(0x0001000100010100), CONST64(0x0001010100010100), | 
| 530 |  |  |  |  |  |  | CONST64(0x0100000100000000), CONST64(0x0100010100000000), CONST64(0x0100000100000100), CONST64(0x0100010100000100), | 
| 531 |  |  |  |  |  |  | CONST64(0x0101000100000000), CONST64(0x0101010100000000), CONST64(0x0101000100000100), CONST64(0x0101010100000100), | 
| 532 |  |  |  |  |  |  | CONST64(0x0100000100010000), CONST64(0x0100010100010000), CONST64(0x0100000100010100), CONST64(0x0100010100010100), | 
| 533 |  |  |  |  |  |  | CONST64(0x0101000100010000), CONST64(0x0101010100010000), CONST64(0x0101000100010100), CONST64(0x0101010100010100), | 
| 534 |  |  |  |  |  |  | CONST64(0x0000000101000000), CONST64(0x0000010101000000), CONST64(0x0000000101000100), CONST64(0x0000010101000100), | 
| 535 |  |  |  |  |  |  | CONST64(0x0001000101000000), CONST64(0x0001010101000000), CONST64(0x0001000101000100), CONST64(0x0001010101000100), | 
| 536 |  |  |  |  |  |  | CONST64(0x0000000101010000), CONST64(0x0000010101010000), CONST64(0x0000000101010100), CONST64(0x0000010101010100), | 
| 537 |  |  |  |  |  |  | CONST64(0x0001000101010000), CONST64(0x0001010101010000), CONST64(0x0001000101010100), CONST64(0x0001010101010100), | 
| 538 |  |  |  |  |  |  | CONST64(0x0100000101000000), CONST64(0x0100010101000000), CONST64(0x0100000101000100), CONST64(0x0100010101000100), | 
| 539 |  |  |  |  |  |  | CONST64(0x0101000101000000), CONST64(0x0101010101000000), CONST64(0x0101000101000100), CONST64(0x0101010101000100), | 
| 540 |  |  |  |  |  |  | CONST64(0x0100000101010000), CONST64(0x0100010101010000), CONST64(0x0100000101010100), CONST64(0x0100010101010100), | 
| 541 |  |  |  |  |  |  | CONST64(0x0101000101010000), CONST64(0x0101010101010000), CONST64(0x0101000101010100), CONST64(0x0101010101010100), | 
| 542 |  |  |  |  |  |  | CONST64(0x0000000000000001), CONST64(0x0000010000000001), CONST64(0x0000000000000101), CONST64(0x0000010000000101), | 
| 543 |  |  |  |  |  |  | CONST64(0x0001000000000001), CONST64(0x0001010000000001), CONST64(0x0001000000000101), CONST64(0x0001010000000101), | 
| 544 |  |  |  |  |  |  | CONST64(0x0000000000010001), CONST64(0x0000010000010001), CONST64(0x0000000000010101), CONST64(0x0000010000010101), | 
| 545 |  |  |  |  |  |  | CONST64(0x0001000000010001), CONST64(0x0001010000010001), CONST64(0x0001000000010101), CONST64(0x0001010000010101), | 
| 546 |  |  |  |  |  |  | CONST64(0x0100000000000001), CONST64(0x0100010000000001), CONST64(0x0100000000000101), CONST64(0x0100010000000101), | 
| 547 |  |  |  |  |  |  | CONST64(0x0101000000000001), CONST64(0x0101010000000001), CONST64(0x0101000000000101), CONST64(0x0101010000000101), | 
| 548 |  |  |  |  |  |  | CONST64(0x0100000000010001), CONST64(0x0100010000010001), CONST64(0x0100000000010101), CONST64(0x0100010000010101), | 
| 549 |  |  |  |  |  |  | CONST64(0x0101000000010001), CONST64(0x0101010000010001), CONST64(0x0101000000010101), CONST64(0x0101010000010101), | 
| 550 |  |  |  |  |  |  | CONST64(0x0000000001000001), CONST64(0x0000010001000001), CONST64(0x0000000001000101), CONST64(0x0000010001000101), | 
| 551 |  |  |  |  |  |  | CONST64(0x0001000001000001), CONST64(0x0001010001000001), CONST64(0x0001000001000101), CONST64(0x0001010001000101), | 
| 552 |  |  |  |  |  |  | CONST64(0x0000000001010001), CONST64(0x0000010001010001), CONST64(0x0000000001010101), CONST64(0x0000010001010101), | 
| 553 |  |  |  |  |  |  | CONST64(0x0001000001010001), CONST64(0x0001010001010001), CONST64(0x0001000001010101), CONST64(0x0001010001010101), | 
| 554 |  |  |  |  |  |  | CONST64(0x0100000001000001), CONST64(0x0100010001000001), CONST64(0x0100000001000101), CONST64(0x0100010001000101), | 
| 555 |  |  |  |  |  |  | CONST64(0x0101000001000001), CONST64(0x0101010001000001), CONST64(0x0101000001000101), CONST64(0x0101010001000101), | 
| 556 |  |  |  |  |  |  | CONST64(0x0100000001010001), CONST64(0x0100010001010001), CONST64(0x0100000001010101), CONST64(0x0100010001010101), | 
| 557 |  |  |  |  |  |  | CONST64(0x0101000001010001), CONST64(0x0101010001010001), CONST64(0x0101000001010101), CONST64(0x0101010001010101), | 
| 558 |  |  |  |  |  |  | CONST64(0x0000000100000001), CONST64(0x0000010100000001), CONST64(0x0000000100000101), CONST64(0x0000010100000101), | 
| 559 |  |  |  |  |  |  | CONST64(0x0001000100000001), CONST64(0x0001010100000001), CONST64(0x0001000100000101), CONST64(0x0001010100000101), | 
| 560 |  |  |  |  |  |  | CONST64(0x0000000100010001), CONST64(0x0000010100010001), CONST64(0x0000000100010101), CONST64(0x0000010100010101), | 
| 561 |  |  |  |  |  |  | CONST64(0x0001000100010001), CONST64(0x0001010100010001), CONST64(0x0001000100010101), CONST64(0x0001010100010101), | 
| 562 |  |  |  |  |  |  | CONST64(0x0100000100000001), CONST64(0x0100010100000001), CONST64(0x0100000100000101), CONST64(0x0100010100000101), | 
| 563 |  |  |  |  |  |  | CONST64(0x0101000100000001), CONST64(0x0101010100000001), CONST64(0x0101000100000101), CONST64(0x0101010100000101), | 
| 564 |  |  |  |  |  |  | CONST64(0x0100000100010001), CONST64(0x0100010100010001), CONST64(0x0100000100010101), CONST64(0x0100010100010101), | 
| 565 |  |  |  |  |  |  | CONST64(0x0101000100010001), CONST64(0x0101010100010001), CONST64(0x0101000100010101), CONST64(0x0101010100010101), | 
| 566 |  |  |  |  |  |  | CONST64(0x0000000101000001), CONST64(0x0000010101000001), CONST64(0x0000000101000101), CONST64(0x0000010101000101), | 
| 567 |  |  |  |  |  |  | CONST64(0x0001000101000001), CONST64(0x0001010101000001), CONST64(0x0001000101000101), CONST64(0x0001010101000101), | 
| 568 |  |  |  |  |  |  | CONST64(0x0000000101010001), CONST64(0x0000010101010001), CONST64(0x0000000101010101), CONST64(0x0000010101010101), | 
| 569 |  |  |  |  |  |  | CONST64(0x0001000101010001), CONST64(0x0001010101010001), CONST64(0x0001000101010101), CONST64(0x0001010101010101), | 
| 570 |  |  |  |  |  |  | CONST64(0x0100000101000001), CONST64(0x0100010101000001), CONST64(0x0100000101000101), CONST64(0x0100010101000101), | 
| 571 |  |  |  |  |  |  | CONST64(0x0101000101000001), CONST64(0x0101010101000001), CONST64(0x0101000101000101), CONST64(0x0101010101000101), | 
| 572 |  |  |  |  |  |  | CONST64(0x0100000101010001), CONST64(0x0100010101010001), CONST64(0x0100000101010101), CONST64(0x0100010101010101), | 
| 573 |  |  |  |  |  |  | CONST64(0x0101000101010001), CONST64(0x0101010101010001), CONST64(0x0101000101010101), CONST64(0x0101010101010101) }, | 
| 574 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000008000000000), CONST64(0x0000000000000080), CONST64(0x0000008000000080), | 
| 575 |  |  |  |  |  |  | CONST64(0x0000800000000000), CONST64(0x0000808000000000), CONST64(0x0000800000000080), CONST64(0x0000808000000080), | 
| 576 |  |  |  |  |  |  | CONST64(0x0000000000008000), CONST64(0x0000008000008000), CONST64(0x0000000000008080), CONST64(0x0000008000008080), | 
| 577 |  |  |  |  |  |  | CONST64(0x0000800000008000), CONST64(0x0000808000008000), CONST64(0x0000800000008080), CONST64(0x0000808000008080), | 
| 578 |  |  |  |  |  |  | CONST64(0x0080000000000000), CONST64(0x0080008000000000), CONST64(0x0080000000000080), CONST64(0x0080008000000080), | 
| 579 |  |  |  |  |  |  | CONST64(0x0080800000000000), CONST64(0x0080808000000000), CONST64(0x0080800000000080), CONST64(0x0080808000000080), | 
| 580 |  |  |  |  |  |  | CONST64(0x0080000000008000), CONST64(0x0080008000008000), CONST64(0x0080000000008080), CONST64(0x0080008000008080), | 
| 581 |  |  |  |  |  |  | CONST64(0x0080800000008000), CONST64(0x0080808000008000), CONST64(0x0080800000008080), CONST64(0x0080808000008080), | 
| 582 |  |  |  |  |  |  | CONST64(0x0000000000800000), CONST64(0x0000008000800000), CONST64(0x0000000000800080), CONST64(0x0000008000800080), | 
| 583 |  |  |  |  |  |  | CONST64(0x0000800000800000), CONST64(0x0000808000800000), CONST64(0x0000800000800080), CONST64(0x0000808000800080), | 
| 584 |  |  |  |  |  |  | CONST64(0x0000000000808000), CONST64(0x0000008000808000), CONST64(0x0000000000808080), CONST64(0x0000008000808080), | 
| 585 |  |  |  |  |  |  | CONST64(0x0000800000808000), CONST64(0x0000808000808000), CONST64(0x0000800000808080), CONST64(0x0000808000808080), | 
| 586 |  |  |  |  |  |  | CONST64(0x0080000000800000), CONST64(0x0080008000800000), CONST64(0x0080000000800080), CONST64(0x0080008000800080), | 
| 587 |  |  |  |  |  |  | CONST64(0x0080800000800000), CONST64(0x0080808000800000), CONST64(0x0080800000800080), CONST64(0x0080808000800080), | 
| 588 |  |  |  |  |  |  | CONST64(0x0080000000808000), CONST64(0x0080008000808000), CONST64(0x0080000000808080), CONST64(0x0080008000808080), | 
| 589 |  |  |  |  |  |  | CONST64(0x0080800000808000), CONST64(0x0080808000808000), CONST64(0x0080800000808080), CONST64(0x0080808000808080), | 
| 590 |  |  |  |  |  |  | CONST64(0x8000000000000000), CONST64(0x8000008000000000), CONST64(0x8000000000000080), CONST64(0x8000008000000080), | 
| 591 |  |  |  |  |  |  | CONST64(0x8000800000000000), CONST64(0x8000808000000000), CONST64(0x8000800000000080), CONST64(0x8000808000000080), | 
| 592 |  |  |  |  |  |  | CONST64(0x8000000000008000), CONST64(0x8000008000008000), CONST64(0x8000000000008080), CONST64(0x8000008000008080), | 
| 593 |  |  |  |  |  |  | CONST64(0x8000800000008000), CONST64(0x8000808000008000), CONST64(0x8000800000008080), CONST64(0x8000808000008080), | 
| 594 |  |  |  |  |  |  | CONST64(0x8080000000000000), CONST64(0x8080008000000000), CONST64(0x8080000000000080), CONST64(0x8080008000000080), | 
| 595 |  |  |  |  |  |  | CONST64(0x8080800000000000), CONST64(0x8080808000000000), CONST64(0x8080800000000080), CONST64(0x8080808000000080), | 
| 596 |  |  |  |  |  |  | CONST64(0x8080000000008000), CONST64(0x8080008000008000), CONST64(0x8080000000008080), CONST64(0x8080008000008080), | 
| 597 |  |  |  |  |  |  | CONST64(0x8080800000008000), CONST64(0x8080808000008000), CONST64(0x8080800000008080), CONST64(0x8080808000008080), | 
| 598 |  |  |  |  |  |  | CONST64(0x8000000000800000), CONST64(0x8000008000800000), CONST64(0x8000000000800080), CONST64(0x8000008000800080), | 
| 599 |  |  |  |  |  |  | CONST64(0x8000800000800000), CONST64(0x8000808000800000), CONST64(0x8000800000800080), CONST64(0x8000808000800080), | 
| 600 |  |  |  |  |  |  | CONST64(0x8000000000808000), CONST64(0x8000008000808000), CONST64(0x8000000000808080), CONST64(0x8000008000808080), | 
| 601 |  |  |  |  |  |  | CONST64(0x8000800000808000), CONST64(0x8000808000808000), CONST64(0x8000800000808080), CONST64(0x8000808000808080), | 
| 602 |  |  |  |  |  |  | CONST64(0x8080000000800000), CONST64(0x8080008000800000), CONST64(0x8080000000800080), CONST64(0x8080008000800080), | 
| 603 |  |  |  |  |  |  | CONST64(0x8080800000800000), CONST64(0x8080808000800000), CONST64(0x8080800000800080), CONST64(0x8080808000800080), | 
| 604 |  |  |  |  |  |  | CONST64(0x8080000000808000), CONST64(0x8080008000808000), CONST64(0x8080000000808080), CONST64(0x8080008000808080), | 
| 605 |  |  |  |  |  |  | CONST64(0x8080800000808000), CONST64(0x8080808000808000), CONST64(0x8080800000808080), CONST64(0x8080808000808080), | 
| 606 |  |  |  |  |  |  | CONST64(0x0000000080000000), CONST64(0x0000008080000000), CONST64(0x0000000080000080), CONST64(0x0000008080000080), | 
| 607 |  |  |  |  |  |  | CONST64(0x0000800080000000), CONST64(0x0000808080000000), CONST64(0x0000800080000080), CONST64(0x0000808080000080), | 
| 608 |  |  |  |  |  |  | CONST64(0x0000000080008000), CONST64(0x0000008080008000), CONST64(0x0000000080008080), CONST64(0x0000008080008080), | 
| 609 |  |  |  |  |  |  | CONST64(0x0000800080008000), CONST64(0x0000808080008000), CONST64(0x0000800080008080), CONST64(0x0000808080008080), | 
| 610 |  |  |  |  |  |  | CONST64(0x0080000080000000), CONST64(0x0080008080000000), CONST64(0x0080000080000080), CONST64(0x0080008080000080), | 
| 611 |  |  |  |  |  |  | CONST64(0x0080800080000000), CONST64(0x0080808080000000), CONST64(0x0080800080000080), CONST64(0x0080808080000080), | 
| 612 |  |  |  |  |  |  | CONST64(0x0080000080008000), CONST64(0x0080008080008000), CONST64(0x0080000080008080), CONST64(0x0080008080008080), | 
| 613 |  |  |  |  |  |  | CONST64(0x0080800080008000), CONST64(0x0080808080008000), CONST64(0x0080800080008080), CONST64(0x0080808080008080), | 
| 614 |  |  |  |  |  |  | CONST64(0x0000000080800000), CONST64(0x0000008080800000), CONST64(0x0000000080800080), CONST64(0x0000008080800080), | 
| 615 |  |  |  |  |  |  | CONST64(0x0000800080800000), CONST64(0x0000808080800000), CONST64(0x0000800080800080), CONST64(0x0000808080800080), | 
| 616 |  |  |  |  |  |  | CONST64(0x0000000080808000), CONST64(0x0000008080808000), CONST64(0x0000000080808080), CONST64(0x0000008080808080), | 
| 617 |  |  |  |  |  |  | CONST64(0x0000800080808000), CONST64(0x0000808080808000), CONST64(0x0000800080808080), CONST64(0x0000808080808080), | 
| 618 |  |  |  |  |  |  | CONST64(0x0080000080800000), CONST64(0x0080008080800000), CONST64(0x0080000080800080), CONST64(0x0080008080800080), | 
| 619 |  |  |  |  |  |  | CONST64(0x0080800080800000), CONST64(0x0080808080800000), CONST64(0x0080800080800080), CONST64(0x0080808080800080), | 
| 620 |  |  |  |  |  |  | CONST64(0x0080000080808000), CONST64(0x0080008080808000), CONST64(0x0080000080808080), CONST64(0x0080008080808080), | 
| 621 |  |  |  |  |  |  | CONST64(0x0080800080808000), CONST64(0x0080808080808000), CONST64(0x0080800080808080), CONST64(0x0080808080808080), | 
| 622 |  |  |  |  |  |  | CONST64(0x8000000080000000), CONST64(0x8000008080000000), CONST64(0x8000000080000080), CONST64(0x8000008080000080), | 
| 623 |  |  |  |  |  |  | CONST64(0x8000800080000000), CONST64(0x8000808080000000), CONST64(0x8000800080000080), CONST64(0x8000808080000080), | 
| 624 |  |  |  |  |  |  | CONST64(0x8000000080008000), CONST64(0x8000008080008000), CONST64(0x8000000080008080), CONST64(0x8000008080008080), | 
| 625 |  |  |  |  |  |  | CONST64(0x8000800080008000), CONST64(0x8000808080008000), CONST64(0x8000800080008080), CONST64(0x8000808080008080), | 
| 626 |  |  |  |  |  |  | CONST64(0x8080000080000000), CONST64(0x8080008080000000), CONST64(0x8080000080000080), CONST64(0x8080008080000080), | 
| 627 |  |  |  |  |  |  | CONST64(0x8080800080000000), CONST64(0x8080808080000000), CONST64(0x8080800080000080), CONST64(0x8080808080000080), | 
| 628 |  |  |  |  |  |  | CONST64(0x8080000080008000), CONST64(0x8080008080008000), CONST64(0x8080000080008080), CONST64(0x8080008080008080), | 
| 629 |  |  |  |  |  |  | CONST64(0x8080800080008000), CONST64(0x8080808080008000), CONST64(0x8080800080008080), CONST64(0x8080808080008080), | 
| 630 |  |  |  |  |  |  | CONST64(0x8000000080800000), CONST64(0x8000008080800000), CONST64(0x8000000080800080), CONST64(0x8000008080800080), | 
| 631 |  |  |  |  |  |  | CONST64(0x8000800080800000), CONST64(0x8000808080800000), CONST64(0x8000800080800080), CONST64(0x8000808080800080), | 
| 632 |  |  |  |  |  |  | CONST64(0x8000000080808000), CONST64(0x8000008080808000), CONST64(0x8000000080808080), CONST64(0x8000008080808080), | 
| 633 |  |  |  |  |  |  | CONST64(0x8000800080808000), CONST64(0x8000808080808000), CONST64(0x8000800080808080), CONST64(0x8000808080808080), | 
| 634 |  |  |  |  |  |  | CONST64(0x8080000080800000), CONST64(0x8080008080800000), CONST64(0x8080000080800080), CONST64(0x8080008080800080), | 
| 635 |  |  |  |  |  |  | CONST64(0x8080800080800000), CONST64(0x8080808080800000), CONST64(0x8080800080800080), CONST64(0x8080808080800080), | 
| 636 |  |  |  |  |  |  | CONST64(0x8080000080808000), CONST64(0x8080008080808000), CONST64(0x8080000080808080), CONST64(0x8080008080808080), | 
| 637 |  |  |  |  |  |  | CONST64(0x8080800080808000), CONST64(0x8080808080808000), CONST64(0x8080800080808080), CONST64(0x8080808080808080) }, | 
| 638 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000004000000000), CONST64(0x0000000000000040), CONST64(0x0000004000000040), | 
| 639 |  |  |  |  |  |  | CONST64(0x0000400000000000), CONST64(0x0000404000000000), CONST64(0x0000400000000040), CONST64(0x0000404000000040), | 
| 640 |  |  |  |  |  |  | CONST64(0x0000000000004000), CONST64(0x0000004000004000), CONST64(0x0000000000004040), CONST64(0x0000004000004040), | 
| 641 |  |  |  |  |  |  | CONST64(0x0000400000004000), CONST64(0x0000404000004000), CONST64(0x0000400000004040), CONST64(0x0000404000004040), | 
| 642 |  |  |  |  |  |  | CONST64(0x0040000000000000), CONST64(0x0040004000000000), CONST64(0x0040000000000040), CONST64(0x0040004000000040), | 
| 643 |  |  |  |  |  |  | CONST64(0x0040400000000000), CONST64(0x0040404000000000), CONST64(0x0040400000000040), CONST64(0x0040404000000040), | 
| 644 |  |  |  |  |  |  | CONST64(0x0040000000004000), CONST64(0x0040004000004000), CONST64(0x0040000000004040), CONST64(0x0040004000004040), | 
| 645 |  |  |  |  |  |  | CONST64(0x0040400000004000), CONST64(0x0040404000004000), CONST64(0x0040400000004040), CONST64(0x0040404000004040), | 
| 646 |  |  |  |  |  |  | CONST64(0x0000000000400000), CONST64(0x0000004000400000), CONST64(0x0000000000400040), CONST64(0x0000004000400040), | 
| 647 |  |  |  |  |  |  | CONST64(0x0000400000400000), CONST64(0x0000404000400000), CONST64(0x0000400000400040), CONST64(0x0000404000400040), | 
| 648 |  |  |  |  |  |  | CONST64(0x0000000000404000), CONST64(0x0000004000404000), CONST64(0x0000000000404040), CONST64(0x0000004000404040), | 
| 649 |  |  |  |  |  |  | CONST64(0x0000400000404000), CONST64(0x0000404000404000), CONST64(0x0000400000404040), CONST64(0x0000404000404040), | 
| 650 |  |  |  |  |  |  | CONST64(0x0040000000400000), CONST64(0x0040004000400000), CONST64(0x0040000000400040), CONST64(0x0040004000400040), | 
| 651 |  |  |  |  |  |  | CONST64(0x0040400000400000), CONST64(0x0040404000400000), CONST64(0x0040400000400040), CONST64(0x0040404000400040), | 
| 652 |  |  |  |  |  |  | CONST64(0x0040000000404000), CONST64(0x0040004000404000), CONST64(0x0040000000404040), CONST64(0x0040004000404040), | 
| 653 |  |  |  |  |  |  | CONST64(0x0040400000404000), CONST64(0x0040404000404000), CONST64(0x0040400000404040), CONST64(0x0040404000404040), | 
| 654 |  |  |  |  |  |  | CONST64(0x4000000000000000), CONST64(0x4000004000000000), CONST64(0x4000000000000040), CONST64(0x4000004000000040), | 
| 655 |  |  |  |  |  |  | CONST64(0x4000400000000000), CONST64(0x4000404000000000), CONST64(0x4000400000000040), CONST64(0x4000404000000040), | 
| 656 |  |  |  |  |  |  | CONST64(0x4000000000004000), CONST64(0x4000004000004000), CONST64(0x4000000000004040), CONST64(0x4000004000004040), | 
| 657 |  |  |  |  |  |  | CONST64(0x4000400000004000), CONST64(0x4000404000004000), CONST64(0x4000400000004040), CONST64(0x4000404000004040), | 
| 658 |  |  |  |  |  |  | CONST64(0x4040000000000000), CONST64(0x4040004000000000), CONST64(0x4040000000000040), CONST64(0x4040004000000040), | 
| 659 |  |  |  |  |  |  | CONST64(0x4040400000000000), CONST64(0x4040404000000000), CONST64(0x4040400000000040), CONST64(0x4040404000000040), | 
| 660 |  |  |  |  |  |  | CONST64(0x4040000000004000), CONST64(0x4040004000004000), CONST64(0x4040000000004040), CONST64(0x4040004000004040), | 
| 661 |  |  |  |  |  |  | CONST64(0x4040400000004000), CONST64(0x4040404000004000), CONST64(0x4040400000004040), CONST64(0x4040404000004040), | 
| 662 |  |  |  |  |  |  | CONST64(0x4000000000400000), CONST64(0x4000004000400000), CONST64(0x4000000000400040), CONST64(0x4000004000400040), | 
| 663 |  |  |  |  |  |  | CONST64(0x4000400000400000), CONST64(0x4000404000400000), CONST64(0x4000400000400040), CONST64(0x4000404000400040), | 
| 664 |  |  |  |  |  |  | CONST64(0x4000000000404000), CONST64(0x4000004000404000), CONST64(0x4000000000404040), CONST64(0x4000004000404040), | 
| 665 |  |  |  |  |  |  | CONST64(0x4000400000404000), CONST64(0x4000404000404000), CONST64(0x4000400000404040), CONST64(0x4000404000404040), | 
| 666 |  |  |  |  |  |  | CONST64(0x4040000000400000), CONST64(0x4040004000400000), CONST64(0x4040000000400040), CONST64(0x4040004000400040), | 
| 667 |  |  |  |  |  |  | CONST64(0x4040400000400000), CONST64(0x4040404000400000), CONST64(0x4040400000400040), CONST64(0x4040404000400040), | 
| 668 |  |  |  |  |  |  | CONST64(0x4040000000404000), CONST64(0x4040004000404000), CONST64(0x4040000000404040), CONST64(0x4040004000404040), | 
| 669 |  |  |  |  |  |  | CONST64(0x4040400000404000), CONST64(0x4040404000404000), CONST64(0x4040400000404040), CONST64(0x4040404000404040), | 
| 670 |  |  |  |  |  |  | CONST64(0x0000000040000000), CONST64(0x0000004040000000), CONST64(0x0000000040000040), CONST64(0x0000004040000040), | 
| 671 |  |  |  |  |  |  | CONST64(0x0000400040000000), CONST64(0x0000404040000000), CONST64(0x0000400040000040), CONST64(0x0000404040000040), | 
| 672 |  |  |  |  |  |  | CONST64(0x0000000040004000), CONST64(0x0000004040004000), CONST64(0x0000000040004040), CONST64(0x0000004040004040), | 
| 673 |  |  |  |  |  |  | CONST64(0x0000400040004000), CONST64(0x0000404040004000), CONST64(0x0000400040004040), CONST64(0x0000404040004040), | 
| 674 |  |  |  |  |  |  | CONST64(0x0040000040000000), CONST64(0x0040004040000000), CONST64(0x0040000040000040), CONST64(0x0040004040000040), | 
| 675 |  |  |  |  |  |  | CONST64(0x0040400040000000), CONST64(0x0040404040000000), CONST64(0x0040400040000040), CONST64(0x0040404040000040), | 
| 676 |  |  |  |  |  |  | CONST64(0x0040000040004000), CONST64(0x0040004040004000), CONST64(0x0040000040004040), CONST64(0x0040004040004040), | 
| 677 |  |  |  |  |  |  | CONST64(0x0040400040004000), CONST64(0x0040404040004000), CONST64(0x0040400040004040), CONST64(0x0040404040004040), | 
| 678 |  |  |  |  |  |  | CONST64(0x0000000040400000), CONST64(0x0000004040400000), CONST64(0x0000000040400040), CONST64(0x0000004040400040), | 
| 679 |  |  |  |  |  |  | CONST64(0x0000400040400000), CONST64(0x0000404040400000), CONST64(0x0000400040400040), CONST64(0x0000404040400040), | 
| 680 |  |  |  |  |  |  | CONST64(0x0000000040404000), CONST64(0x0000004040404000), CONST64(0x0000000040404040), CONST64(0x0000004040404040), | 
| 681 |  |  |  |  |  |  | CONST64(0x0000400040404000), CONST64(0x0000404040404000), CONST64(0x0000400040404040), CONST64(0x0000404040404040), | 
| 682 |  |  |  |  |  |  | CONST64(0x0040000040400000), CONST64(0x0040004040400000), CONST64(0x0040000040400040), CONST64(0x0040004040400040), | 
| 683 |  |  |  |  |  |  | CONST64(0x0040400040400000), CONST64(0x0040404040400000), CONST64(0x0040400040400040), CONST64(0x0040404040400040), | 
| 684 |  |  |  |  |  |  | CONST64(0x0040000040404000), CONST64(0x0040004040404000), CONST64(0x0040000040404040), CONST64(0x0040004040404040), | 
| 685 |  |  |  |  |  |  | CONST64(0x0040400040404000), CONST64(0x0040404040404000), CONST64(0x0040400040404040), CONST64(0x0040404040404040), | 
| 686 |  |  |  |  |  |  | CONST64(0x4000000040000000), CONST64(0x4000004040000000), CONST64(0x4000000040000040), CONST64(0x4000004040000040), | 
| 687 |  |  |  |  |  |  | CONST64(0x4000400040000000), CONST64(0x4000404040000000), CONST64(0x4000400040000040), CONST64(0x4000404040000040), | 
| 688 |  |  |  |  |  |  | CONST64(0x4000000040004000), CONST64(0x4000004040004000), CONST64(0x4000000040004040), CONST64(0x4000004040004040), | 
| 689 |  |  |  |  |  |  | CONST64(0x4000400040004000), CONST64(0x4000404040004000), CONST64(0x4000400040004040), CONST64(0x4000404040004040), | 
| 690 |  |  |  |  |  |  | CONST64(0x4040000040000000), CONST64(0x4040004040000000), CONST64(0x4040000040000040), CONST64(0x4040004040000040), | 
| 691 |  |  |  |  |  |  | CONST64(0x4040400040000000), CONST64(0x4040404040000000), CONST64(0x4040400040000040), CONST64(0x4040404040000040), | 
| 692 |  |  |  |  |  |  | CONST64(0x4040000040004000), CONST64(0x4040004040004000), CONST64(0x4040000040004040), CONST64(0x4040004040004040), | 
| 693 |  |  |  |  |  |  | CONST64(0x4040400040004000), CONST64(0x4040404040004000), CONST64(0x4040400040004040), CONST64(0x4040404040004040), | 
| 694 |  |  |  |  |  |  | CONST64(0x4000000040400000), CONST64(0x4000004040400000), CONST64(0x4000000040400040), CONST64(0x4000004040400040), | 
| 695 |  |  |  |  |  |  | CONST64(0x4000400040400000), CONST64(0x4000404040400000), CONST64(0x4000400040400040), CONST64(0x4000404040400040), | 
| 696 |  |  |  |  |  |  | CONST64(0x4000000040404000), CONST64(0x4000004040404000), CONST64(0x4000000040404040), CONST64(0x4000004040404040), | 
| 697 |  |  |  |  |  |  | CONST64(0x4000400040404000), CONST64(0x4000404040404000), CONST64(0x4000400040404040), CONST64(0x4000404040404040), | 
| 698 |  |  |  |  |  |  | CONST64(0x4040000040400000), CONST64(0x4040004040400000), CONST64(0x4040000040400040), CONST64(0x4040004040400040), | 
| 699 |  |  |  |  |  |  | CONST64(0x4040400040400000), CONST64(0x4040404040400000), CONST64(0x4040400040400040), CONST64(0x4040404040400040), | 
| 700 |  |  |  |  |  |  | CONST64(0x4040000040404000), CONST64(0x4040004040404000), CONST64(0x4040000040404040), CONST64(0x4040004040404040), | 
| 701 |  |  |  |  |  |  | CONST64(0x4040400040404000), CONST64(0x4040404040404000), CONST64(0x4040400040404040), CONST64(0x4040404040404040) }, | 
| 702 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000002000000000), CONST64(0x0000000000000020), CONST64(0x0000002000000020), | 
| 703 |  |  |  |  |  |  | CONST64(0x0000200000000000), CONST64(0x0000202000000000), CONST64(0x0000200000000020), CONST64(0x0000202000000020), | 
| 704 |  |  |  |  |  |  | CONST64(0x0000000000002000), CONST64(0x0000002000002000), CONST64(0x0000000000002020), CONST64(0x0000002000002020), | 
| 705 |  |  |  |  |  |  | CONST64(0x0000200000002000), CONST64(0x0000202000002000), CONST64(0x0000200000002020), CONST64(0x0000202000002020), | 
| 706 |  |  |  |  |  |  | CONST64(0x0020000000000000), CONST64(0x0020002000000000), CONST64(0x0020000000000020), CONST64(0x0020002000000020), | 
| 707 |  |  |  |  |  |  | CONST64(0x0020200000000000), CONST64(0x0020202000000000), CONST64(0x0020200000000020), CONST64(0x0020202000000020), | 
| 708 |  |  |  |  |  |  | CONST64(0x0020000000002000), CONST64(0x0020002000002000), CONST64(0x0020000000002020), CONST64(0x0020002000002020), | 
| 709 |  |  |  |  |  |  | CONST64(0x0020200000002000), CONST64(0x0020202000002000), CONST64(0x0020200000002020), CONST64(0x0020202000002020), | 
| 710 |  |  |  |  |  |  | CONST64(0x0000000000200000), CONST64(0x0000002000200000), CONST64(0x0000000000200020), CONST64(0x0000002000200020), | 
| 711 |  |  |  |  |  |  | CONST64(0x0000200000200000), CONST64(0x0000202000200000), CONST64(0x0000200000200020), CONST64(0x0000202000200020), | 
| 712 |  |  |  |  |  |  | CONST64(0x0000000000202000), CONST64(0x0000002000202000), CONST64(0x0000000000202020), CONST64(0x0000002000202020), | 
| 713 |  |  |  |  |  |  | CONST64(0x0000200000202000), CONST64(0x0000202000202000), CONST64(0x0000200000202020), CONST64(0x0000202000202020), | 
| 714 |  |  |  |  |  |  | CONST64(0x0020000000200000), CONST64(0x0020002000200000), CONST64(0x0020000000200020), CONST64(0x0020002000200020), | 
| 715 |  |  |  |  |  |  | CONST64(0x0020200000200000), CONST64(0x0020202000200000), CONST64(0x0020200000200020), CONST64(0x0020202000200020), | 
| 716 |  |  |  |  |  |  | CONST64(0x0020000000202000), CONST64(0x0020002000202000), CONST64(0x0020000000202020), CONST64(0x0020002000202020), | 
| 717 |  |  |  |  |  |  | CONST64(0x0020200000202000), CONST64(0x0020202000202000), CONST64(0x0020200000202020), CONST64(0x0020202000202020), | 
| 718 |  |  |  |  |  |  | CONST64(0x2000000000000000), CONST64(0x2000002000000000), CONST64(0x2000000000000020), CONST64(0x2000002000000020), | 
| 719 |  |  |  |  |  |  | CONST64(0x2000200000000000), CONST64(0x2000202000000000), CONST64(0x2000200000000020), CONST64(0x2000202000000020), | 
| 720 |  |  |  |  |  |  | CONST64(0x2000000000002000), CONST64(0x2000002000002000), CONST64(0x2000000000002020), CONST64(0x2000002000002020), | 
| 721 |  |  |  |  |  |  | CONST64(0x2000200000002000), CONST64(0x2000202000002000), CONST64(0x2000200000002020), CONST64(0x2000202000002020), | 
| 722 |  |  |  |  |  |  | CONST64(0x2020000000000000), CONST64(0x2020002000000000), CONST64(0x2020000000000020), CONST64(0x2020002000000020), | 
| 723 |  |  |  |  |  |  | CONST64(0x2020200000000000), CONST64(0x2020202000000000), CONST64(0x2020200000000020), CONST64(0x2020202000000020), | 
| 724 |  |  |  |  |  |  | CONST64(0x2020000000002000), CONST64(0x2020002000002000), CONST64(0x2020000000002020), CONST64(0x2020002000002020), | 
| 725 |  |  |  |  |  |  | CONST64(0x2020200000002000), CONST64(0x2020202000002000), CONST64(0x2020200000002020), CONST64(0x2020202000002020), | 
| 726 |  |  |  |  |  |  | CONST64(0x2000000000200000), CONST64(0x2000002000200000), CONST64(0x2000000000200020), CONST64(0x2000002000200020), | 
| 727 |  |  |  |  |  |  | CONST64(0x2000200000200000), CONST64(0x2000202000200000), CONST64(0x2000200000200020), CONST64(0x2000202000200020), | 
| 728 |  |  |  |  |  |  | CONST64(0x2000000000202000), CONST64(0x2000002000202000), CONST64(0x2000000000202020), CONST64(0x2000002000202020), | 
| 729 |  |  |  |  |  |  | CONST64(0x2000200000202000), CONST64(0x2000202000202000), CONST64(0x2000200000202020), CONST64(0x2000202000202020), | 
| 730 |  |  |  |  |  |  | CONST64(0x2020000000200000), CONST64(0x2020002000200000), CONST64(0x2020000000200020), CONST64(0x2020002000200020), | 
| 731 |  |  |  |  |  |  | CONST64(0x2020200000200000), CONST64(0x2020202000200000), CONST64(0x2020200000200020), CONST64(0x2020202000200020), | 
| 732 |  |  |  |  |  |  | CONST64(0x2020000000202000), CONST64(0x2020002000202000), CONST64(0x2020000000202020), CONST64(0x2020002000202020), | 
| 733 |  |  |  |  |  |  | CONST64(0x2020200000202000), CONST64(0x2020202000202000), CONST64(0x2020200000202020), CONST64(0x2020202000202020), | 
| 734 |  |  |  |  |  |  | CONST64(0x0000000020000000), CONST64(0x0000002020000000), CONST64(0x0000000020000020), CONST64(0x0000002020000020), | 
| 735 |  |  |  |  |  |  | CONST64(0x0000200020000000), CONST64(0x0000202020000000), CONST64(0x0000200020000020), CONST64(0x0000202020000020), | 
| 736 |  |  |  |  |  |  | CONST64(0x0000000020002000), CONST64(0x0000002020002000), CONST64(0x0000000020002020), CONST64(0x0000002020002020), | 
| 737 |  |  |  |  |  |  | CONST64(0x0000200020002000), CONST64(0x0000202020002000), CONST64(0x0000200020002020), CONST64(0x0000202020002020), | 
| 738 |  |  |  |  |  |  | CONST64(0x0020000020000000), CONST64(0x0020002020000000), CONST64(0x0020000020000020), CONST64(0x0020002020000020), | 
| 739 |  |  |  |  |  |  | CONST64(0x0020200020000000), CONST64(0x0020202020000000), CONST64(0x0020200020000020), CONST64(0x0020202020000020), | 
| 740 |  |  |  |  |  |  | CONST64(0x0020000020002000), CONST64(0x0020002020002000), CONST64(0x0020000020002020), CONST64(0x0020002020002020), | 
| 741 |  |  |  |  |  |  | CONST64(0x0020200020002000), CONST64(0x0020202020002000), CONST64(0x0020200020002020), CONST64(0x0020202020002020), | 
| 742 |  |  |  |  |  |  | CONST64(0x0000000020200000), CONST64(0x0000002020200000), CONST64(0x0000000020200020), CONST64(0x0000002020200020), | 
| 743 |  |  |  |  |  |  | CONST64(0x0000200020200000), CONST64(0x0000202020200000), CONST64(0x0000200020200020), CONST64(0x0000202020200020), | 
| 744 |  |  |  |  |  |  | CONST64(0x0000000020202000), CONST64(0x0000002020202000), CONST64(0x0000000020202020), CONST64(0x0000002020202020), | 
| 745 |  |  |  |  |  |  | CONST64(0x0000200020202000), CONST64(0x0000202020202000), CONST64(0x0000200020202020), CONST64(0x0000202020202020), | 
| 746 |  |  |  |  |  |  | CONST64(0x0020000020200000), CONST64(0x0020002020200000), CONST64(0x0020000020200020), CONST64(0x0020002020200020), | 
| 747 |  |  |  |  |  |  | CONST64(0x0020200020200000), CONST64(0x0020202020200000), CONST64(0x0020200020200020), CONST64(0x0020202020200020), | 
| 748 |  |  |  |  |  |  | CONST64(0x0020000020202000), CONST64(0x0020002020202000), CONST64(0x0020000020202020), CONST64(0x0020002020202020), | 
| 749 |  |  |  |  |  |  | CONST64(0x0020200020202000), CONST64(0x0020202020202000), CONST64(0x0020200020202020), CONST64(0x0020202020202020), | 
| 750 |  |  |  |  |  |  | CONST64(0x2000000020000000), CONST64(0x2000002020000000), CONST64(0x2000000020000020), CONST64(0x2000002020000020), | 
| 751 |  |  |  |  |  |  | CONST64(0x2000200020000000), CONST64(0x2000202020000000), CONST64(0x2000200020000020), CONST64(0x2000202020000020), | 
| 752 |  |  |  |  |  |  | CONST64(0x2000000020002000), CONST64(0x2000002020002000), CONST64(0x2000000020002020), CONST64(0x2000002020002020), | 
| 753 |  |  |  |  |  |  | CONST64(0x2000200020002000), CONST64(0x2000202020002000), CONST64(0x2000200020002020), CONST64(0x2000202020002020), | 
| 754 |  |  |  |  |  |  | CONST64(0x2020000020000000), CONST64(0x2020002020000000), CONST64(0x2020000020000020), CONST64(0x2020002020000020), | 
| 755 |  |  |  |  |  |  | CONST64(0x2020200020000000), CONST64(0x2020202020000000), CONST64(0x2020200020000020), CONST64(0x2020202020000020), | 
| 756 |  |  |  |  |  |  | CONST64(0x2020000020002000), CONST64(0x2020002020002000), CONST64(0x2020000020002020), CONST64(0x2020002020002020), | 
| 757 |  |  |  |  |  |  | CONST64(0x2020200020002000), CONST64(0x2020202020002000), CONST64(0x2020200020002020), CONST64(0x2020202020002020), | 
| 758 |  |  |  |  |  |  | CONST64(0x2000000020200000), CONST64(0x2000002020200000), CONST64(0x2000000020200020), CONST64(0x2000002020200020), | 
| 759 |  |  |  |  |  |  | CONST64(0x2000200020200000), CONST64(0x2000202020200000), CONST64(0x2000200020200020), CONST64(0x2000202020200020), | 
| 760 |  |  |  |  |  |  | CONST64(0x2000000020202000), CONST64(0x2000002020202000), CONST64(0x2000000020202020), CONST64(0x2000002020202020), | 
| 761 |  |  |  |  |  |  | CONST64(0x2000200020202000), CONST64(0x2000202020202000), CONST64(0x2000200020202020), CONST64(0x2000202020202020), | 
| 762 |  |  |  |  |  |  | CONST64(0x2020000020200000), CONST64(0x2020002020200000), CONST64(0x2020000020200020), CONST64(0x2020002020200020), | 
| 763 |  |  |  |  |  |  | CONST64(0x2020200020200000), CONST64(0x2020202020200000), CONST64(0x2020200020200020), CONST64(0x2020202020200020), | 
| 764 |  |  |  |  |  |  | CONST64(0x2020000020202000), CONST64(0x2020002020202000), CONST64(0x2020000020202020), CONST64(0x2020002020202020), | 
| 765 |  |  |  |  |  |  | CONST64(0x2020200020202000), CONST64(0x2020202020202000), CONST64(0x2020200020202020), CONST64(0x2020202020202020) } | 
| 766 |  |  |  |  |  |  | }; | 
| 767 |  |  |  |  |  |  |  | 
| 768 |  |  |  |  |  |  | static const uint64 des_fp[8][256] = { | 
| 769 |  |  |  |  |  |  |  | 
| 770 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000008000000000), CONST64(0x0000000002000000), CONST64(0x0000008002000000), | 
| 771 |  |  |  |  |  |  | CONST64(0x0000000000020000), CONST64(0x0000008000020000), CONST64(0x0000000002020000), CONST64(0x0000008002020000), | 
| 772 |  |  |  |  |  |  | CONST64(0x0000000000000200), CONST64(0x0000008000000200), CONST64(0x0000000002000200), CONST64(0x0000008002000200), | 
| 773 |  |  |  |  |  |  | CONST64(0x0000000000020200), CONST64(0x0000008000020200), CONST64(0x0000000002020200), CONST64(0x0000008002020200), | 
| 774 |  |  |  |  |  |  | CONST64(0x0000000000000002), CONST64(0x0000008000000002), CONST64(0x0000000002000002), CONST64(0x0000008002000002), | 
| 775 |  |  |  |  |  |  | CONST64(0x0000000000020002), CONST64(0x0000008000020002), CONST64(0x0000000002020002), CONST64(0x0000008002020002), | 
| 776 |  |  |  |  |  |  | CONST64(0x0000000000000202), CONST64(0x0000008000000202), CONST64(0x0000000002000202), CONST64(0x0000008002000202), | 
| 777 |  |  |  |  |  |  | CONST64(0x0000000000020202), CONST64(0x0000008000020202), CONST64(0x0000000002020202), CONST64(0x0000008002020202), | 
| 778 |  |  |  |  |  |  | CONST64(0x0200000000000000), CONST64(0x0200008000000000), CONST64(0x0200000002000000), CONST64(0x0200008002000000), | 
| 779 |  |  |  |  |  |  | CONST64(0x0200000000020000), CONST64(0x0200008000020000), CONST64(0x0200000002020000), CONST64(0x0200008002020000), | 
| 780 |  |  |  |  |  |  | CONST64(0x0200000000000200), CONST64(0x0200008000000200), CONST64(0x0200000002000200), CONST64(0x0200008002000200), | 
| 781 |  |  |  |  |  |  | CONST64(0x0200000000020200), CONST64(0x0200008000020200), CONST64(0x0200000002020200), CONST64(0x0200008002020200), | 
| 782 |  |  |  |  |  |  | CONST64(0x0200000000000002), CONST64(0x0200008000000002), CONST64(0x0200000002000002), CONST64(0x0200008002000002), | 
| 783 |  |  |  |  |  |  | CONST64(0x0200000000020002), CONST64(0x0200008000020002), CONST64(0x0200000002020002), CONST64(0x0200008002020002), | 
| 784 |  |  |  |  |  |  | CONST64(0x0200000000000202), CONST64(0x0200008000000202), CONST64(0x0200000002000202), CONST64(0x0200008002000202), | 
| 785 |  |  |  |  |  |  | CONST64(0x0200000000020202), CONST64(0x0200008000020202), CONST64(0x0200000002020202), CONST64(0x0200008002020202), | 
| 786 |  |  |  |  |  |  | CONST64(0x0002000000000000), CONST64(0x0002008000000000), CONST64(0x0002000002000000), CONST64(0x0002008002000000), | 
| 787 |  |  |  |  |  |  | CONST64(0x0002000000020000), CONST64(0x0002008000020000), CONST64(0x0002000002020000), CONST64(0x0002008002020000), | 
| 788 |  |  |  |  |  |  | CONST64(0x0002000000000200), CONST64(0x0002008000000200), CONST64(0x0002000002000200), CONST64(0x0002008002000200), | 
| 789 |  |  |  |  |  |  | CONST64(0x0002000000020200), CONST64(0x0002008000020200), CONST64(0x0002000002020200), CONST64(0x0002008002020200), | 
| 790 |  |  |  |  |  |  | CONST64(0x0002000000000002), CONST64(0x0002008000000002), CONST64(0x0002000002000002), CONST64(0x0002008002000002), | 
| 791 |  |  |  |  |  |  | CONST64(0x0002000000020002), CONST64(0x0002008000020002), CONST64(0x0002000002020002), CONST64(0x0002008002020002), | 
| 792 |  |  |  |  |  |  | CONST64(0x0002000000000202), CONST64(0x0002008000000202), CONST64(0x0002000002000202), CONST64(0x0002008002000202), | 
| 793 |  |  |  |  |  |  | CONST64(0x0002000000020202), CONST64(0x0002008000020202), CONST64(0x0002000002020202), CONST64(0x0002008002020202), | 
| 794 |  |  |  |  |  |  | CONST64(0x0202000000000000), CONST64(0x0202008000000000), CONST64(0x0202000002000000), CONST64(0x0202008002000000), | 
| 795 |  |  |  |  |  |  | CONST64(0x0202000000020000), CONST64(0x0202008000020000), CONST64(0x0202000002020000), CONST64(0x0202008002020000), | 
| 796 |  |  |  |  |  |  | CONST64(0x0202000000000200), CONST64(0x0202008000000200), CONST64(0x0202000002000200), CONST64(0x0202008002000200), | 
| 797 |  |  |  |  |  |  | CONST64(0x0202000000020200), CONST64(0x0202008000020200), CONST64(0x0202000002020200), CONST64(0x0202008002020200), | 
| 798 |  |  |  |  |  |  | CONST64(0x0202000000000002), CONST64(0x0202008000000002), CONST64(0x0202000002000002), CONST64(0x0202008002000002), | 
| 799 |  |  |  |  |  |  | CONST64(0x0202000000020002), CONST64(0x0202008000020002), CONST64(0x0202000002020002), CONST64(0x0202008002020002), | 
| 800 |  |  |  |  |  |  | CONST64(0x0202000000000202), CONST64(0x0202008000000202), CONST64(0x0202000002000202), CONST64(0x0202008002000202), | 
| 801 |  |  |  |  |  |  | CONST64(0x0202000000020202), CONST64(0x0202008000020202), CONST64(0x0202000002020202), CONST64(0x0202008002020202), | 
| 802 |  |  |  |  |  |  | CONST64(0x0000020000000000), CONST64(0x0000028000000000), CONST64(0x0000020002000000), CONST64(0x0000028002000000), | 
| 803 |  |  |  |  |  |  | CONST64(0x0000020000020000), CONST64(0x0000028000020000), CONST64(0x0000020002020000), CONST64(0x0000028002020000), | 
| 804 |  |  |  |  |  |  | CONST64(0x0000020000000200), CONST64(0x0000028000000200), CONST64(0x0000020002000200), CONST64(0x0000028002000200), | 
| 805 |  |  |  |  |  |  | CONST64(0x0000020000020200), CONST64(0x0000028000020200), CONST64(0x0000020002020200), CONST64(0x0000028002020200), | 
| 806 |  |  |  |  |  |  | CONST64(0x0000020000000002), CONST64(0x0000028000000002), CONST64(0x0000020002000002), CONST64(0x0000028002000002), | 
| 807 |  |  |  |  |  |  | CONST64(0x0000020000020002), CONST64(0x0000028000020002), CONST64(0x0000020002020002), CONST64(0x0000028002020002), | 
| 808 |  |  |  |  |  |  | CONST64(0x0000020000000202), CONST64(0x0000028000000202), CONST64(0x0000020002000202), CONST64(0x0000028002000202), | 
| 809 |  |  |  |  |  |  | CONST64(0x0000020000020202), CONST64(0x0000028000020202), CONST64(0x0000020002020202), CONST64(0x0000028002020202), | 
| 810 |  |  |  |  |  |  | CONST64(0x0200020000000000), CONST64(0x0200028000000000), CONST64(0x0200020002000000), CONST64(0x0200028002000000), | 
| 811 |  |  |  |  |  |  | CONST64(0x0200020000020000), CONST64(0x0200028000020000), CONST64(0x0200020002020000), CONST64(0x0200028002020000), | 
| 812 |  |  |  |  |  |  | CONST64(0x0200020000000200), CONST64(0x0200028000000200), CONST64(0x0200020002000200), CONST64(0x0200028002000200), | 
| 813 |  |  |  |  |  |  | CONST64(0x0200020000020200), CONST64(0x0200028000020200), CONST64(0x0200020002020200), CONST64(0x0200028002020200), | 
| 814 |  |  |  |  |  |  | CONST64(0x0200020000000002), CONST64(0x0200028000000002), CONST64(0x0200020002000002), CONST64(0x0200028002000002), | 
| 815 |  |  |  |  |  |  | CONST64(0x0200020000020002), CONST64(0x0200028000020002), CONST64(0x0200020002020002), CONST64(0x0200028002020002), | 
| 816 |  |  |  |  |  |  | CONST64(0x0200020000000202), CONST64(0x0200028000000202), CONST64(0x0200020002000202), CONST64(0x0200028002000202), | 
| 817 |  |  |  |  |  |  | CONST64(0x0200020000020202), CONST64(0x0200028000020202), CONST64(0x0200020002020202), CONST64(0x0200028002020202), | 
| 818 |  |  |  |  |  |  | CONST64(0x0002020000000000), CONST64(0x0002028000000000), CONST64(0x0002020002000000), CONST64(0x0002028002000000), | 
| 819 |  |  |  |  |  |  | CONST64(0x0002020000020000), CONST64(0x0002028000020000), CONST64(0x0002020002020000), CONST64(0x0002028002020000), | 
| 820 |  |  |  |  |  |  | CONST64(0x0002020000000200), CONST64(0x0002028000000200), CONST64(0x0002020002000200), CONST64(0x0002028002000200), | 
| 821 |  |  |  |  |  |  | CONST64(0x0002020000020200), CONST64(0x0002028000020200), CONST64(0x0002020002020200), CONST64(0x0002028002020200), | 
| 822 |  |  |  |  |  |  | CONST64(0x0002020000000002), CONST64(0x0002028000000002), CONST64(0x0002020002000002), CONST64(0x0002028002000002), | 
| 823 |  |  |  |  |  |  | CONST64(0x0002020000020002), CONST64(0x0002028000020002), CONST64(0x0002020002020002), CONST64(0x0002028002020002), | 
| 824 |  |  |  |  |  |  | CONST64(0x0002020000000202), CONST64(0x0002028000000202), CONST64(0x0002020002000202), CONST64(0x0002028002000202), | 
| 825 |  |  |  |  |  |  | CONST64(0x0002020000020202), CONST64(0x0002028000020202), CONST64(0x0002020002020202), CONST64(0x0002028002020202), | 
| 826 |  |  |  |  |  |  | CONST64(0x0202020000000000), CONST64(0x0202028000000000), CONST64(0x0202020002000000), CONST64(0x0202028002000000), | 
| 827 |  |  |  |  |  |  | CONST64(0x0202020000020000), CONST64(0x0202028000020000), CONST64(0x0202020002020000), CONST64(0x0202028002020000), | 
| 828 |  |  |  |  |  |  | CONST64(0x0202020000000200), CONST64(0x0202028000000200), CONST64(0x0202020002000200), CONST64(0x0202028002000200), | 
| 829 |  |  |  |  |  |  | CONST64(0x0202020000020200), CONST64(0x0202028000020200), CONST64(0x0202020002020200), CONST64(0x0202028002020200), | 
| 830 |  |  |  |  |  |  | CONST64(0x0202020000000002), CONST64(0x0202028000000002), CONST64(0x0202020002000002), CONST64(0x0202028002000002), | 
| 831 |  |  |  |  |  |  | CONST64(0x0202020000020002), CONST64(0x0202028000020002), CONST64(0x0202020002020002), CONST64(0x0202028002020002), | 
| 832 |  |  |  |  |  |  | CONST64(0x0202020000000202), CONST64(0x0202028000000202), CONST64(0x0202020002000202), CONST64(0x0202028002000202), | 
| 833 |  |  |  |  |  |  | CONST64(0x0202020000020202), CONST64(0x0202028000020202), CONST64(0x0202020002020202), CONST64(0x0202028002020202) }, | 
| 834 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000200000000), CONST64(0x0000000008000000), CONST64(0x0000000208000000), | 
| 835 |  |  |  |  |  |  | CONST64(0x0000000000080000), CONST64(0x0000000200080000), CONST64(0x0000000008080000), CONST64(0x0000000208080000), | 
| 836 |  |  |  |  |  |  | CONST64(0x0000000000000800), CONST64(0x0000000200000800), CONST64(0x0000000008000800), CONST64(0x0000000208000800), | 
| 837 |  |  |  |  |  |  | CONST64(0x0000000000080800), CONST64(0x0000000200080800), CONST64(0x0000000008080800), CONST64(0x0000000208080800), | 
| 838 |  |  |  |  |  |  | CONST64(0x0000000000000008), CONST64(0x0000000200000008), CONST64(0x0000000008000008), CONST64(0x0000000208000008), | 
| 839 |  |  |  |  |  |  | CONST64(0x0000000000080008), CONST64(0x0000000200080008), CONST64(0x0000000008080008), CONST64(0x0000000208080008), | 
| 840 |  |  |  |  |  |  | CONST64(0x0000000000000808), CONST64(0x0000000200000808), CONST64(0x0000000008000808), CONST64(0x0000000208000808), | 
| 841 |  |  |  |  |  |  | CONST64(0x0000000000080808), CONST64(0x0000000200080808), CONST64(0x0000000008080808), CONST64(0x0000000208080808), | 
| 842 |  |  |  |  |  |  | CONST64(0x0800000000000000), CONST64(0x0800000200000000), CONST64(0x0800000008000000), CONST64(0x0800000208000000), | 
| 843 |  |  |  |  |  |  | CONST64(0x0800000000080000), CONST64(0x0800000200080000), CONST64(0x0800000008080000), CONST64(0x0800000208080000), | 
| 844 |  |  |  |  |  |  | CONST64(0x0800000000000800), CONST64(0x0800000200000800), CONST64(0x0800000008000800), CONST64(0x0800000208000800), | 
| 845 |  |  |  |  |  |  | CONST64(0x0800000000080800), CONST64(0x0800000200080800), CONST64(0x0800000008080800), CONST64(0x0800000208080800), | 
| 846 |  |  |  |  |  |  | CONST64(0x0800000000000008), CONST64(0x0800000200000008), CONST64(0x0800000008000008), CONST64(0x0800000208000008), | 
| 847 |  |  |  |  |  |  | CONST64(0x0800000000080008), CONST64(0x0800000200080008), CONST64(0x0800000008080008), CONST64(0x0800000208080008), | 
| 848 |  |  |  |  |  |  | CONST64(0x0800000000000808), CONST64(0x0800000200000808), CONST64(0x0800000008000808), CONST64(0x0800000208000808), | 
| 849 |  |  |  |  |  |  | CONST64(0x0800000000080808), CONST64(0x0800000200080808), CONST64(0x0800000008080808), CONST64(0x0800000208080808), | 
| 850 |  |  |  |  |  |  | CONST64(0x0008000000000000), CONST64(0x0008000200000000), CONST64(0x0008000008000000), CONST64(0x0008000208000000), | 
| 851 |  |  |  |  |  |  | CONST64(0x0008000000080000), CONST64(0x0008000200080000), CONST64(0x0008000008080000), CONST64(0x0008000208080000), | 
| 852 |  |  |  |  |  |  | CONST64(0x0008000000000800), CONST64(0x0008000200000800), CONST64(0x0008000008000800), CONST64(0x0008000208000800), | 
| 853 |  |  |  |  |  |  | CONST64(0x0008000000080800), CONST64(0x0008000200080800), CONST64(0x0008000008080800), CONST64(0x0008000208080800), | 
| 854 |  |  |  |  |  |  | CONST64(0x0008000000000008), CONST64(0x0008000200000008), CONST64(0x0008000008000008), CONST64(0x0008000208000008), | 
| 855 |  |  |  |  |  |  | CONST64(0x0008000000080008), CONST64(0x0008000200080008), CONST64(0x0008000008080008), CONST64(0x0008000208080008), | 
| 856 |  |  |  |  |  |  | CONST64(0x0008000000000808), CONST64(0x0008000200000808), CONST64(0x0008000008000808), CONST64(0x0008000208000808), | 
| 857 |  |  |  |  |  |  | CONST64(0x0008000000080808), CONST64(0x0008000200080808), CONST64(0x0008000008080808), CONST64(0x0008000208080808), | 
| 858 |  |  |  |  |  |  | CONST64(0x0808000000000000), CONST64(0x0808000200000000), CONST64(0x0808000008000000), CONST64(0x0808000208000000), | 
| 859 |  |  |  |  |  |  | CONST64(0x0808000000080000), CONST64(0x0808000200080000), CONST64(0x0808000008080000), CONST64(0x0808000208080000), | 
| 860 |  |  |  |  |  |  | CONST64(0x0808000000000800), CONST64(0x0808000200000800), CONST64(0x0808000008000800), CONST64(0x0808000208000800), | 
| 861 |  |  |  |  |  |  | CONST64(0x0808000000080800), CONST64(0x0808000200080800), CONST64(0x0808000008080800), CONST64(0x0808000208080800), | 
| 862 |  |  |  |  |  |  | CONST64(0x0808000000000008), CONST64(0x0808000200000008), CONST64(0x0808000008000008), CONST64(0x0808000208000008), | 
| 863 |  |  |  |  |  |  | CONST64(0x0808000000080008), CONST64(0x0808000200080008), CONST64(0x0808000008080008), CONST64(0x0808000208080008), | 
| 864 |  |  |  |  |  |  | CONST64(0x0808000000000808), CONST64(0x0808000200000808), CONST64(0x0808000008000808), CONST64(0x0808000208000808), | 
| 865 |  |  |  |  |  |  | CONST64(0x0808000000080808), CONST64(0x0808000200080808), CONST64(0x0808000008080808), CONST64(0x0808000208080808), | 
| 866 |  |  |  |  |  |  | CONST64(0x0000080000000000), CONST64(0x0000080200000000), CONST64(0x0000080008000000), CONST64(0x0000080208000000), | 
| 867 |  |  |  |  |  |  | CONST64(0x0000080000080000), CONST64(0x0000080200080000), CONST64(0x0000080008080000), CONST64(0x0000080208080000), | 
| 868 |  |  |  |  |  |  | CONST64(0x0000080000000800), CONST64(0x0000080200000800), CONST64(0x0000080008000800), CONST64(0x0000080208000800), | 
| 869 |  |  |  |  |  |  | CONST64(0x0000080000080800), CONST64(0x0000080200080800), CONST64(0x0000080008080800), CONST64(0x0000080208080800), | 
| 870 |  |  |  |  |  |  | CONST64(0x0000080000000008), CONST64(0x0000080200000008), CONST64(0x0000080008000008), CONST64(0x0000080208000008), | 
| 871 |  |  |  |  |  |  | CONST64(0x0000080000080008), CONST64(0x0000080200080008), CONST64(0x0000080008080008), CONST64(0x0000080208080008), | 
| 872 |  |  |  |  |  |  | CONST64(0x0000080000000808), CONST64(0x0000080200000808), CONST64(0x0000080008000808), CONST64(0x0000080208000808), | 
| 873 |  |  |  |  |  |  | CONST64(0x0000080000080808), CONST64(0x0000080200080808), CONST64(0x0000080008080808), CONST64(0x0000080208080808), | 
| 874 |  |  |  |  |  |  | CONST64(0x0800080000000000), CONST64(0x0800080200000000), CONST64(0x0800080008000000), CONST64(0x0800080208000000), | 
| 875 |  |  |  |  |  |  | CONST64(0x0800080000080000), CONST64(0x0800080200080000), CONST64(0x0800080008080000), CONST64(0x0800080208080000), | 
| 876 |  |  |  |  |  |  | CONST64(0x0800080000000800), CONST64(0x0800080200000800), CONST64(0x0800080008000800), CONST64(0x0800080208000800), | 
| 877 |  |  |  |  |  |  | CONST64(0x0800080000080800), CONST64(0x0800080200080800), CONST64(0x0800080008080800), CONST64(0x0800080208080800), | 
| 878 |  |  |  |  |  |  | CONST64(0x0800080000000008), CONST64(0x0800080200000008), CONST64(0x0800080008000008), CONST64(0x0800080208000008), | 
| 879 |  |  |  |  |  |  | CONST64(0x0800080000080008), CONST64(0x0800080200080008), CONST64(0x0800080008080008), CONST64(0x0800080208080008), | 
| 880 |  |  |  |  |  |  | CONST64(0x0800080000000808), CONST64(0x0800080200000808), CONST64(0x0800080008000808), CONST64(0x0800080208000808), | 
| 881 |  |  |  |  |  |  | CONST64(0x0800080000080808), CONST64(0x0800080200080808), CONST64(0x0800080008080808), CONST64(0x0800080208080808), | 
| 882 |  |  |  |  |  |  | CONST64(0x0008080000000000), CONST64(0x0008080200000000), CONST64(0x0008080008000000), CONST64(0x0008080208000000), | 
| 883 |  |  |  |  |  |  | CONST64(0x0008080000080000), CONST64(0x0008080200080000), CONST64(0x0008080008080000), CONST64(0x0008080208080000), | 
| 884 |  |  |  |  |  |  | CONST64(0x0008080000000800), CONST64(0x0008080200000800), CONST64(0x0008080008000800), CONST64(0x0008080208000800), | 
| 885 |  |  |  |  |  |  | CONST64(0x0008080000080800), CONST64(0x0008080200080800), CONST64(0x0008080008080800), CONST64(0x0008080208080800), | 
| 886 |  |  |  |  |  |  | CONST64(0x0008080000000008), CONST64(0x0008080200000008), CONST64(0x0008080008000008), CONST64(0x0008080208000008), | 
| 887 |  |  |  |  |  |  | CONST64(0x0008080000080008), CONST64(0x0008080200080008), CONST64(0x0008080008080008), CONST64(0x0008080208080008), | 
| 888 |  |  |  |  |  |  | CONST64(0x0008080000000808), CONST64(0x0008080200000808), CONST64(0x0008080008000808), CONST64(0x0008080208000808), | 
| 889 |  |  |  |  |  |  | CONST64(0x0008080000080808), CONST64(0x0008080200080808), CONST64(0x0008080008080808), CONST64(0x0008080208080808), | 
| 890 |  |  |  |  |  |  | CONST64(0x0808080000000000), CONST64(0x0808080200000000), CONST64(0x0808080008000000), CONST64(0x0808080208000000), | 
| 891 |  |  |  |  |  |  | CONST64(0x0808080000080000), CONST64(0x0808080200080000), CONST64(0x0808080008080000), CONST64(0x0808080208080000), | 
| 892 |  |  |  |  |  |  | CONST64(0x0808080000000800), CONST64(0x0808080200000800), CONST64(0x0808080008000800), CONST64(0x0808080208000800), | 
| 893 |  |  |  |  |  |  | CONST64(0x0808080000080800), CONST64(0x0808080200080800), CONST64(0x0808080008080800), CONST64(0x0808080208080800), | 
| 894 |  |  |  |  |  |  | CONST64(0x0808080000000008), CONST64(0x0808080200000008), CONST64(0x0808080008000008), CONST64(0x0808080208000008), | 
| 895 |  |  |  |  |  |  | CONST64(0x0808080000080008), CONST64(0x0808080200080008), CONST64(0x0808080008080008), CONST64(0x0808080208080008), | 
| 896 |  |  |  |  |  |  | CONST64(0x0808080000000808), CONST64(0x0808080200000808), CONST64(0x0808080008000808), CONST64(0x0808080208000808), | 
| 897 |  |  |  |  |  |  | CONST64(0x0808080000080808), CONST64(0x0808080200080808), CONST64(0x0808080008080808), CONST64(0x0808080208080808) }, | 
| 898 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000800000000), CONST64(0x0000000020000000), CONST64(0x0000000820000000), | 
| 899 |  |  |  |  |  |  | CONST64(0x0000000000200000), CONST64(0x0000000800200000), CONST64(0x0000000020200000), CONST64(0x0000000820200000), | 
| 900 |  |  |  |  |  |  | CONST64(0x0000000000002000), CONST64(0x0000000800002000), CONST64(0x0000000020002000), CONST64(0x0000000820002000), | 
| 901 |  |  |  |  |  |  | CONST64(0x0000000000202000), CONST64(0x0000000800202000), CONST64(0x0000000020202000), CONST64(0x0000000820202000), | 
| 902 |  |  |  |  |  |  | CONST64(0x0000000000000020), CONST64(0x0000000800000020), CONST64(0x0000000020000020), CONST64(0x0000000820000020), | 
| 903 |  |  |  |  |  |  | CONST64(0x0000000000200020), CONST64(0x0000000800200020), CONST64(0x0000000020200020), CONST64(0x0000000820200020), | 
| 904 |  |  |  |  |  |  | CONST64(0x0000000000002020), CONST64(0x0000000800002020), CONST64(0x0000000020002020), CONST64(0x0000000820002020), | 
| 905 |  |  |  |  |  |  | CONST64(0x0000000000202020), CONST64(0x0000000800202020), CONST64(0x0000000020202020), CONST64(0x0000000820202020), | 
| 906 |  |  |  |  |  |  | CONST64(0x2000000000000000), CONST64(0x2000000800000000), CONST64(0x2000000020000000), CONST64(0x2000000820000000), | 
| 907 |  |  |  |  |  |  | CONST64(0x2000000000200000), CONST64(0x2000000800200000), CONST64(0x2000000020200000), CONST64(0x2000000820200000), | 
| 908 |  |  |  |  |  |  | CONST64(0x2000000000002000), CONST64(0x2000000800002000), CONST64(0x2000000020002000), CONST64(0x2000000820002000), | 
| 909 |  |  |  |  |  |  | CONST64(0x2000000000202000), CONST64(0x2000000800202000), CONST64(0x2000000020202000), CONST64(0x2000000820202000), | 
| 910 |  |  |  |  |  |  | CONST64(0x2000000000000020), CONST64(0x2000000800000020), CONST64(0x2000000020000020), CONST64(0x2000000820000020), | 
| 911 |  |  |  |  |  |  | CONST64(0x2000000000200020), CONST64(0x2000000800200020), CONST64(0x2000000020200020), CONST64(0x2000000820200020), | 
| 912 |  |  |  |  |  |  | CONST64(0x2000000000002020), CONST64(0x2000000800002020), CONST64(0x2000000020002020), CONST64(0x2000000820002020), | 
| 913 |  |  |  |  |  |  | CONST64(0x2000000000202020), CONST64(0x2000000800202020), CONST64(0x2000000020202020), CONST64(0x2000000820202020), | 
| 914 |  |  |  |  |  |  | CONST64(0x0020000000000000), CONST64(0x0020000800000000), CONST64(0x0020000020000000), CONST64(0x0020000820000000), | 
| 915 |  |  |  |  |  |  | CONST64(0x0020000000200000), CONST64(0x0020000800200000), CONST64(0x0020000020200000), CONST64(0x0020000820200000), | 
| 916 |  |  |  |  |  |  | CONST64(0x0020000000002000), CONST64(0x0020000800002000), CONST64(0x0020000020002000), CONST64(0x0020000820002000), | 
| 917 |  |  |  |  |  |  | CONST64(0x0020000000202000), CONST64(0x0020000800202000), CONST64(0x0020000020202000), CONST64(0x0020000820202000), | 
| 918 |  |  |  |  |  |  | CONST64(0x0020000000000020), CONST64(0x0020000800000020), CONST64(0x0020000020000020), CONST64(0x0020000820000020), | 
| 919 |  |  |  |  |  |  | CONST64(0x0020000000200020), CONST64(0x0020000800200020), CONST64(0x0020000020200020), CONST64(0x0020000820200020), | 
| 920 |  |  |  |  |  |  | CONST64(0x0020000000002020), CONST64(0x0020000800002020), CONST64(0x0020000020002020), CONST64(0x0020000820002020), | 
| 921 |  |  |  |  |  |  | CONST64(0x0020000000202020), CONST64(0x0020000800202020), CONST64(0x0020000020202020), CONST64(0x0020000820202020), | 
| 922 |  |  |  |  |  |  | CONST64(0x2020000000000000), CONST64(0x2020000800000000), CONST64(0x2020000020000000), CONST64(0x2020000820000000), | 
| 923 |  |  |  |  |  |  | CONST64(0x2020000000200000), CONST64(0x2020000800200000), CONST64(0x2020000020200000), CONST64(0x2020000820200000), | 
| 924 |  |  |  |  |  |  | CONST64(0x2020000000002000), CONST64(0x2020000800002000), CONST64(0x2020000020002000), CONST64(0x2020000820002000), | 
| 925 |  |  |  |  |  |  | CONST64(0x2020000000202000), CONST64(0x2020000800202000), CONST64(0x2020000020202000), CONST64(0x2020000820202000), | 
| 926 |  |  |  |  |  |  | CONST64(0x2020000000000020), CONST64(0x2020000800000020), CONST64(0x2020000020000020), CONST64(0x2020000820000020), | 
| 927 |  |  |  |  |  |  | CONST64(0x2020000000200020), CONST64(0x2020000800200020), CONST64(0x2020000020200020), CONST64(0x2020000820200020), | 
| 928 |  |  |  |  |  |  | CONST64(0x2020000000002020), CONST64(0x2020000800002020), CONST64(0x2020000020002020), CONST64(0x2020000820002020), | 
| 929 |  |  |  |  |  |  | CONST64(0x2020000000202020), CONST64(0x2020000800202020), CONST64(0x2020000020202020), CONST64(0x2020000820202020), | 
| 930 |  |  |  |  |  |  | CONST64(0x0000200000000000), CONST64(0x0000200800000000), CONST64(0x0000200020000000), CONST64(0x0000200820000000), | 
| 931 |  |  |  |  |  |  | CONST64(0x0000200000200000), CONST64(0x0000200800200000), CONST64(0x0000200020200000), CONST64(0x0000200820200000), | 
| 932 |  |  |  |  |  |  | CONST64(0x0000200000002000), CONST64(0x0000200800002000), CONST64(0x0000200020002000), CONST64(0x0000200820002000), | 
| 933 |  |  |  |  |  |  | CONST64(0x0000200000202000), CONST64(0x0000200800202000), CONST64(0x0000200020202000), CONST64(0x0000200820202000), | 
| 934 |  |  |  |  |  |  | CONST64(0x0000200000000020), CONST64(0x0000200800000020), CONST64(0x0000200020000020), CONST64(0x0000200820000020), | 
| 935 |  |  |  |  |  |  | CONST64(0x0000200000200020), CONST64(0x0000200800200020), CONST64(0x0000200020200020), CONST64(0x0000200820200020), | 
| 936 |  |  |  |  |  |  | CONST64(0x0000200000002020), CONST64(0x0000200800002020), CONST64(0x0000200020002020), CONST64(0x0000200820002020), | 
| 937 |  |  |  |  |  |  | CONST64(0x0000200000202020), CONST64(0x0000200800202020), CONST64(0x0000200020202020), CONST64(0x0000200820202020), | 
| 938 |  |  |  |  |  |  | CONST64(0x2000200000000000), CONST64(0x2000200800000000), CONST64(0x2000200020000000), CONST64(0x2000200820000000), | 
| 939 |  |  |  |  |  |  | CONST64(0x2000200000200000), CONST64(0x2000200800200000), CONST64(0x2000200020200000), CONST64(0x2000200820200000), | 
| 940 |  |  |  |  |  |  | CONST64(0x2000200000002000), CONST64(0x2000200800002000), CONST64(0x2000200020002000), CONST64(0x2000200820002000), | 
| 941 |  |  |  |  |  |  | CONST64(0x2000200000202000), CONST64(0x2000200800202000), CONST64(0x2000200020202000), CONST64(0x2000200820202000), | 
| 942 |  |  |  |  |  |  | CONST64(0x2000200000000020), CONST64(0x2000200800000020), CONST64(0x2000200020000020), CONST64(0x2000200820000020), | 
| 943 |  |  |  |  |  |  | CONST64(0x2000200000200020), CONST64(0x2000200800200020), CONST64(0x2000200020200020), CONST64(0x2000200820200020), | 
| 944 |  |  |  |  |  |  | CONST64(0x2000200000002020), CONST64(0x2000200800002020), CONST64(0x2000200020002020), CONST64(0x2000200820002020), | 
| 945 |  |  |  |  |  |  | CONST64(0x2000200000202020), CONST64(0x2000200800202020), CONST64(0x2000200020202020), CONST64(0x2000200820202020), | 
| 946 |  |  |  |  |  |  | CONST64(0x0020200000000000), CONST64(0x0020200800000000), CONST64(0x0020200020000000), CONST64(0x0020200820000000), | 
| 947 |  |  |  |  |  |  | CONST64(0x0020200000200000), CONST64(0x0020200800200000), CONST64(0x0020200020200000), CONST64(0x0020200820200000), | 
| 948 |  |  |  |  |  |  | CONST64(0x0020200000002000), CONST64(0x0020200800002000), CONST64(0x0020200020002000), CONST64(0x0020200820002000), | 
| 949 |  |  |  |  |  |  | CONST64(0x0020200000202000), CONST64(0x0020200800202000), CONST64(0x0020200020202000), CONST64(0x0020200820202000), | 
| 950 |  |  |  |  |  |  | CONST64(0x0020200000000020), CONST64(0x0020200800000020), CONST64(0x0020200020000020), CONST64(0x0020200820000020), | 
| 951 |  |  |  |  |  |  | CONST64(0x0020200000200020), CONST64(0x0020200800200020), CONST64(0x0020200020200020), CONST64(0x0020200820200020), | 
| 952 |  |  |  |  |  |  | CONST64(0x0020200000002020), CONST64(0x0020200800002020), CONST64(0x0020200020002020), CONST64(0x0020200820002020), | 
| 953 |  |  |  |  |  |  | CONST64(0x0020200000202020), CONST64(0x0020200800202020), CONST64(0x0020200020202020), CONST64(0x0020200820202020), | 
| 954 |  |  |  |  |  |  | CONST64(0x2020200000000000), CONST64(0x2020200800000000), CONST64(0x2020200020000000), CONST64(0x2020200820000000), | 
| 955 |  |  |  |  |  |  | CONST64(0x2020200000200000), CONST64(0x2020200800200000), CONST64(0x2020200020200000), CONST64(0x2020200820200000), | 
| 956 |  |  |  |  |  |  | CONST64(0x2020200000002000), CONST64(0x2020200800002000), CONST64(0x2020200020002000), CONST64(0x2020200820002000), | 
| 957 |  |  |  |  |  |  | CONST64(0x2020200000202000), CONST64(0x2020200800202000), CONST64(0x2020200020202000), CONST64(0x2020200820202000), | 
| 958 |  |  |  |  |  |  | CONST64(0x2020200000000020), CONST64(0x2020200800000020), CONST64(0x2020200020000020), CONST64(0x2020200820000020), | 
| 959 |  |  |  |  |  |  | CONST64(0x2020200000200020), CONST64(0x2020200800200020), CONST64(0x2020200020200020), CONST64(0x2020200820200020), | 
| 960 |  |  |  |  |  |  | CONST64(0x2020200000002020), CONST64(0x2020200800002020), CONST64(0x2020200020002020), CONST64(0x2020200820002020), | 
| 961 |  |  |  |  |  |  | CONST64(0x2020200000202020), CONST64(0x2020200800202020), CONST64(0x2020200020202020), CONST64(0x2020200820202020) }, | 
| 962 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000002000000000), CONST64(0x0000000080000000), CONST64(0x0000002080000000), | 
| 963 |  |  |  |  |  |  | CONST64(0x0000000000800000), CONST64(0x0000002000800000), CONST64(0x0000000080800000), CONST64(0x0000002080800000), | 
| 964 |  |  |  |  |  |  | CONST64(0x0000000000008000), CONST64(0x0000002000008000), CONST64(0x0000000080008000), CONST64(0x0000002080008000), | 
| 965 |  |  |  |  |  |  | CONST64(0x0000000000808000), CONST64(0x0000002000808000), CONST64(0x0000000080808000), CONST64(0x0000002080808000), | 
| 966 |  |  |  |  |  |  | CONST64(0x0000000000000080), CONST64(0x0000002000000080), CONST64(0x0000000080000080), CONST64(0x0000002080000080), | 
| 967 |  |  |  |  |  |  | CONST64(0x0000000000800080), CONST64(0x0000002000800080), CONST64(0x0000000080800080), CONST64(0x0000002080800080), | 
| 968 |  |  |  |  |  |  | CONST64(0x0000000000008080), CONST64(0x0000002000008080), CONST64(0x0000000080008080), CONST64(0x0000002080008080), | 
| 969 |  |  |  |  |  |  | CONST64(0x0000000000808080), CONST64(0x0000002000808080), CONST64(0x0000000080808080), CONST64(0x0000002080808080), | 
| 970 |  |  |  |  |  |  | CONST64(0x8000000000000000), CONST64(0x8000002000000000), CONST64(0x8000000080000000), CONST64(0x8000002080000000), | 
| 971 |  |  |  |  |  |  | CONST64(0x8000000000800000), CONST64(0x8000002000800000), CONST64(0x8000000080800000), CONST64(0x8000002080800000), | 
| 972 |  |  |  |  |  |  | CONST64(0x8000000000008000), CONST64(0x8000002000008000), CONST64(0x8000000080008000), CONST64(0x8000002080008000), | 
| 973 |  |  |  |  |  |  | CONST64(0x8000000000808000), CONST64(0x8000002000808000), CONST64(0x8000000080808000), CONST64(0x8000002080808000), | 
| 974 |  |  |  |  |  |  | CONST64(0x8000000000000080), CONST64(0x8000002000000080), CONST64(0x8000000080000080), CONST64(0x8000002080000080), | 
| 975 |  |  |  |  |  |  | CONST64(0x8000000000800080), CONST64(0x8000002000800080), CONST64(0x8000000080800080), CONST64(0x8000002080800080), | 
| 976 |  |  |  |  |  |  | CONST64(0x8000000000008080), CONST64(0x8000002000008080), CONST64(0x8000000080008080), CONST64(0x8000002080008080), | 
| 977 |  |  |  |  |  |  | CONST64(0x8000000000808080), CONST64(0x8000002000808080), CONST64(0x8000000080808080), CONST64(0x8000002080808080), | 
| 978 |  |  |  |  |  |  | CONST64(0x0080000000000000), CONST64(0x0080002000000000), CONST64(0x0080000080000000), CONST64(0x0080002080000000), | 
| 979 |  |  |  |  |  |  | CONST64(0x0080000000800000), CONST64(0x0080002000800000), CONST64(0x0080000080800000), CONST64(0x0080002080800000), | 
| 980 |  |  |  |  |  |  | CONST64(0x0080000000008000), CONST64(0x0080002000008000), CONST64(0x0080000080008000), CONST64(0x0080002080008000), | 
| 981 |  |  |  |  |  |  | CONST64(0x0080000000808000), CONST64(0x0080002000808000), CONST64(0x0080000080808000), CONST64(0x0080002080808000), | 
| 982 |  |  |  |  |  |  | CONST64(0x0080000000000080), CONST64(0x0080002000000080), CONST64(0x0080000080000080), CONST64(0x0080002080000080), | 
| 983 |  |  |  |  |  |  | CONST64(0x0080000000800080), CONST64(0x0080002000800080), CONST64(0x0080000080800080), CONST64(0x0080002080800080), | 
| 984 |  |  |  |  |  |  | CONST64(0x0080000000008080), CONST64(0x0080002000008080), CONST64(0x0080000080008080), CONST64(0x0080002080008080), | 
| 985 |  |  |  |  |  |  | CONST64(0x0080000000808080), CONST64(0x0080002000808080), CONST64(0x0080000080808080), CONST64(0x0080002080808080), | 
| 986 |  |  |  |  |  |  | CONST64(0x8080000000000000), CONST64(0x8080002000000000), CONST64(0x8080000080000000), CONST64(0x8080002080000000), | 
| 987 |  |  |  |  |  |  | CONST64(0x8080000000800000), CONST64(0x8080002000800000), CONST64(0x8080000080800000), CONST64(0x8080002080800000), | 
| 988 |  |  |  |  |  |  | CONST64(0x8080000000008000), CONST64(0x8080002000008000), CONST64(0x8080000080008000), CONST64(0x8080002080008000), | 
| 989 |  |  |  |  |  |  | CONST64(0x8080000000808000), CONST64(0x8080002000808000), CONST64(0x8080000080808000), CONST64(0x8080002080808000), | 
| 990 |  |  |  |  |  |  | CONST64(0x8080000000000080), CONST64(0x8080002000000080), CONST64(0x8080000080000080), CONST64(0x8080002080000080), | 
| 991 |  |  |  |  |  |  | CONST64(0x8080000000800080), CONST64(0x8080002000800080), CONST64(0x8080000080800080), CONST64(0x8080002080800080), | 
| 992 |  |  |  |  |  |  | CONST64(0x8080000000008080), CONST64(0x8080002000008080), CONST64(0x8080000080008080), CONST64(0x8080002080008080), | 
| 993 |  |  |  |  |  |  | CONST64(0x8080000000808080), CONST64(0x8080002000808080), CONST64(0x8080000080808080), CONST64(0x8080002080808080), | 
| 994 |  |  |  |  |  |  | CONST64(0x0000800000000000), CONST64(0x0000802000000000), CONST64(0x0000800080000000), CONST64(0x0000802080000000), | 
| 995 |  |  |  |  |  |  | CONST64(0x0000800000800000), CONST64(0x0000802000800000), CONST64(0x0000800080800000), CONST64(0x0000802080800000), | 
| 996 |  |  |  |  |  |  | CONST64(0x0000800000008000), CONST64(0x0000802000008000), CONST64(0x0000800080008000), CONST64(0x0000802080008000), | 
| 997 |  |  |  |  |  |  | CONST64(0x0000800000808000), CONST64(0x0000802000808000), CONST64(0x0000800080808000), CONST64(0x0000802080808000), | 
| 998 |  |  |  |  |  |  | CONST64(0x0000800000000080), CONST64(0x0000802000000080), CONST64(0x0000800080000080), CONST64(0x0000802080000080), | 
| 999 |  |  |  |  |  |  | CONST64(0x0000800000800080), CONST64(0x0000802000800080), CONST64(0x0000800080800080), CONST64(0x0000802080800080), | 
| 1000 |  |  |  |  |  |  | CONST64(0x0000800000008080), CONST64(0x0000802000008080), CONST64(0x0000800080008080), CONST64(0x0000802080008080), | 
| 1001 |  |  |  |  |  |  | CONST64(0x0000800000808080), CONST64(0x0000802000808080), CONST64(0x0000800080808080), CONST64(0x0000802080808080), | 
| 1002 |  |  |  |  |  |  | CONST64(0x8000800000000000), CONST64(0x8000802000000000), CONST64(0x8000800080000000), CONST64(0x8000802080000000), | 
| 1003 |  |  |  |  |  |  | CONST64(0x8000800000800000), CONST64(0x8000802000800000), CONST64(0x8000800080800000), CONST64(0x8000802080800000), | 
| 1004 |  |  |  |  |  |  | CONST64(0x8000800000008000), CONST64(0x8000802000008000), CONST64(0x8000800080008000), CONST64(0x8000802080008000), | 
| 1005 |  |  |  |  |  |  | CONST64(0x8000800000808000), CONST64(0x8000802000808000), CONST64(0x8000800080808000), CONST64(0x8000802080808000), | 
| 1006 |  |  |  |  |  |  | CONST64(0x8000800000000080), CONST64(0x8000802000000080), CONST64(0x8000800080000080), CONST64(0x8000802080000080), | 
| 1007 |  |  |  |  |  |  | CONST64(0x8000800000800080), CONST64(0x8000802000800080), CONST64(0x8000800080800080), CONST64(0x8000802080800080), | 
| 1008 |  |  |  |  |  |  | CONST64(0x8000800000008080), CONST64(0x8000802000008080), CONST64(0x8000800080008080), CONST64(0x8000802080008080), | 
| 1009 |  |  |  |  |  |  | CONST64(0x8000800000808080), CONST64(0x8000802000808080), CONST64(0x8000800080808080), CONST64(0x8000802080808080), | 
| 1010 |  |  |  |  |  |  | CONST64(0x0080800000000000), CONST64(0x0080802000000000), CONST64(0x0080800080000000), CONST64(0x0080802080000000), | 
| 1011 |  |  |  |  |  |  | CONST64(0x0080800000800000), CONST64(0x0080802000800000), CONST64(0x0080800080800000), CONST64(0x0080802080800000), | 
| 1012 |  |  |  |  |  |  | CONST64(0x0080800000008000), CONST64(0x0080802000008000), CONST64(0x0080800080008000), CONST64(0x0080802080008000), | 
| 1013 |  |  |  |  |  |  | CONST64(0x0080800000808000), CONST64(0x0080802000808000), CONST64(0x0080800080808000), CONST64(0x0080802080808000), | 
| 1014 |  |  |  |  |  |  | CONST64(0x0080800000000080), CONST64(0x0080802000000080), CONST64(0x0080800080000080), CONST64(0x0080802080000080), | 
| 1015 |  |  |  |  |  |  | CONST64(0x0080800000800080), CONST64(0x0080802000800080), CONST64(0x0080800080800080), CONST64(0x0080802080800080), | 
| 1016 |  |  |  |  |  |  | CONST64(0x0080800000008080), CONST64(0x0080802000008080), CONST64(0x0080800080008080), CONST64(0x0080802080008080), | 
| 1017 |  |  |  |  |  |  | CONST64(0x0080800000808080), CONST64(0x0080802000808080), CONST64(0x0080800080808080), CONST64(0x0080802080808080), | 
| 1018 |  |  |  |  |  |  | CONST64(0x8080800000000000), CONST64(0x8080802000000000), CONST64(0x8080800080000000), CONST64(0x8080802080000000), | 
| 1019 |  |  |  |  |  |  | CONST64(0x8080800000800000), CONST64(0x8080802000800000), CONST64(0x8080800080800000), CONST64(0x8080802080800000), | 
| 1020 |  |  |  |  |  |  | CONST64(0x8080800000008000), CONST64(0x8080802000008000), CONST64(0x8080800080008000), CONST64(0x8080802080008000), | 
| 1021 |  |  |  |  |  |  | CONST64(0x8080800000808000), CONST64(0x8080802000808000), CONST64(0x8080800080808000), CONST64(0x8080802080808000), | 
| 1022 |  |  |  |  |  |  | CONST64(0x8080800000000080), CONST64(0x8080802000000080), CONST64(0x8080800080000080), CONST64(0x8080802080000080), | 
| 1023 |  |  |  |  |  |  | CONST64(0x8080800000800080), CONST64(0x8080802000800080), CONST64(0x8080800080800080), CONST64(0x8080802080800080), | 
| 1024 |  |  |  |  |  |  | CONST64(0x8080800000008080), CONST64(0x8080802000008080), CONST64(0x8080800080008080), CONST64(0x8080802080008080), | 
| 1025 |  |  |  |  |  |  | CONST64(0x8080800000808080), CONST64(0x8080802000808080), CONST64(0x8080800080808080), CONST64(0x8080802080808080) }, | 
| 1026 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000004000000000), CONST64(0x0000000001000000), CONST64(0x0000004001000000), | 
| 1027 |  |  |  |  |  |  | CONST64(0x0000000000010000), CONST64(0x0000004000010000), CONST64(0x0000000001010000), CONST64(0x0000004001010000), | 
| 1028 |  |  |  |  |  |  | CONST64(0x0000000000000100), CONST64(0x0000004000000100), CONST64(0x0000000001000100), CONST64(0x0000004001000100), | 
| 1029 |  |  |  |  |  |  | CONST64(0x0000000000010100), CONST64(0x0000004000010100), CONST64(0x0000000001010100), CONST64(0x0000004001010100), | 
| 1030 |  |  |  |  |  |  | CONST64(0x0000000000000001), CONST64(0x0000004000000001), CONST64(0x0000000001000001), CONST64(0x0000004001000001), | 
| 1031 |  |  |  |  |  |  | CONST64(0x0000000000010001), CONST64(0x0000004000010001), CONST64(0x0000000001010001), CONST64(0x0000004001010001), | 
| 1032 |  |  |  |  |  |  | CONST64(0x0000000000000101), CONST64(0x0000004000000101), CONST64(0x0000000001000101), CONST64(0x0000004001000101), | 
| 1033 |  |  |  |  |  |  | CONST64(0x0000000000010101), CONST64(0x0000004000010101), CONST64(0x0000000001010101), CONST64(0x0000004001010101), | 
| 1034 |  |  |  |  |  |  | CONST64(0x0100000000000000), CONST64(0x0100004000000000), CONST64(0x0100000001000000), CONST64(0x0100004001000000), | 
| 1035 |  |  |  |  |  |  | CONST64(0x0100000000010000), CONST64(0x0100004000010000), CONST64(0x0100000001010000), CONST64(0x0100004001010000), | 
| 1036 |  |  |  |  |  |  | CONST64(0x0100000000000100), CONST64(0x0100004000000100), CONST64(0x0100000001000100), CONST64(0x0100004001000100), | 
| 1037 |  |  |  |  |  |  | CONST64(0x0100000000010100), CONST64(0x0100004000010100), CONST64(0x0100000001010100), CONST64(0x0100004001010100), | 
| 1038 |  |  |  |  |  |  | CONST64(0x0100000000000001), CONST64(0x0100004000000001), CONST64(0x0100000001000001), CONST64(0x0100004001000001), | 
| 1039 |  |  |  |  |  |  | CONST64(0x0100000000010001), CONST64(0x0100004000010001), CONST64(0x0100000001010001), CONST64(0x0100004001010001), | 
| 1040 |  |  |  |  |  |  | CONST64(0x0100000000000101), CONST64(0x0100004000000101), CONST64(0x0100000001000101), CONST64(0x0100004001000101), | 
| 1041 |  |  |  |  |  |  | CONST64(0x0100000000010101), CONST64(0x0100004000010101), CONST64(0x0100000001010101), CONST64(0x0100004001010101), | 
| 1042 |  |  |  |  |  |  | CONST64(0x0001000000000000), CONST64(0x0001004000000000), CONST64(0x0001000001000000), CONST64(0x0001004001000000), | 
| 1043 |  |  |  |  |  |  | CONST64(0x0001000000010000), CONST64(0x0001004000010000), CONST64(0x0001000001010000), CONST64(0x0001004001010000), | 
| 1044 |  |  |  |  |  |  | CONST64(0x0001000000000100), CONST64(0x0001004000000100), CONST64(0x0001000001000100), CONST64(0x0001004001000100), | 
| 1045 |  |  |  |  |  |  | CONST64(0x0001000000010100), CONST64(0x0001004000010100), CONST64(0x0001000001010100), CONST64(0x0001004001010100), | 
| 1046 |  |  |  |  |  |  | CONST64(0x0001000000000001), CONST64(0x0001004000000001), CONST64(0x0001000001000001), CONST64(0x0001004001000001), | 
| 1047 |  |  |  |  |  |  | CONST64(0x0001000000010001), CONST64(0x0001004000010001), CONST64(0x0001000001010001), CONST64(0x0001004001010001), | 
| 1048 |  |  |  |  |  |  | CONST64(0x0001000000000101), CONST64(0x0001004000000101), CONST64(0x0001000001000101), CONST64(0x0001004001000101), | 
| 1049 |  |  |  |  |  |  | CONST64(0x0001000000010101), CONST64(0x0001004000010101), CONST64(0x0001000001010101), CONST64(0x0001004001010101), | 
| 1050 |  |  |  |  |  |  | CONST64(0x0101000000000000), CONST64(0x0101004000000000), CONST64(0x0101000001000000), CONST64(0x0101004001000000), | 
| 1051 |  |  |  |  |  |  | CONST64(0x0101000000010000), CONST64(0x0101004000010000), CONST64(0x0101000001010000), CONST64(0x0101004001010000), | 
| 1052 |  |  |  |  |  |  | CONST64(0x0101000000000100), CONST64(0x0101004000000100), CONST64(0x0101000001000100), CONST64(0x0101004001000100), | 
| 1053 |  |  |  |  |  |  | CONST64(0x0101000000010100), CONST64(0x0101004000010100), CONST64(0x0101000001010100), CONST64(0x0101004001010100), | 
| 1054 |  |  |  |  |  |  | CONST64(0x0101000000000001), CONST64(0x0101004000000001), CONST64(0x0101000001000001), CONST64(0x0101004001000001), | 
| 1055 |  |  |  |  |  |  | CONST64(0x0101000000010001), CONST64(0x0101004000010001), CONST64(0x0101000001010001), CONST64(0x0101004001010001), | 
| 1056 |  |  |  |  |  |  | CONST64(0x0101000000000101), CONST64(0x0101004000000101), CONST64(0x0101000001000101), CONST64(0x0101004001000101), | 
| 1057 |  |  |  |  |  |  | CONST64(0x0101000000010101), CONST64(0x0101004000010101), CONST64(0x0101000001010101), CONST64(0x0101004001010101), | 
| 1058 |  |  |  |  |  |  | CONST64(0x0000010000000000), CONST64(0x0000014000000000), CONST64(0x0000010001000000), CONST64(0x0000014001000000), | 
| 1059 |  |  |  |  |  |  | CONST64(0x0000010000010000), CONST64(0x0000014000010000), CONST64(0x0000010001010000), CONST64(0x0000014001010000), | 
| 1060 |  |  |  |  |  |  | CONST64(0x0000010000000100), CONST64(0x0000014000000100), CONST64(0x0000010001000100), CONST64(0x0000014001000100), | 
| 1061 |  |  |  |  |  |  | CONST64(0x0000010000010100), CONST64(0x0000014000010100), CONST64(0x0000010001010100), CONST64(0x0000014001010100), | 
| 1062 |  |  |  |  |  |  | CONST64(0x0000010000000001), CONST64(0x0000014000000001), CONST64(0x0000010001000001), CONST64(0x0000014001000001), | 
| 1063 |  |  |  |  |  |  | CONST64(0x0000010000010001), CONST64(0x0000014000010001), CONST64(0x0000010001010001), CONST64(0x0000014001010001), | 
| 1064 |  |  |  |  |  |  | CONST64(0x0000010000000101), CONST64(0x0000014000000101), CONST64(0x0000010001000101), CONST64(0x0000014001000101), | 
| 1065 |  |  |  |  |  |  | CONST64(0x0000010000010101), CONST64(0x0000014000010101), CONST64(0x0000010001010101), CONST64(0x0000014001010101), | 
| 1066 |  |  |  |  |  |  | CONST64(0x0100010000000000), CONST64(0x0100014000000000), CONST64(0x0100010001000000), CONST64(0x0100014001000000), | 
| 1067 |  |  |  |  |  |  | CONST64(0x0100010000010000), CONST64(0x0100014000010000), CONST64(0x0100010001010000), CONST64(0x0100014001010000), | 
| 1068 |  |  |  |  |  |  | CONST64(0x0100010000000100), CONST64(0x0100014000000100), CONST64(0x0100010001000100), CONST64(0x0100014001000100), | 
| 1069 |  |  |  |  |  |  | CONST64(0x0100010000010100), CONST64(0x0100014000010100), CONST64(0x0100010001010100), CONST64(0x0100014001010100), | 
| 1070 |  |  |  |  |  |  | CONST64(0x0100010000000001), CONST64(0x0100014000000001), CONST64(0x0100010001000001), CONST64(0x0100014001000001), | 
| 1071 |  |  |  |  |  |  | CONST64(0x0100010000010001), CONST64(0x0100014000010001), CONST64(0x0100010001010001), CONST64(0x0100014001010001), | 
| 1072 |  |  |  |  |  |  | CONST64(0x0100010000000101), CONST64(0x0100014000000101), CONST64(0x0100010001000101), CONST64(0x0100014001000101), | 
| 1073 |  |  |  |  |  |  | CONST64(0x0100010000010101), CONST64(0x0100014000010101), CONST64(0x0100010001010101), CONST64(0x0100014001010101), | 
| 1074 |  |  |  |  |  |  | CONST64(0x0001010000000000), CONST64(0x0001014000000000), CONST64(0x0001010001000000), CONST64(0x0001014001000000), | 
| 1075 |  |  |  |  |  |  | CONST64(0x0001010000010000), CONST64(0x0001014000010000), CONST64(0x0001010001010000), CONST64(0x0001014001010000), | 
| 1076 |  |  |  |  |  |  | CONST64(0x0001010000000100), CONST64(0x0001014000000100), CONST64(0x0001010001000100), CONST64(0x0001014001000100), | 
| 1077 |  |  |  |  |  |  | CONST64(0x0001010000010100), CONST64(0x0001014000010100), CONST64(0x0001010001010100), CONST64(0x0001014001010100), | 
| 1078 |  |  |  |  |  |  | CONST64(0x0001010000000001), CONST64(0x0001014000000001), CONST64(0x0001010001000001), CONST64(0x0001014001000001), | 
| 1079 |  |  |  |  |  |  | CONST64(0x0001010000010001), CONST64(0x0001014000010001), CONST64(0x0001010001010001), CONST64(0x0001014001010001), | 
| 1080 |  |  |  |  |  |  | CONST64(0x0001010000000101), CONST64(0x0001014000000101), CONST64(0x0001010001000101), CONST64(0x0001014001000101), | 
| 1081 |  |  |  |  |  |  | CONST64(0x0001010000010101), CONST64(0x0001014000010101), CONST64(0x0001010001010101), CONST64(0x0001014001010101), | 
| 1082 |  |  |  |  |  |  | CONST64(0x0101010000000000), CONST64(0x0101014000000000), CONST64(0x0101010001000000), CONST64(0x0101014001000000), | 
| 1083 |  |  |  |  |  |  | CONST64(0x0101010000010000), CONST64(0x0101014000010000), CONST64(0x0101010001010000), CONST64(0x0101014001010000), | 
| 1084 |  |  |  |  |  |  | CONST64(0x0101010000000100), CONST64(0x0101014000000100), CONST64(0x0101010001000100), CONST64(0x0101014001000100), | 
| 1085 |  |  |  |  |  |  | CONST64(0x0101010000010100), CONST64(0x0101014000010100), CONST64(0x0101010001010100), CONST64(0x0101014001010100), | 
| 1086 |  |  |  |  |  |  | CONST64(0x0101010000000001), CONST64(0x0101014000000001), CONST64(0x0101010001000001), CONST64(0x0101014001000001), | 
| 1087 |  |  |  |  |  |  | CONST64(0x0101010000010001), CONST64(0x0101014000010001), CONST64(0x0101010001010001), CONST64(0x0101014001010001), | 
| 1088 |  |  |  |  |  |  | CONST64(0x0101010000000101), CONST64(0x0101014000000101), CONST64(0x0101010001000101), CONST64(0x0101014001000101), | 
| 1089 |  |  |  |  |  |  | CONST64(0x0101010000010101), CONST64(0x0101014000010101), CONST64(0x0101010001010101), CONST64(0x0101014001010101) }, | 
| 1090 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000100000000), CONST64(0x0000000004000000), CONST64(0x0000000104000000), | 
| 1091 |  |  |  |  |  |  | CONST64(0x0000000000040000), CONST64(0x0000000100040000), CONST64(0x0000000004040000), CONST64(0x0000000104040000), | 
| 1092 |  |  |  |  |  |  | CONST64(0x0000000000000400), CONST64(0x0000000100000400), CONST64(0x0000000004000400), CONST64(0x0000000104000400), | 
| 1093 |  |  |  |  |  |  | CONST64(0x0000000000040400), CONST64(0x0000000100040400), CONST64(0x0000000004040400), CONST64(0x0000000104040400), | 
| 1094 |  |  |  |  |  |  | CONST64(0x0000000000000004), CONST64(0x0000000100000004), CONST64(0x0000000004000004), CONST64(0x0000000104000004), | 
| 1095 |  |  |  |  |  |  | CONST64(0x0000000000040004), CONST64(0x0000000100040004), CONST64(0x0000000004040004), CONST64(0x0000000104040004), | 
| 1096 |  |  |  |  |  |  | CONST64(0x0000000000000404), CONST64(0x0000000100000404), CONST64(0x0000000004000404), CONST64(0x0000000104000404), | 
| 1097 |  |  |  |  |  |  | CONST64(0x0000000000040404), CONST64(0x0000000100040404), CONST64(0x0000000004040404), CONST64(0x0000000104040404), | 
| 1098 |  |  |  |  |  |  | CONST64(0x0400000000000000), CONST64(0x0400000100000000), CONST64(0x0400000004000000), CONST64(0x0400000104000000), | 
| 1099 |  |  |  |  |  |  | CONST64(0x0400000000040000), CONST64(0x0400000100040000), CONST64(0x0400000004040000), CONST64(0x0400000104040000), | 
| 1100 |  |  |  |  |  |  | CONST64(0x0400000000000400), CONST64(0x0400000100000400), CONST64(0x0400000004000400), CONST64(0x0400000104000400), | 
| 1101 |  |  |  |  |  |  | CONST64(0x0400000000040400), CONST64(0x0400000100040400), CONST64(0x0400000004040400), CONST64(0x0400000104040400), | 
| 1102 |  |  |  |  |  |  | CONST64(0x0400000000000004), CONST64(0x0400000100000004), CONST64(0x0400000004000004), CONST64(0x0400000104000004), | 
| 1103 |  |  |  |  |  |  | CONST64(0x0400000000040004), CONST64(0x0400000100040004), CONST64(0x0400000004040004), CONST64(0x0400000104040004), | 
| 1104 |  |  |  |  |  |  | CONST64(0x0400000000000404), CONST64(0x0400000100000404), CONST64(0x0400000004000404), CONST64(0x0400000104000404), | 
| 1105 |  |  |  |  |  |  | CONST64(0x0400000000040404), CONST64(0x0400000100040404), CONST64(0x0400000004040404), CONST64(0x0400000104040404), | 
| 1106 |  |  |  |  |  |  | CONST64(0x0004000000000000), CONST64(0x0004000100000000), CONST64(0x0004000004000000), CONST64(0x0004000104000000), | 
| 1107 |  |  |  |  |  |  | CONST64(0x0004000000040000), CONST64(0x0004000100040000), CONST64(0x0004000004040000), CONST64(0x0004000104040000), | 
| 1108 |  |  |  |  |  |  | CONST64(0x0004000000000400), CONST64(0x0004000100000400), CONST64(0x0004000004000400), CONST64(0x0004000104000400), | 
| 1109 |  |  |  |  |  |  | CONST64(0x0004000000040400), CONST64(0x0004000100040400), CONST64(0x0004000004040400), CONST64(0x0004000104040400), | 
| 1110 |  |  |  |  |  |  | CONST64(0x0004000000000004), CONST64(0x0004000100000004), CONST64(0x0004000004000004), CONST64(0x0004000104000004), | 
| 1111 |  |  |  |  |  |  | CONST64(0x0004000000040004), CONST64(0x0004000100040004), CONST64(0x0004000004040004), CONST64(0x0004000104040004), | 
| 1112 |  |  |  |  |  |  | CONST64(0x0004000000000404), CONST64(0x0004000100000404), CONST64(0x0004000004000404), CONST64(0x0004000104000404), | 
| 1113 |  |  |  |  |  |  | CONST64(0x0004000000040404), CONST64(0x0004000100040404), CONST64(0x0004000004040404), CONST64(0x0004000104040404), | 
| 1114 |  |  |  |  |  |  | CONST64(0x0404000000000000), CONST64(0x0404000100000000), CONST64(0x0404000004000000), CONST64(0x0404000104000000), | 
| 1115 |  |  |  |  |  |  | CONST64(0x0404000000040000), CONST64(0x0404000100040000), CONST64(0x0404000004040000), CONST64(0x0404000104040000), | 
| 1116 |  |  |  |  |  |  | CONST64(0x0404000000000400), CONST64(0x0404000100000400), CONST64(0x0404000004000400), CONST64(0x0404000104000400), | 
| 1117 |  |  |  |  |  |  | CONST64(0x0404000000040400), CONST64(0x0404000100040400), CONST64(0x0404000004040400), CONST64(0x0404000104040400), | 
| 1118 |  |  |  |  |  |  | CONST64(0x0404000000000004), CONST64(0x0404000100000004), CONST64(0x0404000004000004), CONST64(0x0404000104000004), | 
| 1119 |  |  |  |  |  |  | CONST64(0x0404000000040004), CONST64(0x0404000100040004), CONST64(0x0404000004040004), CONST64(0x0404000104040004), | 
| 1120 |  |  |  |  |  |  | CONST64(0x0404000000000404), CONST64(0x0404000100000404), CONST64(0x0404000004000404), CONST64(0x0404000104000404), | 
| 1121 |  |  |  |  |  |  | CONST64(0x0404000000040404), CONST64(0x0404000100040404), CONST64(0x0404000004040404), CONST64(0x0404000104040404), | 
| 1122 |  |  |  |  |  |  | CONST64(0x0000040000000000), CONST64(0x0000040100000000), CONST64(0x0000040004000000), CONST64(0x0000040104000000), | 
| 1123 |  |  |  |  |  |  | CONST64(0x0000040000040000), CONST64(0x0000040100040000), CONST64(0x0000040004040000), CONST64(0x0000040104040000), | 
| 1124 |  |  |  |  |  |  | CONST64(0x0000040000000400), CONST64(0x0000040100000400), CONST64(0x0000040004000400), CONST64(0x0000040104000400), | 
| 1125 |  |  |  |  |  |  | CONST64(0x0000040000040400), CONST64(0x0000040100040400), CONST64(0x0000040004040400), CONST64(0x0000040104040400), | 
| 1126 |  |  |  |  |  |  | CONST64(0x0000040000000004), CONST64(0x0000040100000004), CONST64(0x0000040004000004), CONST64(0x0000040104000004), | 
| 1127 |  |  |  |  |  |  | CONST64(0x0000040000040004), CONST64(0x0000040100040004), CONST64(0x0000040004040004), CONST64(0x0000040104040004), | 
| 1128 |  |  |  |  |  |  | CONST64(0x0000040000000404), CONST64(0x0000040100000404), CONST64(0x0000040004000404), CONST64(0x0000040104000404), | 
| 1129 |  |  |  |  |  |  | CONST64(0x0000040000040404), CONST64(0x0000040100040404), CONST64(0x0000040004040404), CONST64(0x0000040104040404), | 
| 1130 |  |  |  |  |  |  | CONST64(0x0400040000000000), CONST64(0x0400040100000000), CONST64(0x0400040004000000), CONST64(0x0400040104000000), | 
| 1131 |  |  |  |  |  |  | CONST64(0x0400040000040000), CONST64(0x0400040100040000), CONST64(0x0400040004040000), CONST64(0x0400040104040000), | 
| 1132 |  |  |  |  |  |  | CONST64(0x0400040000000400), CONST64(0x0400040100000400), CONST64(0x0400040004000400), CONST64(0x0400040104000400), | 
| 1133 |  |  |  |  |  |  | CONST64(0x0400040000040400), CONST64(0x0400040100040400), CONST64(0x0400040004040400), CONST64(0x0400040104040400), | 
| 1134 |  |  |  |  |  |  | CONST64(0x0400040000000004), CONST64(0x0400040100000004), CONST64(0x0400040004000004), CONST64(0x0400040104000004), | 
| 1135 |  |  |  |  |  |  | CONST64(0x0400040000040004), CONST64(0x0400040100040004), CONST64(0x0400040004040004), CONST64(0x0400040104040004), | 
| 1136 |  |  |  |  |  |  | CONST64(0x0400040000000404), CONST64(0x0400040100000404), CONST64(0x0400040004000404), CONST64(0x0400040104000404), | 
| 1137 |  |  |  |  |  |  | CONST64(0x0400040000040404), CONST64(0x0400040100040404), CONST64(0x0400040004040404), CONST64(0x0400040104040404), | 
| 1138 |  |  |  |  |  |  | CONST64(0x0004040000000000), CONST64(0x0004040100000000), CONST64(0x0004040004000000), CONST64(0x0004040104000000), | 
| 1139 |  |  |  |  |  |  | CONST64(0x0004040000040000), CONST64(0x0004040100040000), CONST64(0x0004040004040000), CONST64(0x0004040104040000), | 
| 1140 |  |  |  |  |  |  | CONST64(0x0004040000000400), CONST64(0x0004040100000400), CONST64(0x0004040004000400), CONST64(0x0004040104000400), | 
| 1141 |  |  |  |  |  |  | CONST64(0x0004040000040400), CONST64(0x0004040100040400), CONST64(0x0004040004040400), CONST64(0x0004040104040400), | 
| 1142 |  |  |  |  |  |  | CONST64(0x0004040000000004), CONST64(0x0004040100000004), CONST64(0x0004040004000004), CONST64(0x0004040104000004), | 
| 1143 |  |  |  |  |  |  | CONST64(0x0004040000040004), CONST64(0x0004040100040004), CONST64(0x0004040004040004), CONST64(0x0004040104040004), | 
| 1144 |  |  |  |  |  |  | CONST64(0x0004040000000404), CONST64(0x0004040100000404), CONST64(0x0004040004000404), CONST64(0x0004040104000404), | 
| 1145 |  |  |  |  |  |  | CONST64(0x0004040000040404), CONST64(0x0004040100040404), CONST64(0x0004040004040404), CONST64(0x0004040104040404), | 
| 1146 |  |  |  |  |  |  | CONST64(0x0404040000000000), CONST64(0x0404040100000000), CONST64(0x0404040004000000), CONST64(0x0404040104000000), | 
| 1147 |  |  |  |  |  |  | CONST64(0x0404040000040000), CONST64(0x0404040100040000), CONST64(0x0404040004040000), CONST64(0x0404040104040000), | 
| 1148 |  |  |  |  |  |  | CONST64(0x0404040000000400), CONST64(0x0404040100000400), CONST64(0x0404040004000400), CONST64(0x0404040104000400), | 
| 1149 |  |  |  |  |  |  | CONST64(0x0404040000040400), CONST64(0x0404040100040400), CONST64(0x0404040004040400), CONST64(0x0404040104040400), | 
| 1150 |  |  |  |  |  |  | CONST64(0x0404040000000004), CONST64(0x0404040100000004), CONST64(0x0404040004000004), CONST64(0x0404040104000004), | 
| 1151 |  |  |  |  |  |  | CONST64(0x0404040000040004), CONST64(0x0404040100040004), CONST64(0x0404040004040004), CONST64(0x0404040104040004), | 
| 1152 |  |  |  |  |  |  | CONST64(0x0404040000000404), CONST64(0x0404040100000404), CONST64(0x0404040004000404), CONST64(0x0404040104000404), | 
| 1153 |  |  |  |  |  |  | CONST64(0x0404040000040404), CONST64(0x0404040100040404), CONST64(0x0404040004040404), CONST64(0x0404040104040404) }, | 
| 1154 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000000400000000), CONST64(0x0000000010000000), CONST64(0x0000000410000000), | 
| 1155 |  |  |  |  |  |  | CONST64(0x0000000000100000), CONST64(0x0000000400100000), CONST64(0x0000000010100000), CONST64(0x0000000410100000), | 
| 1156 |  |  |  |  |  |  | CONST64(0x0000000000001000), CONST64(0x0000000400001000), CONST64(0x0000000010001000), CONST64(0x0000000410001000), | 
| 1157 |  |  |  |  |  |  | CONST64(0x0000000000101000), CONST64(0x0000000400101000), CONST64(0x0000000010101000), CONST64(0x0000000410101000), | 
| 1158 |  |  |  |  |  |  | CONST64(0x0000000000000010), CONST64(0x0000000400000010), CONST64(0x0000000010000010), CONST64(0x0000000410000010), | 
| 1159 |  |  |  |  |  |  | CONST64(0x0000000000100010), CONST64(0x0000000400100010), CONST64(0x0000000010100010), CONST64(0x0000000410100010), | 
| 1160 |  |  |  |  |  |  | CONST64(0x0000000000001010), CONST64(0x0000000400001010), CONST64(0x0000000010001010), CONST64(0x0000000410001010), | 
| 1161 |  |  |  |  |  |  | CONST64(0x0000000000101010), CONST64(0x0000000400101010), CONST64(0x0000000010101010), CONST64(0x0000000410101010), | 
| 1162 |  |  |  |  |  |  | CONST64(0x1000000000000000), CONST64(0x1000000400000000), CONST64(0x1000000010000000), CONST64(0x1000000410000000), | 
| 1163 |  |  |  |  |  |  | CONST64(0x1000000000100000), CONST64(0x1000000400100000), CONST64(0x1000000010100000), CONST64(0x1000000410100000), | 
| 1164 |  |  |  |  |  |  | CONST64(0x1000000000001000), CONST64(0x1000000400001000), CONST64(0x1000000010001000), CONST64(0x1000000410001000), | 
| 1165 |  |  |  |  |  |  | CONST64(0x1000000000101000), CONST64(0x1000000400101000), CONST64(0x1000000010101000), CONST64(0x1000000410101000), | 
| 1166 |  |  |  |  |  |  | CONST64(0x1000000000000010), CONST64(0x1000000400000010), CONST64(0x1000000010000010), CONST64(0x1000000410000010), | 
| 1167 |  |  |  |  |  |  | CONST64(0x1000000000100010), CONST64(0x1000000400100010), CONST64(0x1000000010100010), CONST64(0x1000000410100010), | 
| 1168 |  |  |  |  |  |  | CONST64(0x1000000000001010), CONST64(0x1000000400001010), CONST64(0x1000000010001010), CONST64(0x1000000410001010), | 
| 1169 |  |  |  |  |  |  | CONST64(0x1000000000101010), CONST64(0x1000000400101010), CONST64(0x1000000010101010), CONST64(0x1000000410101010), | 
| 1170 |  |  |  |  |  |  | CONST64(0x0010000000000000), CONST64(0x0010000400000000), CONST64(0x0010000010000000), CONST64(0x0010000410000000), | 
| 1171 |  |  |  |  |  |  | CONST64(0x0010000000100000), CONST64(0x0010000400100000), CONST64(0x0010000010100000), CONST64(0x0010000410100000), | 
| 1172 |  |  |  |  |  |  | CONST64(0x0010000000001000), CONST64(0x0010000400001000), CONST64(0x0010000010001000), CONST64(0x0010000410001000), | 
| 1173 |  |  |  |  |  |  | CONST64(0x0010000000101000), CONST64(0x0010000400101000), CONST64(0x0010000010101000), CONST64(0x0010000410101000), | 
| 1174 |  |  |  |  |  |  | CONST64(0x0010000000000010), CONST64(0x0010000400000010), CONST64(0x0010000010000010), CONST64(0x0010000410000010), | 
| 1175 |  |  |  |  |  |  | CONST64(0x0010000000100010), CONST64(0x0010000400100010), CONST64(0x0010000010100010), CONST64(0x0010000410100010), | 
| 1176 |  |  |  |  |  |  | CONST64(0x0010000000001010), CONST64(0x0010000400001010), CONST64(0x0010000010001010), CONST64(0x0010000410001010), | 
| 1177 |  |  |  |  |  |  | CONST64(0x0010000000101010), CONST64(0x0010000400101010), CONST64(0x0010000010101010), CONST64(0x0010000410101010), | 
| 1178 |  |  |  |  |  |  | CONST64(0x1010000000000000), CONST64(0x1010000400000000), CONST64(0x1010000010000000), CONST64(0x1010000410000000), | 
| 1179 |  |  |  |  |  |  | CONST64(0x1010000000100000), CONST64(0x1010000400100000), CONST64(0x1010000010100000), CONST64(0x1010000410100000), | 
| 1180 |  |  |  |  |  |  | CONST64(0x1010000000001000), CONST64(0x1010000400001000), CONST64(0x1010000010001000), CONST64(0x1010000410001000), | 
| 1181 |  |  |  |  |  |  | CONST64(0x1010000000101000), CONST64(0x1010000400101000), CONST64(0x1010000010101000), CONST64(0x1010000410101000), | 
| 1182 |  |  |  |  |  |  | CONST64(0x1010000000000010), CONST64(0x1010000400000010), CONST64(0x1010000010000010), CONST64(0x1010000410000010), | 
| 1183 |  |  |  |  |  |  | CONST64(0x1010000000100010), CONST64(0x1010000400100010), CONST64(0x1010000010100010), CONST64(0x1010000410100010), | 
| 1184 |  |  |  |  |  |  | CONST64(0x1010000000001010), CONST64(0x1010000400001010), CONST64(0x1010000010001010), CONST64(0x1010000410001010), | 
| 1185 |  |  |  |  |  |  | CONST64(0x1010000000101010), CONST64(0x1010000400101010), CONST64(0x1010000010101010), CONST64(0x1010000410101010), | 
| 1186 |  |  |  |  |  |  | CONST64(0x0000100000000000), CONST64(0x0000100400000000), CONST64(0x0000100010000000), CONST64(0x0000100410000000), | 
| 1187 |  |  |  |  |  |  | CONST64(0x0000100000100000), CONST64(0x0000100400100000), CONST64(0x0000100010100000), CONST64(0x0000100410100000), | 
| 1188 |  |  |  |  |  |  | CONST64(0x0000100000001000), CONST64(0x0000100400001000), CONST64(0x0000100010001000), CONST64(0x0000100410001000), | 
| 1189 |  |  |  |  |  |  | CONST64(0x0000100000101000), CONST64(0x0000100400101000), CONST64(0x0000100010101000), CONST64(0x0000100410101000), | 
| 1190 |  |  |  |  |  |  | CONST64(0x0000100000000010), CONST64(0x0000100400000010), CONST64(0x0000100010000010), CONST64(0x0000100410000010), | 
| 1191 |  |  |  |  |  |  | CONST64(0x0000100000100010), CONST64(0x0000100400100010), CONST64(0x0000100010100010), CONST64(0x0000100410100010), | 
| 1192 |  |  |  |  |  |  | CONST64(0x0000100000001010), CONST64(0x0000100400001010), CONST64(0x0000100010001010), CONST64(0x0000100410001010), | 
| 1193 |  |  |  |  |  |  | CONST64(0x0000100000101010), CONST64(0x0000100400101010), CONST64(0x0000100010101010), CONST64(0x0000100410101010), | 
| 1194 |  |  |  |  |  |  | CONST64(0x1000100000000000), CONST64(0x1000100400000000), CONST64(0x1000100010000000), CONST64(0x1000100410000000), | 
| 1195 |  |  |  |  |  |  | CONST64(0x1000100000100000), CONST64(0x1000100400100000), CONST64(0x1000100010100000), CONST64(0x1000100410100000), | 
| 1196 |  |  |  |  |  |  | CONST64(0x1000100000001000), CONST64(0x1000100400001000), CONST64(0x1000100010001000), CONST64(0x1000100410001000), | 
| 1197 |  |  |  |  |  |  | CONST64(0x1000100000101000), CONST64(0x1000100400101000), CONST64(0x1000100010101000), CONST64(0x1000100410101000), | 
| 1198 |  |  |  |  |  |  | CONST64(0x1000100000000010), CONST64(0x1000100400000010), CONST64(0x1000100010000010), CONST64(0x1000100410000010), | 
| 1199 |  |  |  |  |  |  | CONST64(0x1000100000100010), CONST64(0x1000100400100010), CONST64(0x1000100010100010), CONST64(0x1000100410100010), | 
| 1200 |  |  |  |  |  |  | CONST64(0x1000100000001010), CONST64(0x1000100400001010), CONST64(0x1000100010001010), CONST64(0x1000100410001010), | 
| 1201 |  |  |  |  |  |  | CONST64(0x1000100000101010), CONST64(0x1000100400101010), CONST64(0x1000100010101010), CONST64(0x1000100410101010), | 
| 1202 |  |  |  |  |  |  | CONST64(0x0010100000000000), CONST64(0x0010100400000000), CONST64(0x0010100010000000), CONST64(0x0010100410000000), | 
| 1203 |  |  |  |  |  |  | CONST64(0x0010100000100000), CONST64(0x0010100400100000), CONST64(0x0010100010100000), CONST64(0x0010100410100000), | 
| 1204 |  |  |  |  |  |  | CONST64(0x0010100000001000), CONST64(0x0010100400001000), CONST64(0x0010100010001000), CONST64(0x0010100410001000), | 
| 1205 |  |  |  |  |  |  | CONST64(0x0010100000101000), CONST64(0x0010100400101000), CONST64(0x0010100010101000), CONST64(0x0010100410101000), | 
| 1206 |  |  |  |  |  |  | CONST64(0x0010100000000010), CONST64(0x0010100400000010), CONST64(0x0010100010000010), CONST64(0x0010100410000010), | 
| 1207 |  |  |  |  |  |  | CONST64(0x0010100000100010), CONST64(0x0010100400100010), CONST64(0x0010100010100010), CONST64(0x0010100410100010), | 
| 1208 |  |  |  |  |  |  | CONST64(0x0010100000001010), CONST64(0x0010100400001010), CONST64(0x0010100010001010), CONST64(0x0010100410001010), | 
| 1209 |  |  |  |  |  |  | CONST64(0x0010100000101010), CONST64(0x0010100400101010), CONST64(0x0010100010101010), CONST64(0x0010100410101010), | 
| 1210 |  |  |  |  |  |  | CONST64(0x1010100000000000), CONST64(0x1010100400000000), CONST64(0x1010100010000000), CONST64(0x1010100410000000), | 
| 1211 |  |  |  |  |  |  | CONST64(0x1010100000100000), CONST64(0x1010100400100000), CONST64(0x1010100010100000), CONST64(0x1010100410100000), | 
| 1212 |  |  |  |  |  |  | CONST64(0x1010100000001000), CONST64(0x1010100400001000), CONST64(0x1010100010001000), CONST64(0x1010100410001000), | 
| 1213 |  |  |  |  |  |  | CONST64(0x1010100000101000), CONST64(0x1010100400101000), CONST64(0x1010100010101000), CONST64(0x1010100410101000), | 
| 1214 |  |  |  |  |  |  | CONST64(0x1010100000000010), CONST64(0x1010100400000010), CONST64(0x1010100010000010), CONST64(0x1010100410000010), | 
| 1215 |  |  |  |  |  |  | CONST64(0x1010100000100010), CONST64(0x1010100400100010), CONST64(0x1010100010100010), CONST64(0x1010100410100010), | 
| 1216 |  |  |  |  |  |  | CONST64(0x1010100000001010), CONST64(0x1010100400001010), CONST64(0x1010100010001010), CONST64(0x1010100410001010), | 
| 1217 |  |  |  |  |  |  | CONST64(0x1010100000101010), CONST64(0x1010100400101010), CONST64(0x1010100010101010), CONST64(0x1010100410101010) }, | 
| 1218 |  |  |  |  |  |  | { CONST64(0x0000000000000000), CONST64(0x0000001000000000), CONST64(0x0000000040000000), CONST64(0x0000001040000000), | 
| 1219 |  |  |  |  |  |  | CONST64(0x0000000000400000), CONST64(0x0000001000400000), CONST64(0x0000000040400000), CONST64(0x0000001040400000), | 
| 1220 |  |  |  |  |  |  | CONST64(0x0000000000004000), CONST64(0x0000001000004000), CONST64(0x0000000040004000), CONST64(0x0000001040004000), | 
| 1221 |  |  |  |  |  |  | CONST64(0x0000000000404000), CONST64(0x0000001000404000), CONST64(0x0000000040404000), CONST64(0x0000001040404000), | 
| 1222 |  |  |  |  |  |  | CONST64(0x0000000000000040), CONST64(0x0000001000000040), CONST64(0x0000000040000040), CONST64(0x0000001040000040), | 
| 1223 |  |  |  |  |  |  | CONST64(0x0000000000400040), CONST64(0x0000001000400040), CONST64(0x0000000040400040), CONST64(0x0000001040400040), | 
| 1224 |  |  |  |  |  |  | CONST64(0x0000000000004040), CONST64(0x0000001000004040), CONST64(0x0000000040004040), CONST64(0x0000001040004040), | 
| 1225 |  |  |  |  |  |  | CONST64(0x0000000000404040), CONST64(0x0000001000404040), CONST64(0x0000000040404040), CONST64(0x0000001040404040), | 
| 1226 |  |  |  |  |  |  | CONST64(0x4000000000000000), CONST64(0x4000001000000000), CONST64(0x4000000040000000), CONST64(0x4000001040000000), | 
| 1227 |  |  |  |  |  |  | CONST64(0x4000000000400000), CONST64(0x4000001000400000), CONST64(0x4000000040400000), CONST64(0x4000001040400000), | 
| 1228 |  |  |  |  |  |  | CONST64(0x4000000000004000), CONST64(0x4000001000004000), CONST64(0x4000000040004000), CONST64(0x4000001040004000), | 
| 1229 |  |  |  |  |  |  | CONST64(0x4000000000404000), CONST64(0x4000001000404000), CONST64(0x4000000040404000), CONST64(0x4000001040404000), | 
| 1230 |  |  |  |  |  |  | CONST64(0x4000000000000040), CONST64(0x4000001000000040), CONST64(0x4000000040000040), CONST64(0x4000001040000040), | 
| 1231 |  |  |  |  |  |  | CONST64(0x4000000000400040), CONST64(0x4000001000400040), CONST64(0x4000000040400040), CONST64(0x4000001040400040), | 
| 1232 |  |  |  |  |  |  | CONST64(0x4000000000004040), CONST64(0x4000001000004040), CONST64(0x4000000040004040), CONST64(0x4000001040004040), | 
| 1233 |  |  |  |  |  |  | CONST64(0x4000000000404040), CONST64(0x4000001000404040), CONST64(0x4000000040404040), CONST64(0x4000001040404040), | 
| 1234 |  |  |  |  |  |  | CONST64(0x0040000000000000), CONST64(0x0040001000000000), CONST64(0x0040000040000000), CONST64(0x0040001040000000), | 
| 1235 |  |  |  |  |  |  | CONST64(0x0040000000400000), CONST64(0x0040001000400000), CONST64(0x0040000040400000), CONST64(0x0040001040400000), | 
| 1236 |  |  |  |  |  |  | CONST64(0x0040000000004000), CONST64(0x0040001000004000), CONST64(0x0040000040004000), CONST64(0x0040001040004000), | 
| 1237 |  |  |  |  |  |  | CONST64(0x0040000000404000), CONST64(0x0040001000404000), CONST64(0x0040000040404000), CONST64(0x0040001040404000), | 
| 1238 |  |  |  |  |  |  | CONST64(0x0040000000000040), CONST64(0x0040001000000040), CONST64(0x0040000040000040), CONST64(0x0040001040000040), | 
| 1239 |  |  |  |  |  |  | CONST64(0x0040000000400040), CONST64(0x0040001000400040), CONST64(0x0040000040400040), CONST64(0x0040001040400040), | 
| 1240 |  |  |  |  |  |  | CONST64(0x0040000000004040), CONST64(0x0040001000004040), CONST64(0x0040000040004040), CONST64(0x0040001040004040), | 
| 1241 |  |  |  |  |  |  | CONST64(0x0040000000404040), CONST64(0x0040001000404040), CONST64(0x0040000040404040), CONST64(0x0040001040404040), | 
| 1242 |  |  |  |  |  |  | CONST64(0x4040000000000000), CONST64(0x4040001000000000), CONST64(0x4040000040000000), CONST64(0x4040001040000000), | 
| 1243 |  |  |  |  |  |  | CONST64(0x4040000000400000), CONST64(0x4040001000400000), CONST64(0x4040000040400000), CONST64(0x4040001040400000), | 
| 1244 |  |  |  |  |  |  | CONST64(0x4040000000004000), CONST64(0x4040001000004000), CONST64(0x4040000040004000), CONST64(0x4040001040004000), | 
| 1245 |  |  |  |  |  |  | CONST64(0x4040000000404000), CONST64(0x4040001000404000), CONST64(0x4040000040404000), CONST64(0x4040001040404000), | 
| 1246 |  |  |  |  |  |  | CONST64(0x4040000000000040), CONST64(0x4040001000000040), CONST64(0x4040000040000040), CONST64(0x4040001040000040), | 
| 1247 |  |  |  |  |  |  | CONST64(0x4040000000400040), CONST64(0x4040001000400040), CONST64(0x4040000040400040), CONST64(0x4040001040400040), | 
| 1248 |  |  |  |  |  |  | CONST64(0x4040000000004040), CONST64(0x4040001000004040), CONST64(0x4040000040004040), CONST64(0x4040001040004040), | 
| 1249 |  |  |  |  |  |  | CONST64(0x4040000000404040), CONST64(0x4040001000404040), CONST64(0x4040000040404040), CONST64(0x4040001040404040), | 
| 1250 |  |  |  |  |  |  | CONST64(0x0000400000000000), CONST64(0x0000401000000000), CONST64(0x0000400040000000), CONST64(0x0000401040000000), | 
| 1251 |  |  |  |  |  |  | CONST64(0x0000400000400000), CONST64(0x0000401000400000), CONST64(0x0000400040400000), CONST64(0x0000401040400000), | 
| 1252 |  |  |  |  |  |  | CONST64(0x0000400000004000), CONST64(0x0000401000004000), CONST64(0x0000400040004000), CONST64(0x0000401040004000), | 
| 1253 |  |  |  |  |  |  | CONST64(0x0000400000404000), CONST64(0x0000401000404000), CONST64(0x0000400040404000), CONST64(0x0000401040404000), | 
| 1254 |  |  |  |  |  |  | CONST64(0x0000400000000040), CONST64(0x0000401000000040), CONST64(0x0000400040000040), CONST64(0x0000401040000040), | 
| 1255 |  |  |  |  |  |  | CONST64(0x0000400000400040), CONST64(0x0000401000400040), CONST64(0x0000400040400040), CONST64(0x0000401040400040), | 
| 1256 |  |  |  |  |  |  | CONST64(0x0000400000004040), CONST64(0x0000401000004040), CONST64(0x0000400040004040), CONST64(0x0000401040004040), | 
| 1257 |  |  |  |  |  |  | CONST64(0x0000400000404040), CONST64(0x0000401000404040), CONST64(0x0000400040404040), CONST64(0x0000401040404040), | 
| 1258 |  |  |  |  |  |  | CONST64(0x4000400000000000), CONST64(0x4000401000000000), CONST64(0x4000400040000000), CONST64(0x4000401040000000), | 
| 1259 |  |  |  |  |  |  | CONST64(0x4000400000400000), CONST64(0x4000401000400000), CONST64(0x4000400040400000), CONST64(0x4000401040400000), | 
| 1260 |  |  |  |  |  |  | CONST64(0x4000400000004000), CONST64(0x4000401000004000), CONST64(0x4000400040004000), CONST64(0x4000401040004000), | 
| 1261 |  |  |  |  |  |  | CONST64(0x4000400000404000), CONST64(0x4000401000404000), CONST64(0x4000400040404000), CONST64(0x4000401040404000), | 
| 1262 |  |  |  |  |  |  | CONST64(0x4000400000000040), CONST64(0x4000401000000040), CONST64(0x4000400040000040), CONST64(0x4000401040000040), | 
| 1263 |  |  |  |  |  |  | CONST64(0x4000400000400040), CONST64(0x4000401000400040), CONST64(0x4000400040400040), CONST64(0x4000401040400040), | 
| 1264 |  |  |  |  |  |  | CONST64(0x4000400000004040), CONST64(0x4000401000004040), CONST64(0x4000400040004040), CONST64(0x4000401040004040), | 
| 1265 |  |  |  |  |  |  | CONST64(0x4000400000404040), CONST64(0x4000401000404040), CONST64(0x4000400040404040), CONST64(0x4000401040404040), | 
| 1266 |  |  |  |  |  |  | CONST64(0x0040400000000000), CONST64(0x0040401000000000), CONST64(0x0040400040000000), CONST64(0x0040401040000000), | 
| 1267 |  |  |  |  |  |  | CONST64(0x0040400000400000), CONST64(0x0040401000400000), CONST64(0x0040400040400000), CONST64(0x0040401040400000), | 
| 1268 |  |  |  |  |  |  | CONST64(0x0040400000004000), CONST64(0x0040401000004000), CONST64(0x0040400040004000), CONST64(0x0040401040004000), | 
| 1269 |  |  |  |  |  |  | CONST64(0x0040400000404000), CONST64(0x0040401000404000), CONST64(0x0040400040404000), CONST64(0x0040401040404000), | 
| 1270 |  |  |  |  |  |  | CONST64(0x0040400000000040), CONST64(0x0040401000000040), CONST64(0x0040400040000040), CONST64(0x0040401040000040), | 
| 1271 |  |  |  |  |  |  | CONST64(0x0040400000400040), CONST64(0x0040401000400040), CONST64(0x0040400040400040), CONST64(0x0040401040400040), | 
| 1272 |  |  |  |  |  |  | CONST64(0x0040400000004040), CONST64(0x0040401000004040), CONST64(0x0040400040004040), CONST64(0x0040401040004040), | 
| 1273 |  |  |  |  |  |  | CONST64(0x0040400000404040), CONST64(0x0040401000404040), CONST64(0x0040400040404040), CONST64(0x0040401040404040), | 
| 1274 |  |  |  |  |  |  | CONST64(0x4040400000000000), CONST64(0x4040401000000000), CONST64(0x4040400040000000), CONST64(0x4040401040000000), | 
| 1275 |  |  |  |  |  |  | CONST64(0x4040400000400000), CONST64(0x4040401000400000), CONST64(0x4040400040400000), CONST64(0x4040401040400000), | 
| 1276 |  |  |  |  |  |  | CONST64(0x4040400000004000), CONST64(0x4040401000004000), CONST64(0x4040400040004000), CONST64(0x4040401040004000), | 
| 1277 |  |  |  |  |  |  | CONST64(0x4040400000404000), CONST64(0x4040401000404000), CONST64(0x4040400040404000), CONST64(0x4040401040404000), | 
| 1278 |  |  |  |  |  |  | CONST64(0x4040400000000040), CONST64(0x4040401000000040), CONST64(0x4040400040000040), CONST64(0x4040401040000040), | 
| 1279 |  |  |  |  |  |  | CONST64(0x4040400000400040), CONST64(0x4040401000400040), CONST64(0x4040400040400040), CONST64(0x4040401040400040), | 
| 1280 |  |  |  |  |  |  | CONST64(0x4040400000004040), CONST64(0x4040401000004040), CONST64(0x4040400040004040), CONST64(0x4040401040004040), | 
| 1281 |  |  |  |  |  |  | CONST64(0x4040400000404040), CONST64(0x4040401000404040), CONST64(0x4040400040404040), CONST64(0x4040401040404040) } | 
| 1282 |  |  |  |  |  |  | }; | 
| 1283 |  |  |  |  |  |  |  | 
| 1284 |  |  |  |  |  |  | # endif /* PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE && HAVE_NATIVE_INT64 */ | 
| 1285 |  |  |  |  |  |  |  | 
| 1286 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1287 |  |  |  |  |  |  | /* | 
| 1288 |  |  |  |  |  |  | Common DES functions | 
| 1289 |  |  |  |  |  |  | */ | 
| 1290 | 78 |  |  |  |  |  | static void cookey(const uint32_t *raw1, uint32_t *keyout) | 
| 1291 |  |  |  |  |  |  | { | 
| 1292 |  |  |  |  |  |  | uint32 *cook; | 
| 1293 |  |  |  |  |  |  | const uint32 *raw0; | 
| 1294 |  |  |  |  |  |  | uint32 dough[32]; | 
| 1295 |  |  |  |  |  |  | int32 i; | 
| 1296 |  |  |  |  |  |  |  | 
| 1297 | 78 |  |  |  |  |  | cook = dough; | 
| 1298 | 1326 | 100 |  |  |  |  | for (i = 0; i < 16; i++, raw1++) | 
| 1299 |  |  |  |  |  |  | { | 
| 1300 | 1248 |  |  |  |  |  | raw0 = raw1++; | 
| 1301 | 1248 |  |  |  |  |  | *cook    = (*raw0 & 0x00fc0000L) << 6; | 
| 1302 | 1248 |  |  |  |  |  | *cook   |= (*raw0 & 0x00000fc0L) << 10; | 
| 1303 | 1248 |  |  |  |  |  | *cook   |= (*raw1 & 0x00fc0000L) >> 10; | 
| 1304 | 1248 |  |  |  |  |  | *cook++ |= (*raw1 & 0x00000fc0L) >> 6; | 
| 1305 | 1248 |  |  |  |  |  | *cook    = (*raw0 & 0x0003f000L) << 12; | 
| 1306 | 1248 |  |  |  |  |  | *cook   |= (*raw0 & 0x0000003fL) << 16; | 
| 1307 | 1248 |  |  |  |  |  | *cook   |= (*raw1 & 0x0003f000L) >> 4; | 
| 1308 | 1248 |  |  |  |  |  | *cook++ |= (*raw1 & 0x0000003fL); | 
| 1309 |  |  |  |  |  |  | } | 
| 1310 |  |  |  |  |  |  |  | 
| 1311 | 78 |  |  |  |  |  | psMemcpy(keyout, dough, sizeof dough); | 
| 1312 |  |  |  |  |  |  | # ifdef USE_BURN_STACK | 
| 1313 | 78 |  |  |  |  |  | psBurnStack(sizeof(uint32 *) * 2 + sizeof(uint32) * 32 + sizeof(int32)); | 
| 1314 |  |  |  |  |  |  | # endif /* USE_BURN_STACK */ | 
| 1315 | 78 |  |  |  |  |  | } | 
| 1316 |  |  |  |  |  |  |  | 
| 1317 | 78 |  |  |  |  |  | static void deskey(const unsigned char *key, int32 edf, uint32_t *keyout) | 
| 1318 |  |  |  |  |  |  | { | 
| 1319 |  |  |  |  |  |  | uint32_t i, j, l, m, n, kn[32]; | 
| 1320 |  |  |  |  |  |  | unsigned char pc1m[56], pcr[56]; | 
| 1321 |  |  |  |  |  |  |  | 
| 1322 | 4446 | 100 |  |  |  |  | for (j = 0; j < 56; j++) | 
| 1323 |  |  |  |  |  |  | { | 
| 1324 | 4368 |  |  |  |  |  | l = (uint32) pc1[j]; | 
| 1325 | 4368 |  |  |  |  |  | m = l & 7; | 
| 1326 | 4368 | 100 |  |  |  |  | pc1m[j] = (unsigned char) ((key[l >> 3U] & bytebit[m]) == | 
| 1327 | 4368 |  |  |  |  |  | bytebit[m] ? 1 : 0); | 
| 1328 |  |  |  |  |  |  | } | 
| 1329 |  |  |  |  |  |  |  | 
| 1330 | 1326 | 100 |  |  |  |  | for (i = 0; i < 16; i++) | 
| 1331 |  |  |  |  |  |  | { | 
| 1332 | 1248 | 100 |  |  |  |  | if (edf == DE1) | 
| 1333 |  |  |  |  |  |  | { | 
| 1334 | 624 |  |  |  |  |  | m = (15 - i) << 1; | 
| 1335 |  |  |  |  |  |  | } | 
| 1336 |  |  |  |  |  |  | else | 
| 1337 |  |  |  |  |  |  | { | 
| 1338 | 624 |  |  |  |  |  | m = i << 1; | 
| 1339 |  |  |  |  |  |  | } | 
| 1340 | 1248 |  |  |  |  |  | n = m + 1; | 
| 1341 | 1248 |  |  |  |  |  | kn[m] = kn[n] = 0L; | 
| 1342 | 36192 | 100 |  |  |  |  | for (j = 0; j < 28; j++) | 
| 1343 |  |  |  |  |  |  | { | 
| 1344 | 34944 |  |  |  |  |  | l = j + (uint32) totrot[i]; | 
| 1345 | 34944 | 100 |  |  |  |  | if (l < 28) | 
| 1346 |  |  |  |  |  |  | { | 
| 1347 | 16848 |  |  |  |  |  | pcr[j] = pc1m[l]; | 
| 1348 |  |  |  |  |  |  | } | 
| 1349 |  |  |  |  |  |  | else | 
| 1350 |  |  |  |  |  |  | { | 
| 1351 | 18096 |  |  |  |  |  | pcr[j] = pc1m[l - 28]; | 
| 1352 |  |  |  |  |  |  | } | 
| 1353 |  |  |  |  |  |  | } | 
| 1354 | 36192 | 100 |  |  |  |  | for (/*j = 28*/; j < 56; j++) | 
| 1355 |  |  |  |  |  |  | { | 
| 1356 | 34944 |  |  |  |  |  | l = j + (uint32) totrot[i]; | 
| 1357 | 34944 | 100 |  |  |  |  | if (l < 56) | 
| 1358 |  |  |  |  |  |  | { | 
| 1359 | 16848 |  |  |  |  |  | pcr[j] = pc1m[l]; | 
| 1360 |  |  |  |  |  |  | } | 
| 1361 |  |  |  |  |  |  | else | 
| 1362 |  |  |  |  |  |  | { | 
| 1363 | 18096 |  |  |  |  |  | pcr[j] = pc1m[l - 28]; | 
| 1364 |  |  |  |  |  |  | } | 
| 1365 |  |  |  |  |  |  | } | 
| 1366 | 31200 | 100 |  |  |  |  | for (j = 0; j < 24; j++) | 
| 1367 |  |  |  |  |  |  | { | 
| 1368 | 29952 | 100 |  |  |  |  | if ((int32) pcr[(int32) pc2[j]] != 0) | 
| 1369 |  |  |  |  |  |  | { | 
| 1370 | 16898 |  |  |  |  |  | kn[m] |= bigbyte[j]; | 
| 1371 |  |  |  |  |  |  | } | 
| 1372 | 29952 | 100 |  |  |  |  | if ((int32) pcr[(int32) pc2[j + 24]] != 0) | 
| 1373 |  |  |  |  |  |  | { | 
| 1374 | 15492 |  |  |  |  |  | kn[n] |= bigbyte[j]; | 
| 1375 |  |  |  |  |  |  | } | 
| 1376 |  |  |  |  |  |  | } | 
| 1377 |  |  |  |  |  |  | } | 
| 1378 | 78 |  |  |  |  |  | cookey(kn, keyout); | 
| 1379 |  |  |  |  |  |  | # ifdef USE_BURN_STACK | 
| 1380 | 78 |  |  |  |  |  | psBurnStack(sizeof(int32) * 5 + sizeof(uint32) * 32 + | 
| 1381 |  |  |  |  |  |  | sizeof(unsigned char) * 112); | 
| 1382 |  |  |  |  |  |  | # endif /* USE_BURN_STACK */ | 
| 1383 | 78 |  |  |  |  |  | } | 
| 1384 |  |  |  |  |  |  |  | 
| 1385 | 5940 |  |  |  |  |  | static void desfunc(uint32 *block, const uint32 *keys) | 
| 1386 |  |  |  |  |  |  | { | 
| 1387 |  |  |  |  |  |  | uint32 work, right, leftt; | 
| 1388 |  |  |  |  |  |  | int32 cur_round; | 
| 1389 |  |  |  |  |  |  |  | 
| 1390 | 5940 |  |  |  |  |  | leftt = block[0]; | 
| 1391 | 5940 |  |  |  |  |  | right = block[1]; | 
| 1392 |  |  |  |  |  |  |  | 
| 1393 |  |  |  |  |  |  | # if !defined(PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE) || !defined(HAVE_NATIVE_INT64) | 
| 1394 |  |  |  |  |  |  | work = ((leftt >> 4)  ^ right) & 0x0f0f0f0fL; | 
| 1395 |  |  |  |  |  |  | right ^= work; | 
| 1396 |  |  |  |  |  |  | leftt ^= (work << 4); | 
| 1397 |  |  |  |  |  |  |  | 
| 1398 |  |  |  |  |  |  | work = ((leftt >> 16) ^ right) & 0x0000ffffL; | 
| 1399 |  |  |  |  |  |  | right ^= work; | 
| 1400 |  |  |  |  |  |  | leftt ^= (work << 16); | 
| 1401 |  |  |  |  |  |  |  | 
| 1402 |  |  |  |  |  |  | work = ((right >> 2)  ^ leftt) & 0x33333333L; | 
| 1403 |  |  |  |  |  |  | leftt ^= work; | 
| 1404 |  |  |  |  |  |  | right ^= (work << 2); | 
| 1405 |  |  |  |  |  |  |  | 
| 1406 |  |  |  |  |  |  | work = ((right >> 8)  ^ leftt) & 0x00ff00ffL; | 
| 1407 |  |  |  |  |  |  | leftt ^= work; | 
| 1408 |  |  |  |  |  |  | right ^= (work << 8); | 
| 1409 |  |  |  |  |  |  |  | 
| 1410 |  |  |  |  |  |  | right = ROL(right, 1); | 
| 1411 |  |  |  |  |  |  | work = (leftt ^ right) & 0xaaaaaaaaL; | 
| 1412 |  |  |  |  |  |  |  | 
| 1413 |  |  |  |  |  |  | leftt ^= work; | 
| 1414 |  |  |  |  |  |  | right ^= work; | 
| 1415 |  |  |  |  |  |  | leftt = ROL(leftt, 1); | 
| 1416 |  |  |  |  |  |  | # else /* !PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE && HAVE_NATIVE_INT64*/ | 
| 1417 |  |  |  |  |  |  | { | 
| 1418 |  |  |  |  |  |  | uint64 tmp; | 
| 1419 | 17820 |  |  |  |  |  | tmp = des_ip[0][byte(leftt, 0)] ^ | 
| 1420 | 11880 |  |  |  |  |  | des_ip[1][byte(leftt, 1)] ^ | 
| 1421 | 11880 |  |  |  |  |  | des_ip[2][byte(leftt, 2)] ^ | 
| 1422 | 11880 |  |  |  |  |  | des_ip[3][byte(leftt, 3)] ^ | 
| 1423 | 11880 |  |  |  |  |  | des_ip[4][byte(right, 0)] ^ | 
| 1424 | 11880 |  |  |  |  |  | des_ip[5][byte(right, 1)] ^ | 
| 1425 | 5940 |  |  |  |  |  | des_ip[6][byte(right, 2)] ^ | 
| 1426 | 5940 |  |  |  |  |  | des_ip[7][byte(right, 3)]; | 
| 1427 | 5940 |  |  |  |  |  | leftt = (uint32) (tmp >> 32); | 
| 1428 | 5940 |  |  |  |  |  | right = (uint32) (tmp & 0xFFFFFFFFUL); | 
| 1429 |  |  |  |  |  |  | } | 
| 1430 |  |  |  |  |  |  | # endif /* SMALL CODE */ | 
| 1431 |  |  |  |  |  |  |  | 
| 1432 | 53460 | 100 |  |  |  |  | for (cur_round = 0; cur_round < 8; cur_round++) | 
| 1433 |  |  |  |  |  |  | { | 
| 1434 | 47520 |  |  |  |  |  | work    = ROR(right, 4) ^ *keys++; | 
| 1435 | 95040 |  |  |  |  |  | leftt   ^= SP7[work        & 0x3fL] | 
| 1436 | 47520 |  |  |  |  |  | ^ SP5[(work >>  8) & 0x3fL] | 
| 1437 | 47520 |  |  |  |  |  | ^ SP3[(work >> 16) & 0x3fL] | 
| 1438 | 47520 |  |  |  |  |  | ^ SP1[(work >> 24) & 0x3fL]; | 
| 1439 | 47520 |  |  |  |  |  | work     = right ^ *keys++; | 
| 1440 | 95040 |  |  |  |  |  | leftt   ^= SP8[ work        & 0x3fL] | 
| 1441 | 47520 |  |  |  |  |  | ^  SP6[(work >>  8) & 0x3fL] | 
| 1442 | 47520 |  |  |  |  |  | ^  SP4[(work >> 16) & 0x3fL] | 
| 1443 | 47520 |  |  |  |  |  | ^  SP2[(work >> 24) & 0x3fL]; | 
| 1444 |  |  |  |  |  |  |  | 
| 1445 | 47520 |  |  |  |  |  | work    = ROR(leftt, 4) ^ *keys++; | 
| 1446 | 95040 |  |  |  |  |  | right   ^= SP7[ work        & 0x3fL] | 
| 1447 | 47520 |  |  |  |  |  | ^  SP5[(work >>  8) & 0x3fL] | 
| 1448 | 47520 |  |  |  |  |  | ^  SP3[(work >> 16) & 0x3fL] | 
| 1449 | 47520 |  |  |  |  |  | ^  SP1[(work >> 24) & 0x3fL]; | 
| 1450 | 47520 |  |  |  |  |  | work     = leftt ^ *keys++; | 
| 1451 | 95040 |  |  |  |  |  | right   ^= SP8[ work        & 0x3fL] | 
| 1452 | 47520 |  |  |  |  |  | ^  SP6[(work >>  8) & 0x3fL] | 
| 1453 | 47520 |  |  |  |  |  | ^  SP4[(work >> 16) & 0x3fL] | 
| 1454 | 47520 |  |  |  |  |  | ^  SP2[(work >> 24) & 0x3fL]; | 
| 1455 |  |  |  |  |  |  | } | 
| 1456 |  |  |  |  |  |  |  | 
| 1457 |  |  |  |  |  |  | # if !defined(PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE) || !defined(HAVE_NATIVE_INT64) | 
| 1458 |  |  |  |  |  |  | right = ROR(right, 1); | 
| 1459 |  |  |  |  |  |  | work = (leftt ^ right) & 0xaaaaaaaaL; | 
| 1460 |  |  |  |  |  |  | leftt ^= work; | 
| 1461 |  |  |  |  |  |  | right ^= work; | 
| 1462 |  |  |  |  |  |  | leftt = ROR(leftt, 1); | 
| 1463 |  |  |  |  |  |  | work = ((leftt >> 8) ^ right) & 0x00ff00ffL; | 
| 1464 |  |  |  |  |  |  | right ^= work; | 
| 1465 |  |  |  |  |  |  | leftt ^= (work << 8); | 
| 1466 |  |  |  |  |  |  |  | 
| 1467 |  |  |  |  |  |  | work = ((leftt >> 2) ^ right) & 0x33333333L; | 
| 1468 |  |  |  |  |  |  | right ^= work; | 
| 1469 |  |  |  |  |  |  | leftt ^= (work << 2); | 
| 1470 |  |  |  |  |  |  | work = ((right >> 16) ^ leftt) & 0x0000ffffL; | 
| 1471 |  |  |  |  |  |  | leftt ^= work; | 
| 1472 |  |  |  |  |  |  | right ^= (work << 16); | 
| 1473 |  |  |  |  |  |  | work = ((right >> 4) ^ leftt) & 0x0f0f0f0fL; | 
| 1474 |  |  |  |  |  |  | leftt ^= work; | 
| 1475 |  |  |  |  |  |  | right ^= (work << 4); | 
| 1476 |  |  |  |  |  |  | # else /* !PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE && HAVE_NATIVE_INT64 */ | 
| 1477 |  |  |  |  |  |  | { | 
| 1478 |  |  |  |  |  |  | uint64 tmp; | 
| 1479 | 17820 |  |  |  |  |  | tmp = des_fp[0][byte(leftt, 0)] ^ | 
| 1480 | 11880 |  |  |  |  |  | des_fp[1][byte(leftt, 1)] ^ | 
| 1481 | 11880 |  |  |  |  |  | des_fp[2][byte(leftt, 2)] ^ | 
| 1482 | 11880 |  |  |  |  |  | des_fp[3][byte(leftt, 3)] ^ | 
| 1483 | 11880 |  |  |  |  |  | des_fp[4][byte(right, 0)] ^ | 
| 1484 | 11880 |  |  |  |  |  | des_fp[5][byte(right, 1)] ^ | 
| 1485 | 5940 |  |  |  |  |  | des_fp[6][byte(right, 2)] ^ | 
| 1486 | 5940 |  |  |  |  |  | des_fp[7][byte(right, 3)]; | 
| 1487 | 5940 |  |  |  |  |  | leftt = (uint32) (tmp >> 32); | 
| 1488 | 5940 |  |  |  |  |  | right = (uint32) (tmp & 0xFFFFFFFFUL); | 
| 1489 |  |  |  |  |  |  | } | 
| 1490 |  |  |  |  |  |  | # endif /* PS_3DES_IMPROVE_PERF_INCREASE_CODESIZE */ | 
| 1491 |  |  |  |  |  |  |  | 
| 1492 | 5940 |  |  |  |  |  | block[0] = right; | 
| 1493 | 5940 |  |  |  |  |  | block[1] = leftt; | 
| 1494 |  |  |  |  |  |  | # ifdef USE_BURN_STACK | 
| 1495 | 5940 |  |  |  |  |  | psBurnStack(sizeof(uint32) * 4 + sizeof(int32)); | 
| 1496 |  |  |  |  |  |  | # endif /* USE_BURN_STACK */ | 
| 1497 | 5940 |  |  |  |  |  | } | 
| 1498 |  |  |  |  |  |  |  | 
| 1499 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1500 |  |  |  |  |  |  | /* | 
| 1501 |  |  |  |  |  |  | Init the 3DES block cipher context for CBC-EDE mode. | 
| 1502 |  |  |  |  |  |  | IV should point to 8 bytes of initialization vector | 
| 1503 |  |  |  |  |  |  | Key should point to 24 bytes of data | 
| 1504 |  |  |  |  |  |  | */ | 
| 1505 | 13 |  |  |  |  |  | int32_t psDes3Init(psDes3_t *des3, const unsigned char IV[DES3_IVLEN], | 
| 1506 |  |  |  |  |  |  | const unsigned char key[DES3_KEYLEN]) | 
| 1507 |  |  |  |  |  |  | { | 
| 1508 |  |  |  |  |  |  | int32_t x, err; | 
| 1509 |  |  |  |  |  |  |  | 
| 1510 |  |  |  |  |  |  | # ifdef CRYPTO_ASSERT | 
| 1511 |  |  |  |  |  |  | if (IV == NULL || key == NULL || des3 == NULL) | 
| 1512 |  |  |  |  |  |  | { | 
| 1513 |  |  |  |  |  |  | psTraceCrypto("Bad args to psDes3Init\n"); | 
| 1514 |  |  |  |  |  |  | return PS_ARG_FAIL; | 
| 1515 |  |  |  |  |  |  | } | 
| 1516 |  |  |  |  |  |  | # endif | 
| 1517 | 13 |  |  |  |  |  | memset(des3, 0x0, sizeof(psDes3_t)); | 
| 1518 |  |  |  |  |  |  | /* setup cipher */ | 
| 1519 | 13 | 50 |  |  |  |  | if ((err = psDes3InitKey(key, &des3->key)) != PS_SUCCESS) | 
| 1520 |  |  |  |  |  |  | { | 
| 1521 | 0 |  |  |  |  |  | return err; | 
| 1522 |  |  |  |  |  |  | } | 
| 1523 |  |  |  |  |  |  | /* copy IV */ | 
| 1524 | 117 | 100 |  |  |  |  | for (x = 0; x < DES3_BLOCKLEN; x++) | 
| 1525 |  |  |  |  |  |  | { | 
| 1526 | 104 |  |  |  |  |  | des3->IV[x] = IV[x]; | 
| 1527 |  |  |  |  |  |  | } | 
| 1528 | 13 |  |  |  |  |  | return PS_SUCCESS; | 
| 1529 |  |  |  |  |  |  | } | 
| 1530 |  |  |  |  |  |  |  | 
| 1531 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1532 |  |  |  |  |  |  | /* | 
| 1533 |  |  |  |  |  |  | Encrypt a buffer using 3DES-EDE-CBC | 
| 1534 |  |  |  |  |  |  | (Encrypt Decrypt Encrypt and Cipher Block Chaining) | 
| 1535 |  |  |  |  |  |  | len must be a multiple of blockLen (8 bytes) | 
| 1536 |  |  |  |  |  |  | */ | 
| 1537 | 0 |  |  |  |  |  | void psDes3Encrypt(psDes3_t *des3, const unsigned char *pt, | 
| 1538 |  |  |  |  |  |  | unsigned char *ct, uint32_t len) | 
| 1539 |  |  |  |  |  |  | { | 
| 1540 |  |  |  |  |  |  | uint32_t i, x; | 
| 1541 |  |  |  |  |  |  | unsigned char tmp[DES3_BLOCKLEN]; | 
| 1542 |  |  |  |  |  |  |  | 
| 1543 |  |  |  |  |  |  | # ifdef CRYPTO_ASSERT | 
| 1544 |  |  |  |  |  |  | if (pt == NULL || ct == NULL || des3 == NULL || (len & 0x7) != 0) | 
| 1545 |  |  |  |  |  |  | { | 
| 1546 |  |  |  |  |  |  | psTraceCrypto("Bad args to psDes3Encrypt\n"); | 
| 1547 |  |  |  |  |  |  | return; | 
| 1548 |  |  |  |  |  |  | } | 
| 1549 |  |  |  |  |  |  | # endif | 
| 1550 |  |  |  |  |  |  |  | 
| 1551 | 0 | 0 |  |  |  |  | for (i = 0; i < len; i += DES3_BLOCKLEN) | 
| 1552 |  |  |  |  |  |  | { | 
| 1553 |  |  |  |  |  |  | /* xor IV against plaintext */ | 
| 1554 | 0 | 0 |  |  |  |  | for (x = 0; x < DES3_BLOCKLEN; x++) | 
| 1555 |  |  |  |  |  |  | { | 
| 1556 | 0 |  |  |  |  |  | tmp[x] = pt[x] ^ des3->IV[x]; | 
| 1557 |  |  |  |  |  |  | } | 
| 1558 |  |  |  |  |  |  | /* encrypt */ | 
| 1559 | 0 |  |  |  |  |  | psDes3EncryptBlock(tmp, ct, &des3->key); | 
| 1560 |  |  |  |  |  |  |  | 
| 1561 |  |  |  |  |  |  | /* store IV [ciphertext] for a future block */ | 
| 1562 | 0 | 0 |  |  |  |  | for (x = 0; x < DES3_BLOCKLEN; x++) | 
| 1563 |  |  |  |  |  |  | { | 
| 1564 | 0 |  |  |  |  |  | des3->IV[x] = ct[x]; | 
| 1565 |  |  |  |  |  |  | } | 
| 1566 | 0 |  |  |  |  |  | ct += DES3_BLOCKLEN; | 
| 1567 | 0 |  |  |  |  |  | pt += DES3_BLOCKLEN; | 
| 1568 |  |  |  |  |  |  | } | 
| 1569 |  |  |  |  |  |  |  | 
| 1570 | 0 |  |  |  |  |  | memzero_s(tmp, sizeof(tmp)); | 
| 1571 | 0 |  |  |  |  |  | } | 
| 1572 |  |  |  |  |  |  |  | 
| 1573 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1574 |  |  |  |  |  |  | /* | 
| 1575 |  |  |  |  |  |  | Decrypt a buffer using 3DES-EDE-CBC | 
| 1576 |  |  |  |  |  |  | (Encrypt Decrypt Encrypt and Cipher Block Chaining) | 
| 1577 |  |  |  |  |  |  | len must be a multiple of blockLen (8 bytes) | 
| 1578 |  |  |  |  |  |  | */ | 
| 1579 | 13 |  |  |  |  |  | void psDes3Decrypt(psDes3_t *des3, const unsigned char *ct, | 
| 1580 |  |  |  |  |  |  | unsigned char *pt, uint32_t len) | 
| 1581 |  |  |  |  |  |  | { | 
| 1582 |  |  |  |  |  |  | uint32_t i, x; | 
| 1583 |  |  |  |  |  |  | unsigned char tmp[DES3_BLOCKLEN], tmp2[DES3_BLOCKLEN]; | 
| 1584 |  |  |  |  |  |  |  | 
| 1585 |  |  |  |  |  |  | # ifdef CRYPTO_ASSERT | 
| 1586 |  |  |  |  |  |  | if (pt == NULL || ct == NULL || des3 == NULL || (len & 0x7) != 0) | 
| 1587 |  |  |  |  |  |  | { | 
| 1588 |  |  |  |  |  |  | psTraceCrypto("Bad args to psDes3Decrypt\n"); | 
| 1589 |  |  |  |  |  |  | return; | 
| 1590 |  |  |  |  |  |  | } | 
| 1591 |  |  |  |  |  |  | # endif | 
| 1592 |  |  |  |  |  |  |  | 
| 1593 | 1993 | 100 |  |  |  |  | for (i = 0; i < len; i += DES3_BLOCKLEN) | 
| 1594 |  |  |  |  |  |  | { | 
| 1595 |  |  |  |  |  |  | /* decrypt the block from ct into tmp */ | 
| 1596 | 1980 |  |  |  |  |  | psDes3DecryptBlock(ct, tmp, &des3->key); | 
| 1597 |  |  |  |  |  |  | /* xor IV against the plaintext of the previous step */ | 
| 1598 | 17820 | 100 |  |  |  |  | for (x = 0; x < DES3_BLOCKLEN; x++) | 
| 1599 |  |  |  |  |  |  | { | 
| 1600 |  |  |  |  |  |  | /* copy CT in case ct == pt */ | 
| 1601 | 15840 |  |  |  |  |  | tmp2[x] = ct[x]; | 
| 1602 |  |  |  |  |  |  | /* actually decrypt the byte */ | 
| 1603 | 15840 |  |  |  |  |  | pt[x] = tmp[x] ^ des3->IV[x]; | 
| 1604 |  |  |  |  |  |  | } | 
| 1605 |  |  |  |  |  |  | /* replace IV with this current ciphertext */ | 
| 1606 | 17820 | 100 |  |  |  |  | for (x = 0; x < DES3_BLOCKLEN; x++) | 
| 1607 |  |  |  |  |  |  | { | 
| 1608 | 15840 |  |  |  |  |  | des3->IV[x] = tmp2[x]; | 
| 1609 |  |  |  |  |  |  | } | 
| 1610 | 1980 |  |  |  |  |  | ct += DES3_BLOCKLEN; | 
| 1611 | 1980 |  |  |  |  |  | pt += DES3_BLOCKLEN; | 
| 1612 |  |  |  |  |  |  | } | 
| 1613 | 13 |  |  |  |  |  | memzero_s(tmp, sizeof(tmp)); | 
| 1614 | 13 |  |  |  |  |  | memzero_s(tmp2, sizeof(tmp2)); | 
| 1615 | 13 |  |  |  |  |  | } | 
| 1616 |  |  |  |  |  |  |  | 
| 1617 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1618 |  |  |  |  |  |  |  | 
| 1619 | 0 |  |  |  |  |  | void psDes3Clear(psDes3_t *des3) | 
| 1620 |  |  |  |  |  |  | { | 
| 1621 | 0 |  |  |  |  |  | memzero_s(des3, sizeof(psDes3_t)); | 
| 1622 | 0 |  |  |  |  |  | } | 
| 1623 |  |  |  |  |  |  |  | 
| 1624 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1625 |  |  |  |  |  |  | /* | 
| 1626 |  |  |  |  |  |  | We don't validate DES keys against the following known weak keys. | 
| 1627 |  |  |  |  |  |  | Astronomically small chances of randomly getting a weak key | 
| 1628 |  |  |  |  |  |  | with 3DES. http://www.rsasecurity.com/rsalabs/faq/3-2-4.html | 
| 1629 |  |  |  |  |  |  |  | 
| 1630 |  |  |  |  |  |  | http://www.itl.nist.gov/fipspubs/fip74.htm | 
| 1631 |  |  |  |  |  |  | 1.          E001E00lFl0lFl0l        11.     01E001E00lFl0lFl | 
| 1632 |  |  |  |  |  |  | 2.          FElFFElFFEOEFEOE        12.     1FFElFFEOEFEOEFE | 
| 1633 |  |  |  |  |  |  | 3.          E01FE01FF10EF10E        13.     1FE01FEOOEF10EF1 | 
| 1634 |  |  |  |  |  |  | 4.          01FE01FE01FE01FE        14.     FE01FE01FE01FE01 | 
| 1635 |  |  |  |  |  |  | 5.          011F011F0l0E010E        15.     1F011F0l0E0l0E01 | 
| 1636 |  |  |  |  |  |  | 6.          E0FEE0FEFlFEFlFE        16.     FEE0FEE0FEFlFEF1 | 
| 1637 |  |  |  |  |  |  | 7.          0101010101010101 | 
| 1638 |  |  |  |  |  |  | 8.          FEFEFEFEFEFEFEFE | 
| 1639 |  |  |  |  |  |  | 9.          E0E0E0E0FlFlFlFl | 
| 1640 |  |  |  |  |  |  | 10.         lFlFlFlF0E0E0E0E | 
| 1641 |  |  |  |  |  |  | */ | 
| 1642 | 13 |  |  |  |  |  | static int32 psDes3InitKey(const unsigned char key[DES3_KEYLEN], psDes3Key_t *skey) | 
| 1643 |  |  |  |  |  |  | { | 
| 1644 | 13 | 50 |  |  |  |  | if (key == NULL || skey == NULL) | 
|  |  | 50 |  |  |  |  |  | 
| 1645 |  |  |  |  |  |  | { | 
| 1646 |  |  |  |  |  |  | psTraceCrypto("Arg failure to psDes3InitKey\n"); | 
| 1647 | 0 |  |  |  |  |  | return PS_ARG_FAIL; | 
| 1648 |  |  |  |  |  |  | } | 
| 1649 |  |  |  |  |  |  |  | 
| 1650 | 13 |  |  |  |  |  | deskey(key, EN0, skey->ek[0]); | 
| 1651 | 13 |  |  |  |  |  | deskey(key + 8,   DE1, skey->ek[1]); | 
| 1652 | 13 |  |  |  |  |  | deskey(key + 16,  EN0, skey->ek[2]); | 
| 1653 |  |  |  |  |  |  |  | 
| 1654 | 13 |  |  |  |  |  | deskey(key,     DE1, skey->dk[2]); | 
| 1655 | 13 |  |  |  |  |  | deskey(key + 8,   EN0, skey->dk[1]); | 
| 1656 | 13 |  |  |  |  |  | deskey(key + 16,  DE1, skey->dk[0]); | 
| 1657 |  |  |  |  |  |  |  | 
| 1658 | 13 |  |  |  |  |  | return PS_SUCCESS; | 
| 1659 |  |  |  |  |  |  | } | 
| 1660 |  |  |  |  |  |  |  | 
| 1661 | 0 |  |  |  |  |  | static void psDes3EncryptBlock(const unsigned char *pt, unsigned char *ct, | 
| 1662 |  |  |  |  |  |  | psDes3Key_t *key) | 
| 1663 |  |  |  |  |  |  | { | 
| 1664 |  |  |  |  |  |  | uint32 work[2]; | 
| 1665 |  |  |  |  |  |  |  | 
| 1666 | 0 |  |  |  |  |  | LOAD32H(work[0], pt + 0); | 
| 1667 | 0 |  |  |  |  |  | LOAD32H(work[1], pt + 4); | 
| 1668 | 0 |  |  |  |  |  | desfunc(work, key->ek[0]); | 
| 1669 | 0 |  |  |  |  |  | desfunc(work, key->ek[1]); | 
| 1670 | 0 |  |  |  |  |  | desfunc(work, key->ek[2]); | 
| 1671 | 0 |  |  |  |  |  | STORE32H(work[0], ct + 0); | 
| 1672 | 0 |  |  |  |  |  | STORE32H(work[1], ct + 4); | 
| 1673 | 0 |  |  |  |  |  | } | 
| 1674 |  |  |  |  |  |  |  | 
| 1675 | 1980 |  |  |  |  |  | static void psDes3DecryptBlock(const unsigned char *ct, unsigned char *pt, | 
| 1676 |  |  |  |  |  |  | psDes3Key_t *key) | 
| 1677 |  |  |  |  |  |  | { | 
| 1678 |  |  |  |  |  |  | uint32 work[2]; | 
| 1679 |  |  |  |  |  |  |  | 
| 1680 | 1980 |  |  |  |  |  | LOAD32H(work[0], ct + 0); | 
| 1681 | 1980 |  |  |  |  |  | LOAD32H(work[1], ct + 4); | 
| 1682 | 1980 |  |  |  |  |  | desfunc(work, key->dk[0]); | 
| 1683 | 1980 |  |  |  |  |  | desfunc(work, key->dk[1]); | 
| 1684 | 1980 |  |  |  |  |  | desfunc(work, key->dk[2]); | 
| 1685 | 1980 |  |  |  |  |  | STORE32H(work[0], pt + 0); | 
| 1686 | 1980 |  |  |  |  |  | STORE32H(work[1], pt + 4); | 
| 1687 | 1980 |  |  |  |  |  | } | 
| 1688 |  |  |  |  |  |  |  | 
| 1689 |  |  |  |  |  |  | #endif  /* USE_MATRIX_3DES */ | 
| 1690 |  |  |  |  |  |  |  | 
| 1691 |  |  |  |  |  |  | /******************************************************************************/ | 
| 1692 |  |  |  |  |  |  |  |