001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.codec.digest; 018 019import java.util.zip.Checksum; 020 021/** 022 * A pure-java implementation of the CRC32 checksum that uses 023 * the same polynomial as the built-in native CRC32. 024 * 025 * This is to avoid the JNI overhead for certain uses of Checksumming 026 * where many small pieces of data are checksummed in succession. 027 * 028 * The current version is ~10x to 1.8x as fast as Sun's native 029 * java.util.zip.CRC32 in Java 1.6 030 * 031 * Copied from Hadoop 2.6.3. 032 * The code agrees with the following file in the 2.6.3 tag: 033 * https://git-wip-us.apache.org/repos/asf?p=hadoop.git;a=blob_plain; 034 * f=hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/PureJavaCrc32.java; 035 * hb=2120de588b92b9f22b1cc4188761d6a8c61aa778 036 * <p> 037 * This class is Not ThreadSafe 038 * 039 * @see java.util.zip.CRC32 040 * @since 1.11 041 */ 042public class PureJavaCrc32 implements Checksum { 043 044 /** the current CRC value, bit-flipped */ 045 private int crc; 046 047 /** Create a new PureJavaCrc32 object. */ 048 public PureJavaCrc32() { 049 _reset(); 050 } 051 052 @Override 053 public long getValue() { 054 return (~crc) & 0xffffffffL; 055 } 056 057 @Override 058 public void reset() { 059 _reset(); 060 } 061 062 // called by ctor, so must not be overrideable 063 private void _reset() { 064 crc = 0xffffffff; 065 } 066 067 @Override 068 public void update(final byte[] b, final int offset, final int len) { 069 int localCrc = crc; 070 071 final int remainder = len & 0x7; 072 int i = offset; 073 for(final int end = offset + len - remainder; i < end; i += 8) { 074 final int x = localCrc ^ 075 ((((b[i ] << 24) >>> 24) + ((b[i+1] << 24) >>> 16)) + 076 (((b[i+2] << 24) >>> 8 ) + (b[i+3] << 24))); 077 078 localCrc = ((T[((x << 24) >>> 24) + 0x700] ^ T[((x << 16) >>> 24) + 0x600]) ^ 079 (T[((x << 8) >>> 24) + 0x500] ^ T[ (x >>> 24) + 0x400])) ^ 080 ((T[((b[i+4] << 24) >>> 24) + 0x300] ^ T[((b[i+5] << 24) >>> 24) + 0x200]) ^ 081 (T[((b[i+6] << 24) >>> 24) + 0x100] ^ T[((b[i+7] << 24) >>> 24)])); 082 } 083 084 /* loop unroll - duff's device style */ 085 switch(remainder) { 086 case 7: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 087 case 6: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 088 case 5: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 089 case 4: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 090 case 3: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 091 case 2: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 092 case 1: localCrc = (localCrc >>> 8) ^ T[((localCrc ^ b[i++]) << 24) >>> 24]; 093 default: 094 /* nothing */ 095 } 096 097 // Publish crc out to object 098 crc = localCrc; 099 } 100 101 @Override 102 final public void update(final int b) { 103 crc = (crc >>> 8) ^ T[(((crc ^ b) << 24) >>> 24)]; 104 } 105 106 /* 107 * CRC-32 lookup tables generated by the polynomial 0xEDB88320. 108 * See also TestPureJavaCrc32.Table. 109 */ 110 private static final int[] T = new int[] { 111 /* T8_0 */ 112 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 113 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 114 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 115 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 116 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 117 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 118 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 119 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 120 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 121 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 122 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 123 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 124 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 125 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 126 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 127 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 128 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 129 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 130 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 131 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 132 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 133 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 134 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 135 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 136 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 137 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 138 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 139 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 140 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 141 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 142 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 143 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 144 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 145 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 146 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 147 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 148 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 149 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 150 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 151 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 152 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 153 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 154 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 155 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 156 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 157 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 158 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 159 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 160 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 161 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 162 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 163 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 164 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 165 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 166 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 167 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 168 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 169 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 170 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 171 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 172 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 173 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 174 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 175 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, 176 /* T8_1 */ 177 0x00000000, 0x191B3141, 0x32366282, 0x2B2D53C3, 178 0x646CC504, 0x7D77F445, 0x565AA786, 0x4F4196C7, 179 0xC8D98A08, 0xD1C2BB49, 0xFAEFE88A, 0xE3F4D9CB, 180 0xACB54F0C, 0xB5AE7E4D, 0x9E832D8E, 0x87981CCF, 181 0x4AC21251, 0x53D92310, 0x78F470D3, 0x61EF4192, 182 0x2EAED755, 0x37B5E614, 0x1C98B5D7, 0x05838496, 183 0x821B9859, 0x9B00A918, 0xB02DFADB, 0xA936CB9A, 184 0xE6775D5D, 0xFF6C6C1C, 0xD4413FDF, 0xCD5A0E9E, 185 0x958424A2, 0x8C9F15E3, 0xA7B24620, 0xBEA97761, 186 0xF1E8E1A6, 0xE8F3D0E7, 0xC3DE8324, 0xDAC5B265, 187 0x5D5DAEAA, 0x44469FEB, 0x6F6BCC28, 0x7670FD69, 188 0x39316BAE, 0x202A5AEF, 0x0B07092C, 0x121C386D, 189 0xDF4636F3, 0xC65D07B2, 0xED705471, 0xF46B6530, 190 0xBB2AF3F7, 0xA231C2B6, 0x891C9175, 0x9007A034, 191 0x179FBCFB, 0x0E848DBA, 0x25A9DE79, 0x3CB2EF38, 192 0x73F379FF, 0x6AE848BE, 0x41C51B7D, 0x58DE2A3C, 193 0xF0794F05, 0xE9627E44, 0xC24F2D87, 0xDB541CC6, 194 0x94158A01, 0x8D0EBB40, 0xA623E883, 0xBF38D9C2, 195 0x38A0C50D, 0x21BBF44C, 0x0A96A78F, 0x138D96CE, 196 0x5CCC0009, 0x45D73148, 0x6EFA628B, 0x77E153CA, 197 0xBABB5D54, 0xA3A06C15, 0x888D3FD6, 0x91960E97, 198 0xDED79850, 0xC7CCA911, 0xECE1FAD2, 0xF5FACB93, 199 0x7262D75C, 0x6B79E61D, 0x4054B5DE, 0x594F849F, 200 0x160E1258, 0x0F152319, 0x243870DA, 0x3D23419B, 201 0x65FD6BA7, 0x7CE65AE6, 0x57CB0925, 0x4ED03864, 202 0x0191AEA3, 0x188A9FE2, 0x33A7CC21, 0x2ABCFD60, 203 0xAD24E1AF, 0xB43FD0EE, 0x9F12832D, 0x8609B26C, 204 0xC94824AB, 0xD05315EA, 0xFB7E4629, 0xE2657768, 205 0x2F3F79F6, 0x362448B7, 0x1D091B74, 0x04122A35, 206 0x4B53BCF2, 0x52488DB3, 0x7965DE70, 0x607EEF31, 207 0xE7E6F3FE, 0xFEFDC2BF, 0xD5D0917C, 0xCCCBA03D, 208 0x838A36FA, 0x9A9107BB, 0xB1BC5478, 0xA8A76539, 209 0x3B83984B, 0x2298A90A, 0x09B5FAC9, 0x10AECB88, 210 0x5FEF5D4F, 0x46F46C0E, 0x6DD93FCD, 0x74C20E8C, 211 0xF35A1243, 0xEA412302, 0xC16C70C1, 0xD8774180, 212 0x9736D747, 0x8E2DE606, 0xA500B5C5, 0xBC1B8484, 213 0x71418A1A, 0x685ABB5B, 0x4377E898, 0x5A6CD9D9, 214 0x152D4F1E, 0x0C367E5F, 0x271B2D9C, 0x3E001CDD, 215 0xB9980012, 0xA0833153, 0x8BAE6290, 0x92B553D1, 216 0xDDF4C516, 0xC4EFF457, 0xEFC2A794, 0xF6D996D5, 217 0xAE07BCE9, 0xB71C8DA8, 0x9C31DE6B, 0x852AEF2A, 218 0xCA6B79ED, 0xD37048AC, 0xF85D1B6F, 0xE1462A2E, 219 0x66DE36E1, 0x7FC507A0, 0x54E85463, 0x4DF36522, 220 0x02B2F3E5, 0x1BA9C2A4, 0x30849167, 0x299FA026, 221 0xE4C5AEB8, 0xFDDE9FF9, 0xD6F3CC3A, 0xCFE8FD7B, 222 0x80A96BBC, 0x99B25AFD, 0xB29F093E, 0xAB84387F, 223 0x2C1C24B0, 0x350715F1, 0x1E2A4632, 0x07317773, 224 0x4870E1B4, 0x516BD0F5, 0x7A468336, 0x635DB277, 225 0xCBFAD74E, 0xD2E1E60F, 0xF9CCB5CC, 0xE0D7848D, 226 0xAF96124A, 0xB68D230B, 0x9DA070C8, 0x84BB4189, 227 0x03235D46, 0x1A386C07, 0x31153FC4, 0x280E0E85, 228 0x674F9842, 0x7E54A903, 0x5579FAC0, 0x4C62CB81, 229 0x8138C51F, 0x9823F45E, 0xB30EA79D, 0xAA1596DC, 230 0xE554001B, 0xFC4F315A, 0xD7626299, 0xCE7953D8, 231 0x49E14F17, 0x50FA7E56, 0x7BD72D95, 0x62CC1CD4, 232 0x2D8D8A13, 0x3496BB52, 0x1FBBE891, 0x06A0D9D0, 233 0x5E7EF3EC, 0x4765C2AD, 0x6C48916E, 0x7553A02F, 234 0x3A1236E8, 0x230907A9, 0x0824546A, 0x113F652B, 235 0x96A779E4, 0x8FBC48A5, 0xA4911B66, 0xBD8A2A27, 236 0xF2CBBCE0, 0xEBD08DA1, 0xC0FDDE62, 0xD9E6EF23, 237 0x14BCE1BD, 0x0DA7D0FC, 0x268A833F, 0x3F91B27E, 238 0x70D024B9, 0x69CB15F8, 0x42E6463B, 0x5BFD777A, 239 0xDC656BB5, 0xC57E5AF4, 0xEE530937, 0xF7483876, 240 0xB809AEB1, 0xA1129FF0, 0x8A3FCC33, 0x9324FD72, 241 /* T8_2 */ 242 0x00000000, 0x01C26A37, 0x0384D46E, 0x0246BE59, 243 0x0709A8DC, 0x06CBC2EB, 0x048D7CB2, 0x054F1685, 244 0x0E1351B8, 0x0FD13B8F, 0x0D9785D6, 0x0C55EFE1, 245 0x091AF964, 0x08D89353, 0x0A9E2D0A, 0x0B5C473D, 246 0x1C26A370, 0x1DE4C947, 0x1FA2771E, 0x1E601D29, 247 0x1B2F0BAC, 0x1AED619B, 0x18ABDFC2, 0x1969B5F5, 248 0x1235F2C8, 0x13F798FF, 0x11B126A6, 0x10734C91, 249 0x153C5A14, 0x14FE3023, 0x16B88E7A, 0x177AE44D, 250 0x384D46E0, 0x398F2CD7, 0x3BC9928E, 0x3A0BF8B9, 251 0x3F44EE3C, 0x3E86840B, 0x3CC03A52, 0x3D025065, 252 0x365E1758, 0x379C7D6F, 0x35DAC336, 0x3418A901, 253 0x3157BF84, 0x3095D5B3, 0x32D36BEA, 0x331101DD, 254 0x246BE590, 0x25A98FA7, 0x27EF31FE, 0x262D5BC9, 255 0x23624D4C, 0x22A0277B, 0x20E69922, 0x2124F315, 256 0x2A78B428, 0x2BBADE1F, 0x29FC6046, 0x283E0A71, 257 0x2D711CF4, 0x2CB376C3, 0x2EF5C89A, 0x2F37A2AD, 258 0x709A8DC0, 0x7158E7F7, 0x731E59AE, 0x72DC3399, 259 0x7793251C, 0x76514F2B, 0x7417F172, 0x75D59B45, 260 0x7E89DC78, 0x7F4BB64F, 0x7D0D0816, 0x7CCF6221, 261 0x798074A4, 0x78421E93, 0x7A04A0CA, 0x7BC6CAFD, 262 0x6CBC2EB0, 0x6D7E4487, 0x6F38FADE, 0x6EFA90E9, 263 0x6BB5866C, 0x6A77EC5B, 0x68315202, 0x69F33835, 264 0x62AF7F08, 0x636D153F, 0x612BAB66, 0x60E9C151, 265 0x65A6D7D4, 0x6464BDE3, 0x662203BA, 0x67E0698D, 266 0x48D7CB20, 0x4915A117, 0x4B531F4E, 0x4A917579, 267 0x4FDE63FC, 0x4E1C09CB, 0x4C5AB792, 0x4D98DDA5, 268 0x46C49A98, 0x4706F0AF, 0x45404EF6, 0x448224C1, 269 0x41CD3244, 0x400F5873, 0x4249E62A, 0x438B8C1D, 270 0x54F16850, 0x55330267, 0x5775BC3E, 0x56B7D609, 271 0x53F8C08C, 0x523AAABB, 0x507C14E2, 0x51BE7ED5, 272 0x5AE239E8, 0x5B2053DF, 0x5966ED86, 0x58A487B1, 273 0x5DEB9134, 0x5C29FB03, 0x5E6F455A, 0x5FAD2F6D, 274 0xE1351B80, 0xE0F771B7, 0xE2B1CFEE, 0xE373A5D9, 275 0xE63CB35C, 0xE7FED96B, 0xE5B86732, 0xE47A0D05, 276 0xEF264A38, 0xEEE4200F, 0xECA29E56, 0xED60F461, 277 0xE82FE2E4, 0xE9ED88D3, 0xEBAB368A, 0xEA695CBD, 278 0xFD13B8F0, 0xFCD1D2C7, 0xFE976C9E, 0xFF5506A9, 279 0xFA1A102C, 0xFBD87A1B, 0xF99EC442, 0xF85CAE75, 280 0xF300E948, 0xF2C2837F, 0xF0843D26, 0xF1465711, 281 0xF4094194, 0xF5CB2BA3, 0xF78D95FA, 0xF64FFFCD, 282 0xD9785D60, 0xD8BA3757, 0xDAFC890E, 0xDB3EE339, 283 0xDE71F5BC, 0xDFB39F8B, 0xDDF521D2, 0xDC374BE5, 284 0xD76B0CD8, 0xD6A966EF, 0xD4EFD8B6, 0xD52DB281, 285 0xD062A404, 0xD1A0CE33, 0xD3E6706A, 0xD2241A5D, 286 0xC55EFE10, 0xC49C9427, 0xC6DA2A7E, 0xC7184049, 287 0xC25756CC, 0xC3953CFB, 0xC1D382A2, 0xC011E895, 288 0xCB4DAFA8, 0xCA8FC59F, 0xC8C97BC6, 0xC90B11F1, 289 0xCC440774, 0xCD866D43, 0xCFC0D31A, 0xCE02B92D, 290 0x91AF9640, 0x906DFC77, 0x922B422E, 0x93E92819, 291 0x96A63E9C, 0x976454AB, 0x9522EAF2, 0x94E080C5, 292 0x9FBCC7F8, 0x9E7EADCF, 0x9C381396, 0x9DFA79A1, 293 0x98B56F24, 0x99770513, 0x9B31BB4A, 0x9AF3D17D, 294 0x8D893530, 0x8C4B5F07, 0x8E0DE15E, 0x8FCF8B69, 295 0x8A809DEC, 0x8B42F7DB, 0x89044982, 0x88C623B5, 296 0x839A6488, 0x82580EBF, 0x801EB0E6, 0x81DCDAD1, 297 0x8493CC54, 0x8551A663, 0x8717183A, 0x86D5720D, 298 0xA9E2D0A0, 0xA820BA97, 0xAA6604CE, 0xABA46EF9, 299 0xAEEB787C, 0xAF29124B, 0xAD6FAC12, 0xACADC625, 300 0xA7F18118, 0xA633EB2F, 0xA4755576, 0xA5B73F41, 301 0xA0F829C4, 0xA13A43F3, 0xA37CFDAA, 0xA2BE979D, 302 0xB5C473D0, 0xB40619E7, 0xB640A7BE, 0xB782CD89, 303 0xB2CDDB0C, 0xB30FB13B, 0xB1490F62, 0xB08B6555, 304 0xBBD72268, 0xBA15485F, 0xB853F606, 0xB9919C31, 305 0xBCDE8AB4, 0xBD1CE083, 0xBF5A5EDA, 0xBE9834ED, 306 /* T8_3 */ 307 0x00000000, 0xB8BC6765, 0xAA09C88B, 0x12B5AFEE, 308 0x8F629757, 0x37DEF032, 0x256B5FDC, 0x9DD738B9, 309 0xC5B428EF, 0x7D084F8A, 0x6FBDE064, 0xD7018701, 310 0x4AD6BFB8, 0xF26AD8DD, 0xE0DF7733, 0x58631056, 311 0x5019579F, 0xE8A530FA, 0xFA109F14, 0x42ACF871, 312 0xDF7BC0C8, 0x67C7A7AD, 0x75720843, 0xCDCE6F26, 313 0x95AD7F70, 0x2D111815, 0x3FA4B7FB, 0x8718D09E, 314 0x1ACFE827, 0xA2738F42, 0xB0C620AC, 0x087A47C9, 315 0xA032AF3E, 0x188EC85B, 0x0A3B67B5, 0xB28700D0, 316 0x2F503869, 0x97EC5F0C, 0x8559F0E2, 0x3DE59787, 317 0x658687D1, 0xDD3AE0B4, 0xCF8F4F5A, 0x7733283F, 318 0xEAE41086, 0x525877E3, 0x40EDD80D, 0xF851BF68, 319 0xF02BF8A1, 0x48979FC4, 0x5A22302A, 0xE29E574F, 320 0x7F496FF6, 0xC7F50893, 0xD540A77D, 0x6DFCC018, 321 0x359FD04E, 0x8D23B72B, 0x9F9618C5, 0x272A7FA0, 322 0xBAFD4719, 0x0241207C, 0x10F48F92, 0xA848E8F7, 323 0x9B14583D, 0x23A83F58, 0x311D90B6, 0x89A1F7D3, 324 0x1476CF6A, 0xACCAA80F, 0xBE7F07E1, 0x06C36084, 325 0x5EA070D2, 0xE61C17B7, 0xF4A9B859, 0x4C15DF3C, 326 0xD1C2E785, 0x697E80E0, 0x7BCB2F0E, 0xC377486B, 327 0xCB0D0FA2, 0x73B168C7, 0x6104C729, 0xD9B8A04C, 328 0x446F98F5, 0xFCD3FF90, 0xEE66507E, 0x56DA371B, 329 0x0EB9274D, 0xB6054028, 0xA4B0EFC6, 0x1C0C88A3, 330 0x81DBB01A, 0x3967D77F, 0x2BD27891, 0x936E1FF4, 331 0x3B26F703, 0x839A9066, 0x912F3F88, 0x299358ED, 332 0xB4446054, 0x0CF80731, 0x1E4DA8DF, 0xA6F1CFBA, 333 0xFE92DFEC, 0x462EB889, 0x549B1767, 0xEC277002, 334 0x71F048BB, 0xC94C2FDE, 0xDBF98030, 0x6345E755, 335 0x6B3FA09C, 0xD383C7F9, 0xC1366817, 0x798A0F72, 336 0xE45D37CB, 0x5CE150AE, 0x4E54FF40, 0xF6E89825, 337 0xAE8B8873, 0x1637EF16, 0x048240F8, 0xBC3E279D, 338 0x21E91F24, 0x99557841, 0x8BE0D7AF, 0x335CB0CA, 339 0xED59B63B, 0x55E5D15E, 0x47507EB0, 0xFFEC19D5, 340 0x623B216C, 0xDA874609, 0xC832E9E7, 0x708E8E82, 341 0x28ED9ED4, 0x9051F9B1, 0x82E4565F, 0x3A58313A, 342 0xA78F0983, 0x1F336EE6, 0x0D86C108, 0xB53AA66D, 343 0xBD40E1A4, 0x05FC86C1, 0x1749292F, 0xAFF54E4A, 344 0x322276F3, 0x8A9E1196, 0x982BBE78, 0x2097D91D, 345 0x78F4C94B, 0xC048AE2E, 0xD2FD01C0, 0x6A4166A5, 346 0xF7965E1C, 0x4F2A3979, 0x5D9F9697, 0xE523F1F2, 347 0x4D6B1905, 0xF5D77E60, 0xE762D18E, 0x5FDEB6EB, 348 0xC2098E52, 0x7AB5E937, 0x680046D9, 0xD0BC21BC, 349 0x88DF31EA, 0x3063568F, 0x22D6F961, 0x9A6A9E04, 350 0x07BDA6BD, 0xBF01C1D8, 0xADB46E36, 0x15080953, 351 0x1D724E9A, 0xA5CE29FF, 0xB77B8611, 0x0FC7E174, 352 0x9210D9CD, 0x2AACBEA8, 0x38191146, 0x80A57623, 353 0xD8C66675, 0x607A0110, 0x72CFAEFE, 0xCA73C99B, 354 0x57A4F122, 0xEF189647, 0xFDAD39A9, 0x45115ECC, 355 0x764DEE06, 0xCEF18963, 0xDC44268D, 0x64F841E8, 356 0xF92F7951, 0x41931E34, 0x5326B1DA, 0xEB9AD6BF, 357 0xB3F9C6E9, 0x0B45A18C, 0x19F00E62, 0xA14C6907, 358 0x3C9B51BE, 0x842736DB, 0x96929935, 0x2E2EFE50, 359 0x2654B999, 0x9EE8DEFC, 0x8C5D7112, 0x34E11677, 360 0xA9362ECE, 0x118A49AB, 0x033FE645, 0xBB838120, 361 0xE3E09176, 0x5B5CF613, 0x49E959FD, 0xF1553E98, 362 0x6C820621, 0xD43E6144, 0xC68BCEAA, 0x7E37A9CF, 363 0xD67F4138, 0x6EC3265D, 0x7C7689B3, 0xC4CAEED6, 364 0x591DD66F, 0xE1A1B10A, 0xF3141EE4, 0x4BA87981, 365 0x13CB69D7, 0xAB770EB2, 0xB9C2A15C, 0x017EC639, 366 0x9CA9FE80, 0x241599E5, 0x36A0360B, 0x8E1C516E, 367 0x866616A7, 0x3EDA71C2, 0x2C6FDE2C, 0x94D3B949, 368 0x090481F0, 0xB1B8E695, 0xA30D497B, 0x1BB12E1E, 369 0x43D23E48, 0xFB6E592D, 0xE9DBF6C3, 0x516791A6, 370 0xCCB0A91F, 0x740CCE7A, 0x66B96194, 0xDE0506F1, 371 /* T8_4 */ 372 0x00000000, 0x3D6029B0, 0x7AC05360, 0x47A07AD0, 373 0xF580A6C0, 0xC8E08F70, 0x8F40F5A0, 0xB220DC10, 374 0x30704BC1, 0x0D106271, 0x4AB018A1, 0x77D03111, 375 0xC5F0ED01, 0xF890C4B1, 0xBF30BE61, 0x825097D1, 376 0x60E09782, 0x5D80BE32, 0x1A20C4E2, 0x2740ED52, 377 0x95603142, 0xA80018F2, 0xEFA06222, 0xD2C04B92, 378 0x5090DC43, 0x6DF0F5F3, 0x2A508F23, 0x1730A693, 379 0xA5107A83, 0x98705333, 0xDFD029E3, 0xE2B00053, 380 0xC1C12F04, 0xFCA106B4, 0xBB017C64, 0x866155D4, 381 0x344189C4, 0x0921A074, 0x4E81DAA4, 0x73E1F314, 382 0xF1B164C5, 0xCCD14D75, 0x8B7137A5, 0xB6111E15, 383 0x0431C205, 0x3951EBB5, 0x7EF19165, 0x4391B8D5, 384 0xA121B886, 0x9C419136, 0xDBE1EBE6, 0xE681C256, 385 0x54A11E46, 0x69C137F6, 0x2E614D26, 0x13016496, 386 0x9151F347, 0xAC31DAF7, 0xEB91A027, 0xD6F18997, 387 0x64D15587, 0x59B17C37, 0x1E1106E7, 0x23712F57, 388 0x58F35849, 0x659371F9, 0x22330B29, 0x1F532299, 389 0xAD73FE89, 0x9013D739, 0xD7B3ADE9, 0xEAD38459, 390 0x68831388, 0x55E33A38, 0x124340E8, 0x2F236958, 391 0x9D03B548, 0xA0639CF8, 0xE7C3E628, 0xDAA3CF98, 392 0x3813CFCB, 0x0573E67B, 0x42D39CAB, 0x7FB3B51B, 393 0xCD93690B, 0xF0F340BB, 0xB7533A6B, 0x8A3313DB, 394 0x0863840A, 0x3503ADBA, 0x72A3D76A, 0x4FC3FEDA, 395 0xFDE322CA, 0xC0830B7A, 0x872371AA, 0xBA43581A, 396 0x9932774D, 0xA4525EFD, 0xE3F2242D, 0xDE920D9D, 397 0x6CB2D18D, 0x51D2F83D, 0x167282ED, 0x2B12AB5D, 398 0xA9423C8C, 0x9422153C, 0xD3826FEC, 0xEEE2465C, 399 0x5CC29A4C, 0x61A2B3FC, 0x2602C92C, 0x1B62E09C, 400 0xF9D2E0CF, 0xC4B2C97F, 0x8312B3AF, 0xBE729A1F, 401 0x0C52460F, 0x31326FBF, 0x7692156F, 0x4BF23CDF, 402 0xC9A2AB0E, 0xF4C282BE, 0xB362F86E, 0x8E02D1DE, 403 0x3C220DCE, 0x0142247E, 0x46E25EAE, 0x7B82771E, 404 0xB1E6B092, 0x8C869922, 0xCB26E3F2, 0xF646CA42, 405 0x44661652, 0x79063FE2, 0x3EA64532, 0x03C66C82, 406 0x8196FB53, 0xBCF6D2E3, 0xFB56A833, 0xC6368183, 407 0x74165D93, 0x49767423, 0x0ED60EF3, 0x33B62743, 408 0xD1062710, 0xEC660EA0, 0xABC67470, 0x96A65DC0, 409 0x248681D0, 0x19E6A860, 0x5E46D2B0, 0x6326FB00, 410 0xE1766CD1, 0xDC164561, 0x9BB63FB1, 0xA6D61601, 411 0x14F6CA11, 0x2996E3A1, 0x6E369971, 0x5356B0C1, 412 0x70279F96, 0x4D47B626, 0x0AE7CCF6, 0x3787E546, 413 0x85A73956, 0xB8C710E6, 0xFF676A36, 0xC2074386, 414 0x4057D457, 0x7D37FDE7, 0x3A978737, 0x07F7AE87, 415 0xB5D77297, 0x88B75B27, 0xCF1721F7, 0xF2770847, 416 0x10C70814, 0x2DA721A4, 0x6A075B74, 0x576772C4, 417 0xE547AED4, 0xD8278764, 0x9F87FDB4, 0xA2E7D404, 418 0x20B743D5, 0x1DD76A65, 0x5A7710B5, 0x67173905, 419 0xD537E515, 0xE857CCA5, 0xAFF7B675, 0x92979FC5, 420 0xE915E8DB, 0xD475C16B, 0x93D5BBBB, 0xAEB5920B, 421 0x1C954E1B, 0x21F567AB, 0x66551D7B, 0x5B3534CB, 422 0xD965A31A, 0xE4058AAA, 0xA3A5F07A, 0x9EC5D9CA, 423 0x2CE505DA, 0x11852C6A, 0x562556BA, 0x6B457F0A, 424 0x89F57F59, 0xB49556E9, 0xF3352C39, 0xCE550589, 425 0x7C75D999, 0x4115F029, 0x06B58AF9, 0x3BD5A349, 426 0xB9853498, 0x84E51D28, 0xC34567F8, 0xFE254E48, 427 0x4C059258, 0x7165BBE8, 0x36C5C138, 0x0BA5E888, 428 0x28D4C7DF, 0x15B4EE6F, 0x521494BF, 0x6F74BD0F, 429 0xDD54611F, 0xE03448AF, 0xA794327F, 0x9AF41BCF, 430 0x18A48C1E, 0x25C4A5AE, 0x6264DF7E, 0x5F04F6CE, 431 0xED242ADE, 0xD044036E, 0x97E479BE, 0xAA84500E, 432 0x4834505D, 0x755479ED, 0x32F4033D, 0x0F942A8D, 433 0xBDB4F69D, 0x80D4DF2D, 0xC774A5FD, 0xFA148C4D, 434 0x78441B9C, 0x4524322C, 0x028448FC, 0x3FE4614C, 435 0x8DC4BD5C, 0xB0A494EC, 0xF704EE3C, 0xCA64C78C, 436 /* T8_5 */ 437 0x00000000, 0xCB5CD3A5, 0x4DC8A10B, 0x869472AE, 438 0x9B914216, 0x50CD91B3, 0xD659E31D, 0x1D0530B8, 439 0xEC53826D, 0x270F51C8, 0xA19B2366, 0x6AC7F0C3, 440 0x77C2C07B, 0xBC9E13DE, 0x3A0A6170, 0xF156B2D5, 441 0x03D6029B, 0xC88AD13E, 0x4E1EA390, 0x85427035, 442 0x9847408D, 0x531B9328, 0xD58FE186, 0x1ED33223, 443 0xEF8580F6, 0x24D95353, 0xA24D21FD, 0x6911F258, 444 0x7414C2E0, 0xBF481145, 0x39DC63EB, 0xF280B04E, 445 0x07AC0536, 0xCCF0D693, 0x4A64A43D, 0x81387798, 446 0x9C3D4720, 0x57619485, 0xD1F5E62B, 0x1AA9358E, 447 0xEBFF875B, 0x20A354FE, 0xA6372650, 0x6D6BF5F5, 448 0x706EC54D, 0xBB3216E8, 0x3DA66446, 0xF6FAB7E3, 449 0x047A07AD, 0xCF26D408, 0x49B2A6A6, 0x82EE7503, 450 0x9FEB45BB, 0x54B7961E, 0xD223E4B0, 0x197F3715, 451 0xE82985C0, 0x23755665, 0xA5E124CB, 0x6EBDF76E, 452 0x73B8C7D6, 0xB8E41473, 0x3E7066DD, 0xF52CB578, 453 0x0F580A6C, 0xC404D9C9, 0x4290AB67, 0x89CC78C2, 454 0x94C9487A, 0x5F959BDF, 0xD901E971, 0x125D3AD4, 455 0xE30B8801, 0x28575BA4, 0xAEC3290A, 0x659FFAAF, 456 0x789ACA17, 0xB3C619B2, 0x35526B1C, 0xFE0EB8B9, 457 0x0C8E08F7, 0xC7D2DB52, 0x4146A9FC, 0x8A1A7A59, 458 0x971F4AE1, 0x5C439944, 0xDAD7EBEA, 0x118B384F, 459 0xE0DD8A9A, 0x2B81593F, 0xAD152B91, 0x6649F834, 460 0x7B4CC88C, 0xB0101B29, 0x36846987, 0xFDD8BA22, 461 0x08F40F5A, 0xC3A8DCFF, 0x453CAE51, 0x8E607DF4, 462 0x93654D4C, 0x58399EE9, 0xDEADEC47, 0x15F13FE2, 463 0xE4A78D37, 0x2FFB5E92, 0xA96F2C3C, 0x6233FF99, 464 0x7F36CF21, 0xB46A1C84, 0x32FE6E2A, 0xF9A2BD8F, 465 0x0B220DC1, 0xC07EDE64, 0x46EAACCA, 0x8DB67F6F, 466 0x90B34FD7, 0x5BEF9C72, 0xDD7BEEDC, 0x16273D79, 467 0xE7718FAC, 0x2C2D5C09, 0xAAB92EA7, 0x61E5FD02, 468 0x7CE0CDBA, 0xB7BC1E1F, 0x31286CB1, 0xFA74BF14, 469 0x1EB014D8, 0xD5ECC77D, 0x5378B5D3, 0x98246676, 470 0x852156CE, 0x4E7D856B, 0xC8E9F7C5, 0x03B52460, 471 0xF2E396B5, 0x39BF4510, 0xBF2B37BE, 0x7477E41B, 472 0x6972D4A3, 0xA22E0706, 0x24BA75A8, 0xEFE6A60D, 473 0x1D661643, 0xD63AC5E6, 0x50AEB748, 0x9BF264ED, 474 0x86F75455, 0x4DAB87F0, 0xCB3FF55E, 0x006326FB, 475 0xF135942E, 0x3A69478B, 0xBCFD3525, 0x77A1E680, 476 0x6AA4D638, 0xA1F8059D, 0x276C7733, 0xEC30A496, 477 0x191C11EE, 0xD240C24B, 0x54D4B0E5, 0x9F886340, 478 0x828D53F8, 0x49D1805D, 0xCF45F2F3, 0x04192156, 479 0xF54F9383, 0x3E134026, 0xB8873288, 0x73DBE12D, 480 0x6EDED195, 0xA5820230, 0x2316709E, 0xE84AA33B, 481 0x1ACA1375, 0xD196C0D0, 0x5702B27E, 0x9C5E61DB, 482 0x815B5163, 0x4A0782C6, 0xCC93F068, 0x07CF23CD, 483 0xF6999118, 0x3DC542BD, 0xBB513013, 0x700DE3B6, 484 0x6D08D30E, 0xA65400AB, 0x20C07205, 0xEB9CA1A0, 485 0x11E81EB4, 0xDAB4CD11, 0x5C20BFBF, 0x977C6C1A, 486 0x8A795CA2, 0x41258F07, 0xC7B1FDA9, 0x0CED2E0C, 487 0xFDBB9CD9, 0x36E74F7C, 0xB0733DD2, 0x7B2FEE77, 488 0x662ADECF, 0xAD760D6A, 0x2BE27FC4, 0xE0BEAC61, 489 0x123E1C2F, 0xD962CF8A, 0x5FF6BD24, 0x94AA6E81, 490 0x89AF5E39, 0x42F38D9C, 0xC467FF32, 0x0F3B2C97, 491 0xFE6D9E42, 0x35314DE7, 0xB3A53F49, 0x78F9ECEC, 492 0x65FCDC54, 0xAEA00FF1, 0x28347D5F, 0xE368AEFA, 493 0x16441B82, 0xDD18C827, 0x5B8CBA89, 0x90D0692C, 494 0x8DD55994, 0x46898A31, 0xC01DF89F, 0x0B412B3A, 495 0xFA1799EF, 0x314B4A4A, 0xB7DF38E4, 0x7C83EB41, 496 0x6186DBF9, 0xAADA085C, 0x2C4E7AF2, 0xE712A957, 497 0x15921919, 0xDECECABC, 0x585AB812, 0x93066BB7, 498 0x8E035B0F, 0x455F88AA, 0xC3CBFA04, 0x089729A1, 499 0xF9C19B74, 0x329D48D1, 0xB4093A7F, 0x7F55E9DA, 500 0x6250D962, 0xA90C0AC7, 0x2F987869, 0xE4C4ABCC, 501 /* T8_6 */ 502 0x00000000, 0xA6770BB4, 0x979F1129, 0x31E81A9D, 503 0xF44F2413, 0x52382FA7, 0x63D0353A, 0xC5A73E8E, 504 0x33EF4E67, 0x959845D3, 0xA4705F4E, 0x020754FA, 505 0xC7A06A74, 0x61D761C0, 0x503F7B5D, 0xF64870E9, 506 0x67DE9CCE, 0xC1A9977A, 0xF0418DE7, 0x56368653, 507 0x9391B8DD, 0x35E6B369, 0x040EA9F4, 0xA279A240, 508 0x5431D2A9, 0xF246D91D, 0xC3AEC380, 0x65D9C834, 509 0xA07EF6BA, 0x0609FD0E, 0x37E1E793, 0x9196EC27, 510 0xCFBD399C, 0x69CA3228, 0x582228B5, 0xFE552301, 511 0x3BF21D8F, 0x9D85163B, 0xAC6D0CA6, 0x0A1A0712, 512 0xFC5277FB, 0x5A257C4F, 0x6BCD66D2, 0xCDBA6D66, 513 0x081D53E8, 0xAE6A585C, 0x9F8242C1, 0x39F54975, 514 0xA863A552, 0x0E14AEE6, 0x3FFCB47B, 0x998BBFCF, 515 0x5C2C8141, 0xFA5B8AF5, 0xCBB39068, 0x6DC49BDC, 516 0x9B8CEB35, 0x3DFBE081, 0x0C13FA1C, 0xAA64F1A8, 517 0x6FC3CF26, 0xC9B4C492, 0xF85CDE0F, 0x5E2BD5BB, 518 0x440B7579, 0xE27C7ECD, 0xD3946450, 0x75E36FE4, 519 0xB044516A, 0x16335ADE, 0x27DB4043, 0x81AC4BF7, 520 0x77E43B1E, 0xD19330AA, 0xE07B2A37, 0x460C2183, 521 0x83AB1F0D, 0x25DC14B9, 0x14340E24, 0xB2430590, 522 0x23D5E9B7, 0x85A2E203, 0xB44AF89E, 0x123DF32A, 523 0xD79ACDA4, 0x71EDC610, 0x4005DC8D, 0xE672D739, 524 0x103AA7D0, 0xB64DAC64, 0x87A5B6F9, 0x21D2BD4D, 525 0xE47583C3, 0x42028877, 0x73EA92EA, 0xD59D995E, 526 0x8BB64CE5, 0x2DC14751, 0x1C295DCC, 0xBA5E5678, 527 0x7FF968F6, 0xD98E6342, 0xE86679DF, 0x4E11726B, 528 0xB8590282, 0x1E2E0936, 0x2FC613AB, 0x89B1181F, 529 0x4C162691, 0xEA612D25, 0xDB8937B8, 0x7DFE3C0C, 530 0xEC68D02B, 0x4A1FDB9F, 0x7BF7C102, 0xDD80CAB6, 531 0x1827F438, 0xBE50FF8C, 0x8FB8E511, 0x29CFEEA5, 532 0xDF879E4C, 0x79F095F8, 0x48188F65, 0xEE6F84D1, 533 0x2BC8BA5F, 0x8DBFB1EB, 0xBC57AB76, 0x1A20A0C2, 534 0x8816EAF2, 0x2E61E146, 0x1F89FBDB, 0xB9FEF06F, 535 0x7C59CEE1, 0xDA2EC555, 0xEBC6DFC8, 0x4DB1D47C, 536 0xBBF9A495, 0x1D8EAF21, 0x2C66B5BC, 0x8A11BE08, 537 0x4FB68086, 0xE9C18B32, 0xD82991AF, 0x7E5E9A1B, 538 0xEFC8763C, 0x49BF7D88, 0x78576715, 0xDE206CA1, 539 0x1B87522F, 0xBDF0599B, 0x8C184306, 0x2A6F48B2, 540 0xDC27385B, 0x7A5033EF, 0x4BB82972, 0xEDCF22C6, 541 0x28681C48, 0x8E1F17FC, 0xBFF70D61, 0x198006D5, 542 0x47ABD36E, 0xE1DCD8DA, 0xD034C247, 0x7643C9F3, 543 0xB3E4F77D, 0x1593FCC9, 0x247BE654, 0x820CEDE0, 544 0x74449D09, 0xD23396BD, 0xE3DB8C20, 0x45AC8794, 545 0x800BB91A, 0x267CB2AE, 0x1794A833, 0xB1E3A387, 546 0x20754FA0, 0x86024414, 0xB7EA5E89, 0x119D553D, 547 0xD43A6BB3, 0x724D6007, 0x43A57A9A, 0xE5D2712E, 548 0x139A01C7, 0xB5ED0A73, 0x840510EE, 0x22721B5A, 549 0xE7D525D4, 0x41A22E60, 0x704A34FD, 0xD63D3F49, 550 0xCC1D9F8B, 0x6A6A943F, 0x5B828EA2, 0xFDF58516, 551 0x3852BB98, 0x9E25B02C, 0xAFCDAAB1, 0x09BAA105, 552 0xFFF2D1EC, 0x5985DA58, 0x686DC0C5, 0xCE1ACB71, 553 0x0BBDF5FF, 0xADCAFE4B, 0x9C22E4D6, 0x3A55EF62, 554 0xABC30345, 0x0DB408F1, 0x3C5C126C, 0x9A2B19D8, 555 0x5F8C2756, 0xF9FB2CE2, 0xC813367F, 0x6E643DCB, 556 0x982C4D22, 0x3E5B4696, 0x0FB35C0B, 0xA9C457BF, 557 0x6C636931, 0xCA146285, 0xFBFC7818, 0x5D8B73AC, 558 0x03A0A617, 0xA5D7ADA3, 0x943FB73E, 0x3248BC8A, 559 0xF7EF8204, 0x519889B0, 0x6070932D, 0xC6079899, 560 0x304FE870, 0x9638E3C4, 0xA7D0F959, 0x01A7F2ED, 561 0xC400CC63, 0x6277C7D7, 0x539FDD4A, 0xF5E8D6FE, 562 0x647E3AD9, 0xC209316D, 0xF3E12BF0, 0x55962044, 563 0x90311ECA, 0x3646157E, 0x07AE0FE3, 0xA1D90457, 564 0x579174BE, 0xF1E67F0A, 0xC00E6597, 0x66796E23, 565 0xA3DE50AD, 0x05A95B19, 0x34414184, 0x92364A30, 566 /* T8_7 */ 567 0x00000000, 0xCCAA009E, 0x4225077D, 0x8E8F07E3, 568 0x844A0EFA, 0x48E00E64, 0xC66F0987, 0x0AC50919, 569 0xD3E51BB5, 0x1F4F1B2B, 0x91C01CC8, 0x5D6A1C56, 570 0x57AF154F, 0x9B0515D1, 0x158A1232, 0xD92012AC, 571 0x7CBB312B, 0xB01131B5, 0x3E9E3656, 0xF23436C8, 572 0xF8F13FD1, 0x345B3F4F, 0xBAD438AC, 0x767E3832, 573 0xAF5E2A9E, 0x63F42A00, 0xED7B2DE3, 0x21D12D7D, 574 0x2B142464, 0xE7BE24FA, 0x69312319, 0xA59B2387, 575 0xF9766256, 0x35DC62C8, 0xBB53652B, 0x77F965B5, 576 0x7D3C6CAC, 0xB1966C32, 0x3F196BD1, 0xF3B36B4F, 577 0x2A9379E3, 0xE639797D, 0x68B67E9E, 0xA41C7E00, 578 0xAED97719, 0x62737787, 0xECFC7064, 0x205670FA, 579 0x85CD537D, 0x496753E3, 0xC7E85400, 0x0B42549E, 580 0x01875D87, 0xCD2D5D19, 0x43A25AFA, 0x8F085A64, 581 0x562848C8, 0x9A824856, 0x140D4FB5, 0xD8A74F2B, 582 0xD2624632, 0x1EC846AC, 0x9047414F, 0x5CED41D1, 583 0x299DC2ED, 0xE537C273, 0x6BB8C590, 0xA712C50E, 584 0xADD7CC17, 0x617DCC89, 0xEFF2CB6A, 0x2358CBF4, 585 0xFA78D958, 0x36D2D9C6, 0xB85DDE25, 0x74F7DEBB, 586 0x7E32D7A2, 0xB298D73C, 0x3C17D0DF, 0xF0BDD041, 587 0x5526F3C6, 0x998CF358, 0x1703F4BB, 0xDBA9F425, 588 0xD16CFD3C, 0x1DC6FDA2, 0x9349FA41, 0x5FE3FADF, 589 0x86C3E873, 0x4A69E8ED, 0xC4E6EF0E, 0x084CEF90, 590 0x0289E689, 0xCE23E617, 0x40ACE1F4, 0x8C06E16A, 591 0xD0EBA0BB, 0x1C41A025, 0x92CEA7C6, 0x5E64A758, 592 0x54A1AE41, 0x980BAEDF, 0x1684A93C, 0xDA2EA9A2, 593 0x030EBB0E, 0xCFA4BB90, 0x412BBC73, 0x8D81BCED, 594 0x8744B5F4, 0x4BEEB56A, 0xC561B289, 0x09CBB217, 595 0xAC509190, 0x60FA910E, 0xEE7596ED, 0x22DF9673, 596 0x281A9F6A, 0xE4B09FF4, 0x6A3F9817, 0xA6959889, 597 0x7FB58A25, 0xB31F8ABB, 0x3D908D58, 0xF13A8DC6, 598 0xFBFF84DF, 0x37558441, 0xB9DA83A2, 0x7570833C, 599 0x533B85DA, 0x9F918544, 0x111E82A7, 0xDDB48239, 600 0xD7718B20, 0x1BDB8BBE, 0x95548C5D, 0x59FE8CC3, 601 0x80DE9E6F, 0x4C749EF1, 0xC2FB9912, 0x0E51998C, 602 0x04949095, 0xC83E900B, 0x46B197E8, 0x8A1B9776, 603 0x2F80B4F1, 0xE32AB46F, 0x6DA5B38C, 0xA10FB312, 604 0xABCABA0B, 0x6760BA95, 0xE9EFBD76, 0x2545BDE8, 605 0xFC65AF44, 0x30CFAFDA, 0xBE40A839, 0x72EAA8A7, 606 0x782FA1BE, 0xB485A120, 0x3A0AA6C3, 0xF6A0A65D, 607 0xAA4DE78C, 0x66E7E712, 0xE868E0F1, 0x24C2E06F, 608 0x2E07E976, 0xE2ADE9E8, 0x6C22EE0B, 0xA088EE95, 609 0x79A8FC39, 0xB502FCA7, 0x3B8DFB44, 0xF727FBDA, 610 0xFDE2F2C3, 0x3148F25D, 0xBFC7F5BE, 0x736DF520, 611 0xD6F6D6A7, 0x1A5CD639, 0x94D3D1DA, 0x5879D144, 612 0x52BCD85D, 0x9E16D8C3, 0x1099DF20, 0xDC33DFBE, 613 0x0513CD12, 0xC9B9CD8C, 0x4736CA6F, 0x8B9CCAF1, 614 0x8159C3E8, 0x4DF3C376, 0xC37CC495, 0x0FD6C40B, 615 0x7AA64737, 0xB60C47A9, 0x3883404A, 0xF42940D4, 616 0xFEEC49CD, 0x32464953, 0xBCC94EB0, 0x70634E2E, 617 0xA9435C82, 0x65E95C1C, 0xEB665BFF, 0x27CC5B61, 618 0x2D095278, 0xE1A352E6, 0x6F2C5505, 0xA386559B, 619 0x061D761C, 0xCAB77682, 0x44387161, 0x889271FF, 620 0x825778E6, 0x4EFD7878, 0xC0727F9B, 0x0CD87F05, 621 0xD5F86DA9, 0x19526D37, 0x97DD6AD4, 0x5B776A4A, 622 0x51B26353, 0x9D1863CD, 0x1397642E, 0xDF3D64B0, 623 0x83D02561, 0x4F7A25FF, 0xC1F5221C, 0x0D5F2282, 624 0x079A2B9B, 0xCB302B05, 0x45BF2CE6, 0x89152C78, 625 0x50353ED4, 0x9C9F3E4A, 0x121039A9, 0xDEBA3937, 626 0xD47F302E, 0x18D530B0, 0x965A3753, 0x5AF037CD, 627 0xFF6B144A, 0x33C114D4, 0xBD4E1337, 0x71E413A9, 628 0x7B211AB0, 0xB78B1A2E, 0x39041DCD, 0xF5AE1D53, 629 0x2C8E0FFF, 0xE0240F61, 0x6EAB0882, 0xA201081C, 630 0xA8C40105, 0x646E019B, 0xEAE10678, 0x264B06E6 631 }; 632}