*
* pg_crc32c_sb8.cpp
* Compute CRC-32C checksum using slicing-by-8 algorithm.
*
* Michael E. Kounavis, Frank L. Berry,
* "Novel Table Lookup-Based Algorithms for High-Performance CRC
* Generation", IEEE Transactions on Computers, vol.57, no. 11,
* pp. 1550-1560, November 2008, doi:10.1109/TC.2008.85
*
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/common/port/pg_crc32c_sb8.cpp
*
* -------------------------------------------------------------------------
*/
#include "c.h"
#include "port/pg_crc32c.h"
* Lookup tables for the slicing-by-8 algorithm, for the so-called Castagnoli
* polynomial (the same that is used e.g. in iSCSI), 0x1EDC6F41. Using
* Williams' terms, this is the "normal", not "reflected" version. However, on
* big-endian systems the values in the tables are stored in byte-reversed
* order (IOW, the tables are stored in little-endian order even on big-endian
* systems).
*/
static const uint32 pg_crc32c_table[8][256] = {
#ifndef WORDS_BIGENDIAN
{0x00000000,
0xF26B8303,
0xE13B70F7,
0x1350F3F4,
0xC79A971F,
0x35F1141C,
0x26A1E7E8,
0xD4CA64EB,
0x8AD958CF,
0x78B2DBCC,
0x6BE22838,
0x9989AB3B,
0x4D43CFD0,
0xBF284CD3,
0xAC78BF27,
0x5E133C24,
0x105EC76F,
0xE235446C,
0xF165B798,
0x030E349B,
0xD7C45070,
0x25AFD373,
0x36FF2087,
0xC494A384,
0x9A879FA0,
0x68EC1CA3,
0x7BBCEF57,
0x89D76C54,
0x5D1D08BF,
0xAF768BBC,
0xBC267848,
0x4E4DFB4B,
0x20BD8EDE,
0xD2D60DDD,
0xC186FE29,
0x33ED7D2A,
0xE72719C1,
0x154C9AC2,
0x061C6936,
0xF477EA35,
0xAA64D611,
0x580F5512,
0x4B5FA6E6,
0xB93425E5,
0x6DFE410E,
0x9F95C20D,
0x8CC531F9,
0x7EAEB2FA,
0x30E349B1,
0xC288CAB2,
0xD1D83946,
0x23B3BA45,
0xF779DEAE,
0x05125DAD,
0x1642AE59,
0xE4292D5A,
0xBA3A117E,
0x4851927D,
0x5B016189,
0xA96AE28A,
0x7DA08661,
0x8FCB0562,
0x9C9BF696,
0x6EF07595,
0x417B1DBC,
0xB3109EBF,
0xA0406D4B,
0x522BEE48,
0x86E18AA3,
0x748A09A0,
0x67DAFA54,
0x95B17957,
0xCBA24573,
0x39C9C670,
0x2A993584,
0xD8F2B687,
0x0C38D26C,
0xFE53516F,
0xED03A29B,
0x1F682198,
0x5125DAD3,
0xA34E59D0,
0xB01EAA24,
0x42752927,
0x96BF4DCC,
0x64D4CECF,
0x77843D3B,
0x85EFBE38,
0xDBFC821C,
0x2997011F,
0x3AC7F2EB,
0xC8AC71E8,
0x1C661503,
0xEE0D9600,
0xFD5D65F4,
0x0F36E6F7,
0x61C69362,
0x93AD1061,
0x80FDE395,
0x72966096,
0xA65C047D,
0x5437877E,
0x4767748A,
0xB50CF789,
0xEB1FCBAD,
0x197448AE,
0x0A24BB5A,
0xF84F3859,
0x2C855CB2,
0xDEEEDFB1,
0xCDBE2C45,
0x3FD5AF46,
0x7198540D,
0x83F3D70E,
0x90A324FA,
0x62C8A7F9,
0xB602C312,
0x44694011,
0x5739B3E5,
0xA55230E6,
0xFB410CC2,
0x092A8FC1,
0x1A7A7C35,
0xE811FF36,
0x3CDB9BDD,
0xCEB018DE,
0xDDE0EB2A,
0x2F8B6829,
0x82F63B78,
0x709DB87B,
0x63CD4B8F,
0x91A6C88C,
0x456CAC67,
0xB7072F64,
0xA457DC90,
0x563C5F93,
0x082F63B7,
0xFA44E0B4,
0xE9141340,
0x1B7F9043,
0xCFB5F4A8,
0x3DDE77AB,
0x2E8E845F,
0xDCE5075C,
0x92A8FC17,
0x60C37F14,
0x73938CE0,
0x81F80FE3,
0x55326B08,
0xA759E80B,
0xB4091BFF,
0x466298FC,
0x1871A4D8,
0xEA1A27DB,
0xF94AD42F,
0x0B21572C,
0xDFEB33C7,
0x2D80B0C4,
0x3ED04330,
0xCCBBC033,
0xA24BB5A6,
0x502036A5,
0x4370C551,
0xB11B4652,
0x65D122B9,
0x97BAA1BA,
0x84EA524E,
0x7681D14D,
0x2892ED69,
0xDAF96E6A,
0xC9A99D9E,
0x3BC21E9D,
0xEF087A76,
0x1D63F975,
0x0E330A81,
0xFC588982,
0xB21572C9,
0x407EF1CA,
0x532E023E,
0xA145813D,
0x758FE5D6,
0x87E466D5,
0x94B49521,
0x66DF1622,
0x38CC2A06,
0xCAA7A905,
0xD9F75AF1,
0x2B9CD9F2,
0xFF56BD19,
0x0D3D3E1A,
0x1E6DCDEE,
0xEC064EED,
0xC38D26C4,
0x31E6A5C7,
0x22B65633,
0xD0DDD530,
0x0417B1DB,
0xF67C32D8,
0xE52CC12C,
0x1747422F,
0x49547E0B,
0xBB3FFD08,
0xA86F0EFC,
0x5A048DFF,
0x8ECEE914,
0x7CA56A17,
0x6FF599E3,
0x9D9E1AE0,
0xD3D3E1AB,
0x21B862A8,
0x32E8915C,
0xC083125F,
0x144976B4,
0xE622F5B7,
0xF5720643,
0x07198540,
0x590AB964,
0xAB613A67,
0xB831C993,
0x4A5A4A90,
0x9E902E7B,
0x6CFBAD78,
0x7FAB5E8C,
0x8DC0DD8F,
0xE330A81A,
0x115B2B19,
0x020BD8ED,
0xF0605BEE,
0x24AA3F05,
0xD6C1BC06,
0xC5914FF2,
0x37FACCF1,
0x69E9F0D5,
0x9B8273D6,
0x88D28022,
0x7AB90321,
0xAE7367CA,
0x5C18E4C9,
0x4F48173D,
0xBD23943E,
0xF36E6F75,
0x0105EC76,
0x12551F82,
0xE03E9C81,
0x34F4F86A,
0xC69F7B69,
0xD5CF889D,
0x27A40B9E,
0x79B737BA,
0x8BDCB4B9,
0x988C474D,
0x6AE7C44E,
0xBE2DA0A5,
0x4C4623A6,
0x5F16D052,
0xAD7D5351},
{0x00000000,
0x13A29877,
0x274530EE,
0x34E7A899,
0x4E8A61DC,
0x5D28F9AB,
0x69CF5132,
0x7A6DC945,
0x9D14C3B8,
0x8EB65BCF,
0xBA51F356,
0xA9F36B21,
0xD39EA264,
0xC03C3A13,
0xF4DB928A,
0xE7790AFD,
0x3FC5F181,
0x2C6769F6,
0x1880C16F,
0x0B225918,
0x714F905D,
0x62ED082A,
0x560AA0B3,
0x45A838C4,
0xA2D13239,
0xB173AA4E,
0x859402D7,
0x96369AA0,
0xEC5B53E5,
0xFFF9CB92,
0xCB1E630B,
0xD8BCFB7C,
0x7F8BE302,
0x6C297B75,
0x58CED3EC,
0x4B6C4B9B,
0x310182DE,
0x22A31AA9,
0x1644B230,
0x05E62A47,
0xE29F20BA,
0xF13DB8CD,
0xC5DA1054,
0xD6788823,
0xAC154166,
0xBFB7D911,
0x8B507188,
0x98F2E9FF,
0x404E1283,
0x53EC8AF4,
0x670B226D,
0x74A9BA1A,
0x0EC4735F,
0x1D66EB28,
0x298143B1,
0x3A23DBC6,
0xDD5AD13B,
0xCEF8494C,
0xFA1FE1D5,
0xE9BD79A2,
0x93D0B0E7,
0x80722890,
0xB4958009,
0xA737187E,
0xFF17C604,
0xECB55E73,
0xD852F6EA,
0xCBF06E9D,
0xB19DA7D8,
0xA23F3FAF,
0x96D89736,
0x857A0F41,
0x620305BC,
0x71A19DCB,
0x45463552,
0x56E4AD25,
0x2C896460,
0x3F2BFC17,
0x0BCC548E,
0x186ECCF9,
0xC0D23785,
0xD370AFF2,
0xE797076B,
0xF4359F1C,
0x8E585659,
0x9DFACE2E,
0xA91D66B7,
0xBABFFEC0,
0x5DC6F43D,
0x4E646C4A,
0x7A83C4D3,
0x69215CA4,
0x134C95E1,
0x00EE0D96,
0x3409A50F,
0x27AB3D78,
0x809C2506,
0x933EBD71,
0xA7D915E8,
0xB47B8D9F,
0xCE1644DA,
0xDDB4DCAD,
0xE9537434,
0xFAF1EC43,
0x1D88E6BE,
0x0E2A7EC9,
0x3ACDD650,
0x296F4E27,
0x53028762,
0x40A01F15,
0x7447B78C,
0x67E52FFB,
0xBF59D487,
0xACFB4CF0,
0x981CE469,
0x8BBE7C1E,
0xF1D3B55B,
0xE2712D2C,
0xD69685B5,
0xC5341DC2,
0x224D173F,
0x31EF8F48,
0x050827D1,
0x16AABFA6,
0x6CC776E3,
0x7F65EE94,
0x4B82460D,
0x5820DE7A,
0xFBC3FAF9,
0xE861628E,
0xDC86CA17,
0xCF245260,
0xB5499B25,
0xA6EB0352,
0x920CABCB,
0x81AE33BC,
0x66D73941,
0x7575A136,
0x419209AF,
0x523091D8,
0x285D589D,
0x3BFFC0EA,
0x0F186873,
0x1CBAF004,
0xC4060B78,
0xD7A4930F,
0xE3433B96,
0xF0E1A3E1,
0x8A8C6AA4,
0x992EF2D3,
0xADC95A4A,
0xBE6BC23D,
0x5912C8C0,
0x4AB050B7,
0x7E57F82E,
0x6DF56059,
0x1798A91C,
0x043A316B,
0x30DD99F2,
0x237F0185,
0x844819FB,
0x97EA818C,
0xA30D2915,
0xB0AFB162,
0xCAC27827,
0xD960E050,
0xED8748C9,
0xFE25D0BE,
0x195CDA43,
0x0AFE4234,
0x3E19EAAD,
0x2DBB72DA,
0x57D6BB9F,
0x447423E8,
0x70938B71,
0x63311306,
0xBB8DE87A,
0xA82F700D,
0x9CC8D894,
0x8F6A40E3,
0xF50789A6,
0xE6A511D1,
0xD242B948,
0xC1E0213F,
0x26992BC2,
0x353BB3B5,
0x01DC1B2C,
0x127E835B,
0x68134A1E,
0x7BB1D269,
0x4F567AF0,
0x5CF4E287,
0x04D43CFD,
0x1776A48A,
0x23910C13,
0x30339464,
0x4A5E5D21,
0x59FCC556,
0x6D1B6DCF,
0x7EB9F5B8,
0x99C0FF45,
0x8A626732,
0xBE85CFAB,
0xAD2757DC,
0xD74A9E99,
0xC4E806EE,
0xF00FAE77,
0xE3AD3600,
0x3B11CD7C,
0x28B3550B,
0x1C54FD92,
0x0FF665E5,
0x759BACA0,
0x663934D7,
0x52DE9C4E,
0x417C0439,
0xA6050EC4,
0xB5A796B3,
0x81403E2A,
0x92E2A65D,
0xE88F6F18,
0xFB2DF76F,
0xCFCA5FF6,
0xDC68C781,
0x7B5FDFFF,
0x68FD4788,
0x5C1AEF11,
0x4FB87766,
0x35D5BE23,
0x26772654,
0x12908ECD,
0x013216BA,
0xE64B1C47,
0xF5E98430,
0xC10E2CA9,
0xD2ACB4DE,
0xA8C17D9B,
0xBB63E5EC,
0x8F844D75,
0x9C26D502,
0x449A2E7E,
0x5738B609,
0x63DF1E90,
0x707D86E7,
0x0A104FA2,
0x19B2D7D5,
0x2D557F4C,
0x3EF7E73B,
0xD98EEDC6,
0xCA2C75B1,
0xFECBDD28,
0xED69455F,
0x97048C1A,
0x84A6146D,
0xB041BCF4,
0xA3E32483},
{0x00000000,
0xA541927E,
0x4F6F520D,
0xEA2EC073,
0x9EDEA41A,
0x3B9F3664,
0xD1B1F617,
0x74F06469,
0x38513EC5,
0x9D10ACBB,
0x773E6CC8,
0xD27FFEB6,
0xA68F9ADF,
0x03CE08A1,
0xE9E0C8D2,
0x4CA15AAC,
0x70A27D8A,
0xD5E3EFF4,
0x3FCD2F87,
0x9A8CBDF9,
0xEE7CD990,
0x4B3D4BEE,
0xA1138B9D,
0x045219E3,
0x48F3434F,
0xEDB2D131,
0x079C1142,
0xA2DD833C,
0xD62DE755,
0x736C752B,
0x9942B558,
0x3C032726,
0xE144FB14,
0x4405696A,
0xAE2BA919,
0x0B6A3B67,
0x7F9A5F0E,
0xDADBCD70,
0x30F50D03,
0x95B49F7D,
0xD915C5D1,
0x7C5457AF,
0x967A97DC,
0x333B05A2,
0x47CB61CB,
0xE28AF3B5,
0x08A433C6,
0xADE5A1B8,
0x91E6869E,
0x34A714E0,
0xDE89D493,
0x7BC846ED,
0x0F382284,
0xAA79B0FA,
0x40577089,
0xE516E2F7,
0xA9B7B85B,
0x0CF62A25,
0xE6D8EA56,
0x43997828,
0x37691C41,
0x92288E3F,
0x78064E4C,
0xDD47DC32,
0xC76580D9,
0x622412A7,
0x880AD2D4,
0x2D4B40AA,
0x59BB24C3,
0xFCFAB6BD,
0x16D476CE,
0xB395E4B0,
0xFF34BE1C,
0x5A752C62,
0xB05BEC11,
0x151A7E6F,
0x61EA1A06,
0xC4AB8878,
0x2E85480B,
0x8BC4DA75,
0xB7C7FD53,
0x12866F2D,
0xF8A8AF5E,
0x5DE93D20,
0x29195949,
0x8C58CB37,
0x66760B44,
0xC337993A,
0x8F96C396,
0x2AD751E8,
0xC0F9919B,
0x65B803E5,
0x1148678C,
0xB409F5F2,
0x5E273581,
0xFB66A7FF,
0x26217BCD,
0x8360E9B3,
0x694E29C0,
0xCC0FBBBE,
0xB8FFDFD7,
0x1DBE4DA9,
0xF7908DDA,
0x52D11FA4,
0x1E704508,
0xBB31D776,
0x511F1705,
0xF45E857B,
0x80AEE112,
0x25EF736C,
0xCFC1B31F,
0x6A802161,
0x56830647,
0xF3C29439,
0x19EC544A,
0xBCADC634,
0xC85DA25D,
0x6D1C3023,
0x8732F050,
0x2273622E,
0x6ED23882,
0xCB93AAFC,
0x21BD6A8F,
0x84FCF8F1,
0xF00C9C98,
0x554D0EE6,
0xBF63CE95,
0x1A225CEB,
0x8B277743,
0x2E66E53D,
0xC448254E,
0x6109B730,
0x15F9D359,
0xB0B84127,
0x5A968154,
0xFFD7132A,
0xB3764986,
0x1637DBF8,
0xFC191B8B,
0x595889F5,
0x2DA8ED9C,
0x88E97FE2,
0x62C7BF91,
0xC7862DEF,
0xFB850AC9,
0x5EC498B7,
0xB4EA58C4,
0x11ABCABA,
0x655BAED3,
0xC01A3CAD,
0x2A34FCDE,
0x8F756EA0,
0xC3D4340C,
0x6695A672,
0x8CBB6601,
0x29FAF47F,
0x5D0A9016,
0xF84B0268,
0x1265C21B,
0xB7245065,
0x6A638C57,
0xCF221E29,
0x250CDE5A,
0x804D4C24,
0xF4BD284D,
0x51FCBA33,
0xBBD27A40,
0x1E93E83E,
0x5232B292,
0xF77320EC,
0x1D5DE09F,
0xB81C72E1,
0xCCEC1688,
0x69AD84F6,
0x83834485,
0x26C2D6FB,
0x1AC1F1DD,
0xBF8063A3,
0x55AEA3D0,
0xF0EF31AE,
0x841F55C7,
0x215EC7B9,
0xCB7007CA,
0x6E3195B4,
0x2290CF18,
0x87D15D66,
0x6DFF9D15,
0xC8BE0F6B,
0xBC4E6B02,
0x190FF97C,
0xF321390F,
0x5660AB71,
0x4C42F79A,
0xE90365E4,
0x032DA597,
0xA66C37E9,
0xD29C5380,
0x77DDC1FE,
0x9DF3018D,
0x38B293F3,
0x7413C95F,
0xD1525B21,
0x3B7C9B52,
0x9E3D092C,
0xEACD6D45,
0x4F8CFF3B,
0xA5A23F48,
0x00E3AD36,
0x3CE08A10,
0x99A1186E,
0x738FD81D,
0xD6CE4A63,
0xA23E2E0A,
0x077FBC74,
0xED517C07,
0x4810EE79,
0x04B1B4D5,
0xA1F026AB,
0x4BDEE6D8,
0xEE9F74A6,
0x9A6F10CF,
0x3F2E82B1,
0xD50042C2,
0x7041D0BC,
0xAD060C8E,
0x08479EF0,
0xE2695E83,
0x4728CCFD,
0x33D8A894,
0x96993AEA,
0x7CB7FA99,
0xD9F668E7,
0x9557324B,
0x3016A035,
0xDA386046,
0x7F79F238,
0x0B899651,
0xAEC8042F,
0x44E6C45C,
0xE1A75622,
0xDDA47104,
0x78E5E37A,
0x92CB2309,
0x378AB177,
0x437AD51E,
0xE63B4760,
0x0C158713,
0xA954156D,
0xE5F54FC1,
0x40B4DDBF,
0xAA9A1DCC,
0x0FDB8FB2,
0x7B2BEBDB,
0xDE6A79A5,
0x3444B9D6,
0x91052BA8},
{0x00000000,
0xDD45AAB8,
0xBF672381,
0x62228939,
0x7B2231F3,
0xA6679B4B,
0xC4451272,
0x1900B8CA,
0xF64463E6,
0x2B01C95E,
0x49234067,
0x9466EADF,
0x8D665215,
0x5023F8AD,
0x32017194,
0xEF44DB2C,
0xE964B13D,
0x34211B85,
0x560392BC,
0x8B463804,
0x924680CE,
0x4F032A76,
0x2D21A34F,
0xF06409F7,
0x1F20D2DB,
0xC2657863,
0xA047F15A,
0x7D025BE2,
0x6402E328,
0xB9474990,
0xDB65C0A9,
0x06206A11,
0xD725148B,
0x0A60BE33,
0x6842370A,
0xB5079DB2,
0xAC072578,
0x71428FC0,
0x136006F9,
0xCE25AC41,
0x2161776D,
0xFC24DDD5,
0x9E0654EC,
0x4343FE54,
0x5A43469E,
0x8706EC26,
0xE524651F,
0x3861CFA7,
0x3E41A5B6,
0xE3040F0E,
0x81268637,
0x5C632C8F,
0x45639445,
0x98263EFD,
0xFA04B7C4,
0x27411D7C,
0xC805C650,
0x15406CE8,
0x7762E5D1,
0xAA274F69,
0xB327F7A3,
0x6E625D1B,
0x0C40D422,
0xD1057E9A,
0xABA65FE7,
0x76E3F55F,
0x14C17C66,
0xC984D6DE,
0xD0846E14,
0x0DC1C4AC,
0x6FE34D95,
0xB2A6E72D,
0x5DE23C01,
0x80A796B9,
0xE2851F80,
0x3FC0B538,
0x26C00DF2,
0xFB85A74A,
0x99A72E73,
0x44E284CB,
0x42C2EEDA,
0x9F874462,
0xFDA5CD5B,
0x20E067E3,
0x39E0DF29,
0xE4A57591,
0x8687FCA8,
0x5BC25610,
0xB4868D3C,
0x69C32784,
0x0BE1AEBD,
0xD6A40405,
0xCFA4BCCF,
0x12E11677,
0x70C39F4E,
0xAD8635F6,
0x7C834B6C,
0xA1C6E1D4,
0xC3E468ED,
0x1EA1C255,
0x07A17A9F,
0xDAE4D027,
0xB8C6591E,
0x6583F3A6,
0x8AC7288A,
0x57828232,
0x35A00B0B,
0xE8E5A1B3,
0xF1E51979,
0x2CA0B3C1,
0x4E823AF8,
0x93C79040,
0x95E7FA51,
0x48A250E9,
0x2A80D9D0,
0xF7C57368,
0xEEC5CBA2,
0x3380611A,
0x51A2E823,
0x8CE7429B,
0x63A399B7,
0xBEE6330F,
0xDCC4BA36,
0x0181108E,
0x1881A844,
0xC5C402FC,
0xA7E68BC5,
0x7AA3217D,
0x52A0C93F,
0x8FE56387,
0xEDC7EABE,
0x30824006,
0x2982F8CC,
0xF4C75274,
0x96E5DB4D,
0x4BA071F5,
0xA4E4AAD9,
0x79A10061,
0x1B838958,
0xC6C623E0,
0xDFC69B2A,
0x02833192,
0x60A1B8AB,
0xBDE41213,
0xBBC47802,
0x6681D2BA,
0x04A35B83,
0xD9E6F13B,
0xC0E649F1,
0x1DA3E349,
0x7F816A70,
0xA2C4C0C8,
0x4D801BE4,
0x90C5B15C,
0xF2E73865,
0x2FA292DD,
0x36A22A17,
0xEBE780AF,
0x89C50996,
0x5480A32E,
0x8585DDB4,
0x58C0770C,
0x3AE2FE35,
0xE7A7548D,
0xFEA7EC47,
0x23E246FF,
0x41C0CFC6,
0x9C85657E,
0x73C1BE52,
0xAE8414EA,
0xCCA69DD3,
0x11E3376B,
0x08E38FA1,
0xD5A62519,
0xB784AC20,
0x6AC10698,
0x6CE16C89,
0xB1A4C631,
0xD3864F08,
0x0EC3E5B0,
0x17C35D7A,
0xCA86F7C2,
0xA8A47EFB,
0x75E1D443,
0x9AA50F6F,
0x47E0A5D7,
0x25C22CEE,
0xF8878656,
0xE1873E9C,
0x3CC29424,
0x5EE01D1D,
0x83A5B7A5,
0xF90696D8,
0x24433C60,
0x4661B559,
0x9B241FE1,
0x8224A72B,
0x5F610D93,
0x3D4384AA,
0xE0062E12,
0x0F42F53E,
0xD2075F86,
0xB025D6BF,
0x6D607C07,
0x7460C4CD,
0xA9256E75,
0xCB07E74C,
0x16424DF4,
0x106227E5,
0xCD278D5D,
0xAF050464,
0x7240AEDC,
0x6B401616,
0xB605BCAE,
0xD4273597,
0x09629F2F,
0xE6264403,
0x3B63EEBB,
0x59416782,
0x8404CD3A,
0x9D0475F0,
0x4041DF48,
0x22635671,
0xFF26FCC9,
0x2E238253,
0xF36628EB,
0x9144A1D2,
0x4C010B6A,
0x5501B3A0,
0x88441918,
0xEA669021,
0x37233A99,
0xD867E1B5,
0x05224B0D,
0x6700C234,
0xBA45688C,
0xA345D046,
0x7E007AFE,
0x1C22F3C7,
0xC167597F,
0xC747336E,
0x1A0299D6,
0x782010EF,
0xA565BA57,
0xBC65029D,
0x6120A825,
0x0302211C,
0xDE478BA4,
0x31035088,
0xEC46FA30,
0x8E647309,
0x5321D9B1,
0x4A21617B,
0x9764CBC3,
0xF54642FA,
0x2803E842},
{0x00000000,
0x38116FAC,
0x7022DF58,
0x4833B0F4,
0xE045BEB0,
0xD854D11C,
0x906761E8,
0xA8760E44,
0xC5670B91,
0xFD76643D,
0xB545D4C9,
0x8D54BB65,
0x2522B521,
0x1D33DA8D,
0x55006A79,
0x6D1105D5,
0x8F2261D3,
0xB7330E7F,
0xFF00BE8B,
0xC711D127,
0x6F67DF63,
0x5776B0CF,
0x1F45003B,
0x27546F97,
0x4A456A42,
0x725405EE,
0x3A67B51A,
0x0276DAB6,
0xAA00D4F2,
0x9211BB5E,
0xDA220BAA,
0xE2336406,
0x1BA8B557,
0x23B9DAFB,
0x6B8A6A0F,
0x539B05A3,
0xFBED0BE7,
0xC3FC644B,
0x8BCFD4BF,
0xB3DEBB13,
0xDECFBEC6,
0xE6DED16A,
0xAEED619E,
0x96FC0E32,
0x3E8A0076,
0x069B6FDA,
0x4EA8DF2E,
0x76B9B082,
0x948AD484,
0xAC9BBB28,
0xE4A80BDC,
0xDCB96470,
0x74CF6A34,
0x4CDE0598,
0x04EDB56C,
0x3CFCDAC0,
0x51EDDF15,
0x69FCB0B9,
0x21CF004D,
0x19DE6FE1,
0xB1A861A5,
0x89B90E09,
0xC18ABEFD,
0xF99BD151,
0x37516AAE,
0x0F400502,
0x4773B5F6,
0x7F62DA5A,
0xD714D41E,
0xEF05BBB2,
0xA7360B46,
0x9F2764EA,
0xF236613F,
0xCA270E93,
0x8214BE67,
0xBA05D1CB,
0x1273DF8F,
0x2A62B023,
0x625100D7,
0x5A406F7B,
0xB8730B7D,
0x806264D1,
0xC851D425,
0xF040BB89,
0x5836B5CD,
0x6027DA61,
0x28146A95,
0x10050539,
0x7D1400EC,
0x45056F40,
0x0D36DFB4,
0x3527B018,
0x9D51BE5C,
0xA540D1F0,
0xED736104,
0xD5620EA8,
0x2CF9DFF9,
0x14E8B055,
0x5CDB00A1,
0x64CA6F0D,
0xCCBC6149,
0xF4AD0EE5,
0xBC9EBE11,
0x848FD1BD,
0xE99ED468,
0xD18FBBC4,
0x99BC0B30,
0xA1AD649C,
0x09DB6AD8,
0x31CA0574,
0x79F9B580,
0x41E8DA2C,
0xA3DBBE2A,
0x9BCAD186,
0xD3F96172,
0xEBE80EDE,
0x439E009A,
0x7B8F6F36,
0x33BCDFC2,
0x0BADB06E,
0x66BCB5BB,
0x5EADDA17,
0x169E6AE3,
0x2E8F054F,
0x86F90B0B,
0xBEE864A7,
0xF6DBD453,
0xCECABBFF,
0x6EA2D55C,
0x56B3BAF0,
0x1E800A04,
0x269165A8,
0x8EE76BEC,
0xB6F60440,
0xFEC5B4B4,
0xC6D4DB18,
0xABC5DECD,
0x93D4B161,
0xDBE70195,
0xE3F66E39,
0x4B80607D,
0x73910FD1,
0x3BA2BF25,
0x03B3D089,
0xE180B48F,
0xD991DB23,
0x91A26BD7,
0xA9B3047B,
0x01C50A3F,
0x39D46593,
0x71E7D567,
0x49F6BACB,
0x24E7BF1E,
0x1CF6D0B2,
0x54C56046,
0x6CD40FEA,
0xC4A201AE,
0xFCB36E02,
0xB480DEF6,
0x8C91B15A,
0x750A600B,
0x4D1B0FA7,
0x0528BF53,
0x3D39D0FF,
0x954FDEBB,
0xAD5EB117,
0xE56D01E3,
0xDD7C6E4F,
0xB06D6B9A,
0x887C0436,
0xC04FB4C2,
0xF85EDB6E,
0x5028D52A,
0x6839BA86,
0x200A0A72,
0x181B65DE,
0xFA2801D8,
0xC2396E74,
0x8A0ADE80,
0xB21BB12C,
0x1A6DBF68,
0x227CD0C4,
0x6A4F6030,
0x525E0F9C,
0x3F4F0A49,
0x075E65E5,
0x4F6DD511,
0x777CBABD,
0xDF0AB4F9,
0xE71BDB55,
0xAF286BA1,
0x9739040D,
0x59F3BFF2,
0x61E2D05E,
0x29D160AA,
0x11C00F06,
0xB9B60142,
0x81A76EEE,
0xC994DE1A,
0xF185B1B6,
0x9C94B463,
0xA485DBCF,
0xECB66B3B,
0xD4A70497,
0x7CD10AD3,
0x44C0657F,
0x0CF3D58B,
0x34E2BA27,
0xD6D1DE21,
0xEEC0B18D,
0xA6F30179,
0x9EE26ED5,
0x36946091,
0x0E850F3D,
0x46B6BFC9,
0x7EA7D065,
0x13B6D5B0,
0x2BA7BA1C,
0x63940AE8,
0x5B856544,
0xF3F36B00,
0xCBE204AC,
0x83D1B458,
0xBBC0DBF4,
0x425B0AA5,
0x7A4A6509,
0x3279D5FD,
0x0A68BA51,
0xA21EB415,
0x9A0FDBB9,
0xD23C6B4D,
0xEA2D04E1,
0x873C0134,
0xBF2D6E98,
0xF71EDE6C,
0xCF0FB1C0,
0x6779BF84,
0x5F68D028,
0x175B60DC,
0x2F4A0F70,
0xCD796B76,
0xF56804DA,
0xBD5BB42E,
0x854ADB82,
0x2D3CD5C6,
0x152DBA6A,
0x5D1E0A9E,
0x650F6532,
0x081E60E7,
0x300F0F4B,
0x783CBFBF,
0x402DD013,
0xE85BDE57,
0xD04AB1FB,
0x9879010F,
0xA0686EA3},
{0x00000000,
0xEF306B19,
0xDB8CA0C3,
0x34BCCBDA,
0xB2F53777,
0x5DC55C6E,
0x697997B4,
0x8649FCAD,
0x6006181F,
0x8F367306,
0xBB8AB8DC,
0x54BAD3C5,
0xD2F32F68,
0x3DC34471,
0x097F8FAB,
0xE64FE4B2,
0xC00C303E,
0x2F3C5B27,
0x1B8090FD,
0xF4B0FBE4,
0x72F90749,
0x9DC96C50,
0xA975A78A,
0x4645CC93,
0xA00A2821,
0x4F3A4338,
0x7B8688E2,
0x94B6E3FB,
0x12FF1F56,
0xFDCF744F,
0xC973BF95,
0x2643D48C,
0x85F4168D,
0x6AC47D94,
0x5E78B64E,
0xB148DD57,
0x370121FA,
0xD8314AE3,
0xEC8D8139,
0x03BDEA20,
0xE5F20E92,
0x0AC2658B,
0x3E7EAE51,
0xD14EC548,
0x570739E5,
0xB83752FC,
0x8C8B9926,
0x63BBF23F,
0x45F826B3,
0xAAC84DAA,
0x9E748670,
0x7144ED69,
0xF70D11C4,
0x183D7ADD,
0x2C81B107,
0xC3B1DA1E,
0x25FE3EAC,
0xCACE55B5,
0xFE729E6F,
0x1142F576,
0x970B09DB,
0x783B62C2,
0x4C87A918,
0xA3B7C201,
0x0E045BEB,
0xE13430F2,
0xD588FB28,
0x3AB89031,
0xBCF16C9C,
0x53C10785,
0x677DCC5F,
0x884DA746,
0x6E0243F4,
0x813228ED,
0xB58EE337,
0x5ABE882E,
0xDCF77483,
0x33C71F9A,
0x077BD440,
0xE84BBF59,
0xCE086BD5,
0x213800CC,
0x1584CB16,
0xFAB4A00F,
0x7CFD5CA2,
0x93CD37BB,
0xA771FC61,
0x48419778,
0xAE0E73CA,
0x413E18D3,
0x7582D309,
0x9AB2B810,
0x1CFB44BD,
0xF3CB2FA4,
0xC777E47E,
0x28478F67,
0x8BF04D66,
0x64C0267F,
0x507CEDA5,
0xBF4C86BC,
0x39057A11,
0xD6351108,
0xE289DAD2,
0x0DB9B1CB,
0xEBF65579,
0x04C63E60,
0x307AF5BA,
0xDF4A9EA3,
0x5903620E,
0xB6330917,
0x828FC2CD,
0x6DBFA9D4,
0x4BFC7D58,
0xA4CC1641,
0x9070DD9B,
0x7F40B682,
0xF9094A2F,
0x16392136,
0x2285EAEC,
0xCDB581F5,
0x2BFA6547,
0xC4CA0E5E,
0xF076C584,
0x1F46AE9D,
0x990F5230,
0x763F3929,
0x4283F2F3,
0xADB399EA,
0x1C08B7D6,
0xF338DCCF,
0xC7841715,
0x28B47C0C,
0xAEFD80A1,
0x41CDEBB8,
0x75712062,
0x9A414B7B,
0x7C0EAFC9,
0x933EC4D0,
0xA7820F0A,
0x48B26413,
0xCEFB98BE,
0x21CBF3A7,
0x1577387D,
0xFA475364,
0xDC0487E8,
0x3334ECF1,
0x0788272B,
0xE8B84C32,
0x6EF1B09F,
0x81C1DB86,
0xB57D105C,
0x5A4D7B45,
0xBC029FF7,
0x5332F4EE,
0x678E3F34,
0x88BE542D,
0x0EF7A880,
0xE1C7C399,
0xD57B0843,
0x3A4B635A,
0x99FCA15B,
0x76CCCA42,
0x42700198,
0xAD406A81,
0x2B09962C,
0xC439FD35,
0xF08536EF,
0x1FB55DF6,
0xF9FAB944,
0x16CAD25D,
0x22761987,
0xCD46729E,
0x4B0F8E33,
0xA43FE52A,
0x90832EF0,
0x7FB345E9,
0x59F09165,
0xB6C0FA7C,
0x827C31A6,
0x6D4C5ABF,
0xEB05A612,
0x0435CD0B,
0x308906D1,
0xDFB96DC8,
0x39F6897A,
0xD6C6E263,
0xE27A29B9,
0x0D4A42A0,
0x8B03BE0D,
0x6433D514,
0x508F1ECE,
0xBFBF75D7,
0x120CEC3D,
0xFD3C8724,
0xC9804CFE,
0x26B027E7,
0xA0F9DB4A,
0x4FC9B053,
0x7B757B89,
0x94451090,
0x720AF422,
0x9D3A9F3B,
0xA98654E1,
0x46B63FF8,
0xC0FFC355,
0x2FCFA84C,
0x1B736396,
0xF443088F,
0xD200DC03,
0x3D30B71A,
0x098C7CC0,
0xE6BC17D9,
0x60F5EB74,
0x8FC5806D,
0xBB794BB7,
0x544920AE,
0xB206C41C,
0x5D36AF05,
0x698A64DF,
0x86BA0FC6,
0x00F3F36B,
0xEFC39872,
0xDB7F53A8,
0x344F38B1,
0x97F8FAB0,
0x78C891A9,
0x4C745A73,
0xA344316A,
0x250DCDC7,
0xCA3DA6DE,
0xFE816D04,
0x11B1061D,
0xF7FEE2AF,
0x18CE89B6,
0x2C72426C,
0xC3422975,
0x450BD5D8,
0xAA3BBEC1,
0x9E87751B,
0x71B71E02,
0x57F4CA8E,
0xB8C4A197,
0x8C786A4D,
0x63480154,
0xE501FDF9,
0x0A3196E0,
0x3E8D5D3A,
0xD1BD3623,
0x37F2D291,
0xD8C2B988,
0xEC7E7252,
0x034E194B,
0x8507E5E6,
0x6A378EFF,
0x5E8B4525,
0xB1BB2E3C},
{0x00000000,
0x68032CC8,
0xD0065990,
0xB8057558,
0xA5E0C5D1,
0xCDE3E919,
0x75E69C41,
0x1DE5B089,
0x4E2DFD53,
0x262ED19B,
0x9E2BA4C3,
0xF628880B,
0xEBCD3882,
0x83CE144A,
0x3BCB6112,
0x53C84DDA,
0x9C5BFAA6,
0xF458D66E,
0x4C5DA336,
0x245E8FFE,
0x39BB3F77,
0x51B813BF,
0xE9BD66E7,
0x81BE4A2F,
0xD27607F5,
0xBA752B3D,
0x02705E65,
0x6A7372AD,
0x7796C224,
0x1F95EEEC,
0xA7909BB4,
0xCF93B77C,
0x3D5B83BD,
0x5558AF75,
0xED5DDA2D,
0x855EF6E5,
0x98BB466C,
0xF0B86AA4,
0x48BD1FFC,
0x20BE3334,
0x73767EEE,
0x1B755226,
0xA370277E,
0xCB730BB6,
0xD696BB3F,
0xBE9597F7,
0x0690E2AF,
0x6E93CE67,
0xA100791B,
0xC90355D3,
0x7106208B,
0x19050C43,
0x04E0BCCA,
0x6CE39002,
0xD4E6E55A,
0xBCE5C992,
0xEF2D8448,
0x872EA880,
0x3F2BDDD8,
0x5728F110,
0x4ACD4199,
0x22CE6D51,
0x9ACB1809,
0xF2C834C1,
0x7AB7077A,
0x12B42BB2,
0xAAB15EEA,
0xC2B27222,
0xDF57C2AB,
0xB754EE63,
0x0F519B3B,
0x6752B7F3,
0x349AFA29,
0x5C99D6E1,
0xE49CA3B9,
0x8C9F8F71,
0x917A3FF8,
0xF9791330,
0x417C6668,
0x297F4AA0,
0xE6ECFDDC,
0x8EEFD114,
0x36EAA44C,
0x5EE98884,
0x430C380D,
0x2B0F14C5,
0x930A619D,
0xFB094D55,
0xA8C1008F,
0xC0C22C47,
0x78C7591F,
0x10C475D7,
0x0D21C55E,
0x6522E996,
0xDD279CCE,
0xB524B006,
0x47EC84C7,
0x2FEFA80F,
0x97EADD57,
0xFFE9F19F,
0xE20C4116,
0x8A0F6DDE,
0x320A1886,
0x5A09344E,
0x09C17994,
0x61C2555C,
0xD9C72004,
0xB1C40CCC,
0xAC21BC45,
0xC422908D,
0x7C27E5D5,
0x1424C91D,
0xDBB77E61,
0xB3B452A9,
0x0BB127F1,
0x63B20B39,
0x7E57BBB0,
0x16549778,
0xAE51E220,
0xC652CEE8,
0x959A8332,
0xFD99AFFA,
0x459CDAA2,
0x2D9FF66A,
0x307A46E3,
0x58796A2B,
0xE07C1F73,
0x887F33BB,
0xF56E0EF4,
0x9D6D223C,
0x25685764,
0x4D6B7BAC,
0x508ECB25,
0x388DE7ED,
0x808892B5,
0xE88BBE7D,
0xBB43F3A7,
0xD340DF6F,
0x6B45AA37,
0x034686FF,
0x1EA33676,
0x76A01ABE,
0xCEA56FE6,
0xA6A6432E,
0x6935F452,
0x0136D89A,
0xB933ADC2,
0xD130810A,
0xCCD53183,
0xA4D61D4B,
0x1CD36813,
0x74D044DB,
0x27180901,
0x4F1B25C9,
0xF71E5091,
0x9F1D7C59,
0x82F8CCD0,
0xEAFBE018,
0x52FE9540,
0x3AFDB988,
0xC8358D49,
0xA036A181,
0x1833D4D9,
0x7030F811,
0x6DD54898,
0x05D66450,
0xBDD31108,
0xD5D03DC0,
0x8618701A,
0xEE1B5CD2,
0x561E298A,
0x3E1D0542,
0x23F8B5CB,
0x4BFB9903,
0xF3FEEC5B,
0x9BFDC093,
0x546E77EF,
0x3C6D5B27,
0x84682E7F,
0xEC6B02B7,
0xF18EB23E,
0x998D9EF6,
0x2188EBAE,
0x498BC766,
0x1A438ABC,
0x7240A674,
0xCA45D32C,
0xA246FFE4,
0xBFA34F6D,
0xD7A063A5,
0x6FA516FD,
0x07A63A35,
0x8FD9098E,
0xE7DA2546,
0x5FDF501E,
0x37DC7CD6,
0x2A39CC5F,
0x423AE097,
0xFA3F95CF,
0x923CB907,
0xC1F4F4DD,
0xA9F7D815,
0x11F2AD4D,
0x79F18185,
0x6414310C,
0x0C171DC4,
0xB412689C,
0xDC114454,
0x1382F328,
0x7B81DFE0,
0xC384AAB8,
0xAB878670,
0xB66236F9,
0xDE611A31,
0x66646F69,
0x0E6743A1,
0x5DAF0E7B,
0x35AC22B3,
0x8DA957EB,
0xE5AA7B23,
0xF84FCBAA,
0x904CE762,
0x2849923A,
0x404ABEF2,
0xB2828A33,
0xDA81A6FB,
0x6284D3A3,
0x0A87FF6B,
0x17624FE2,
0x7F61632A,
0xC7641672,
0xAF673ABA,
0xFCAF7760,
0x94AC5BA8,
0x2CA92EF0,
0x44AA0238,
0x594FB2B1,
0x314C9E79,
0x8949EB21,
0xE14AC7E9,
0x2ED97095,
0x46DA5C5D,
0xFEDF2905,
0x96DC05CD,
0x8B39B544,
0xE33A998C,
0x5B3FECD4,
0x333CC01C,
0x60F48DC6,
0x08F7A10E,
0xB0F2D456,
0xD8F1F89E,
0xC5144817,
0xAD1764DF,
0x15121187,
0x7D113D4F},
{0x00000000,
0x493C7D27,
0x9278FA4E,
0xDB448769,
0x211D826D,
0x6821FF4A,
0xB3657823,
0xFA590504,
0x423B04DA,
0x0B0779FD,
0xD043FE94,
0x997F83B3,
0x632686B7,
0x2A1AFB90,
0xF15E7CF9,
0xB86201DE,
0x847609B4,
0xCD4A7493,
0x160EF3FA,
0x5F328EDD,
0xA56B8BD9,
0xEC57F6FE,
0x37137197,
0x7E2F0CB0,
0xC64D0D6E,
0x8F717049,
0x5435F720,
0x1D098A07,
0xE7508F03,
0xAE6CF224,
0x7528754D,
0x3C14086A,
0x0D006599,
0x443C18BE,
0x9F789FD7,
0xD644E2F0,
0x2C1DE7F4,
0x65219AD3,
0xBE651DBA,
0xF759609D,
0x4F3B6143,
0x06071C64,
0xDD439B0D,
0x947FE62A,
0x6E26E32E,
0x271A9E09,
0xFC5E1960,
0xB5626447,
0x89766C2D,
0xC04A110A,
0x1B0E9663,
0x5232EB44,
0xA86BEE40,
0xE1579367,
0x3A13140E,
0x732F6929,
0xCB4D68F7,
0x827115D0,
0x593592B9,
0x1009EF9E,
0xEA50EA9A,
0xA36C97BD,
0x782810D4,
0x31146DF3,
0x1A00CB32,
0x533CB615,
0x8878317C,
0xC1444C5B,
0x3B1D495F,
0x72213478,
0xA965B311,
0xE059CE36,
0x583BCFE8,
0x1107B2CF,
0xCA4335A6,
0x837F4881,
0x79264D85,
0x301A30A2,
0xEB5EB7CB,
0xA262CAEC,
0x9E76C286,
0xD74ABFA1,
0x0C0E38C8,
0x453245EF,
0xBF6B40EB,
0xF6573DCC,
0x2D13BAA5,
0x642FC782,
0xDC4DC65C,
0x9571BB7B,
0x4E353C12,
0x07094135,
0xFD504431,
0xB46C3916,
0x6F28BE7F,
0x2614C358,
0x1700AEAB,
0x5E3CD38C,
0x857854E5,
0xCC4429C2,
0x361D2CC6,
0x7F2151E1,
0xA465D688,
0xED59ABAF,
0x553BAA71,
0x1C07D756,
0xC743503F,
0x8E7F2D18,
0x7426281C,
0x3D1A553B,
0xE65ED252,
0xAF62AF75,
0x9376A71F,
0xDA4ADA38,
0x010E5D51,
0x48322076,
0xB26B2572,
0xFB575855,
0x2013DF3C,
0x692FA21B,
0xD14DA3C5,
0x9871DEE2,
0x4335598B,
0x0A0924AC,
0xF05021A8,
0xB96C5C8F,
0x6228DBE6,
0x2B14A6C1,
0x34019664,
0x7D3DEB43,
0xA6796C2A,
0xEF45110D,
0x151C1409,
0x5C20692E,
0x8764EE47,
0xCE589360,
0x763A92BE,
0x3F06EF99,
0xE44268F0,
0xAD7E15D7,
0x572710D3,
0x1E1B6DF4,
0xC55FEA9D,
0x8C6397BA,
0xB0779FD0,
0xF94BE2F7,
0x220F659E,
0x6B3318B9,
0x916A1DBD,
0xD856609A,
0x0312E7F3,
0x4A2E9AD4,
0xF24C9B0A,
0xBB70E62D,
0x60346144,
0x29081C63,
0xD3511967,
0x9A6D6440,
0x4129E329,
0x08159E0E,
0x3901F3FD,
0x703D8EDA,
0xAB7909B3,
0xE2457494,
0x181C7190,
0x51200CB7,
0x8A648BDE,
0xC358F6F9,
0x7B3AF727,
0x32068A00,
0xE9420D69,
0xA07E704E,
0x5A27754A,
0x131B086D,
0xC85F8F04,
0x8163F223,
0xBD77FA49,
0xF44B876E,
0x2F0F0007,
0x66337D20,
0x9C6A7824,
0xD5560503,
0x0E12826A,
0x472EFF4D,
0xFF4CFE93,
0xB67083B4,
0x6D3404DD,
0x240879FA,
0xDE517CFE,
0x976D01D9,
0x4C2986B0,
0x0515FB97,
0x2E015D56,
0x673D2071,
0xBC79A718,
0xF545DA3F,
0x0F1CDF3B,
0x4620A21C,
0x9D642575,
0xD4585852,
0x6C3A598C,
0x250624AB,
0xFE42A3C2,
0xB77EDEE5,
0x4D27DBE1,
0x041BA6C6,
0xDF5F21AF,
0x96635C88,
0xAA7754E2,
0xE34B29C5,
0x380FAEAC,
0x7133D38B,
0x8B6AD68F,
0xC256ABA8,
0x19122CC1,
0x502E51E6,
0xE84C5038,
0xA1702D1F,
0x7A34AA76,
0x3308D751,
0xC951D255,
0x806DAF72,
0x5B29281B,
0x1215553C,
0x230138CF,
0x6A3D45E8,
0xB179C281,
0xF845BFA6,
0x021CBAA2,
0x4B20C785,
0x906440EC,
0xD9583DCB,
0x613A3C15,
0x28064132,
0xF342C65B,
0xBA7EBB7C,
0x4027BE78,
0x091BC35F,
0xD25F4436,
0x9B633911,
0xA777317B,
0xEE4B4C5C,
0x350FCB35,
0x7C33B612,
0x866AB316,
0xCF56CE31,
0x14124958,
0x5D2E347F,
0xE54C35A1,
0xAC704886,
0x7734CFEF,
0x3E08B2C8,
0xC451B7CC,
0x8D6DCAEB,
0x56294D82,
0x1F1530A5}
#else
{
0x00000000,
0x03836BF2,
0xF7703BE1,
0xF4F35013,
0x1F979AC7,
0x1C14F135,
0xE8E7A126,
0xEB64CAD4,
0xCF58D98A,
0xCCDBB278,
0x3828E26B,
0x3BAB8999,
0xD0CF434D,
0xD34C28BF,
0x27BF78AC,
0x243C135E,
0x6FC75E10,
0x6C4435E2,
0x98B765F1,
0x9B340E03,
0x7050C4D7,
0x73D3AF25,
0x8720FF36,
0x84A394C4,
0xA09F879A,
0xA31CEC68,
0x57EFBC7B,
0x546CD789,
0xBF081D5D,
0xBC8B76AF,
0x487826BC,
0x4BFB4D4E,
0xDE8EBD20,
0xDD0DD6D2,
0x29FE86C1,
0x2A7DED33,
0xC11927E7,
0xC29A4C15,
0x36691C06,
0x35EA77F4,
0x11D664AA,
0x12550F58,
0xE6A65F4B,
0xE52534B9,
0x0E41FE6D,
0x0DC2959F,
0xF931C58C,
0xFAB2AE7E,
0xB149E330,
0xB2CA88C2,
0x4639D8D1,
0x45BAB323,
0xAEDE79F7,
0xAD5D1205,
0x59AE4216,
0x5A2D29E4,
0x7E113ABA,
0x7D925148,
0x8961015B,
0x8AE26AA9,
0x6186A07D,
0x6205CB8F,
0x96F69B9C,
0x9575F06E,
0xBC1D7B41,
0xBF9E10B3,
0x4B6D40A0,
0x48EE2B52,
0xA38AE186,
0xA0098A74,
0x54FADA67,
0x5779B195,
0x7345A2CB,
0x70C6C939,
0x8435992A,
0x87B6F2D8,
0x6CD2380C,
0x6F5153FE,
0x9BA203ED,
0x9821681F,
0xD3DA2551,
0xD0594EA3,
0x24AA1EB0,
0x27297542,
0xCC4DBF96,
0xCFCED464,
0x3B3D8477,
0x38BEEF85,
0x1C82FCDB,
0x1F019729,
0xEBF2C73A,
0xE871ACC8,
0x0315661C,
0x00960DEE,
0xF4655DFD,
0xF7E6360F,
0x6293C661,
0x6110AD93,
0x95E3FD80,
0x96609672,
0x7D045CA6,
0x7E873754,
0x8A746747,
0x89F70CB5,
0xADCB1FEB,
0xAE487419,
0x5ABB240A,
0x59384FF8,
0xB25C852C,
0xB1DFEEDE,
0x452CBECD,
0x46AFD53F,
0x0D549871,
0x0ED7F383,
0xFA24A390,
0xF9A7C862,
0x12C302B6,
0x11406944,
0xE5B33957,
0xE63052A5,
0xC20C41FB,
0xC18F2A09,
0x357C7A1A,
0x36FF11E8,
0xDD9BDB3C,
0xDE18B0CE,
0x2AEBE0DD,
0x29688B2F,
0x783BF682,
0x7BB89D70,
0x8F4BCD63,
0x8CC8A691,
0x67AC6C45,
0x642F07B7,
0x90DC57A4,
0x935F3C56,
0xB7632F08,
0xB4E044FA,
0x401314E9,
0x43907F1B,
0xA8F4B5CF,
0xAB77DE3D,
0x5F848E2E,
0x5C07E5DC,
0x17FCA892,
0x147FC360,
0xE08C9373,
0xE30FF881,
0x086B3255,
0x0BE859A7,
0xFF1B09B4,
0xFC986246,
0xD8A47118,
0xDB271AEA,
0x2FD44AF9,
0x2C57210B,
0xC733EBDF,
0xC4B0802D,
0x3043D03E,
0x33C0BBCC,
0xA6B54BA2,
0xA5362050,
0x51C57043,
0x52461BB1,
0xB922D165,
0xBAA1BA97,
0x4E52EA84,
0x4DD18176,
0x69ED9228,
0x6A6EF9DA,
0x9E9DA9C9,
0x9D1EC23B,
0x767A08EF,
0x75F9631D,
0x810A330E,
0x828958FC,
0xC97215B2,
0xCAF17E40,
0x3E022E53,
0x3D8145A1,
0xD6E58F75,
0xD566E487,
0x2195B494,
0x2216DF66,
0x062ACC38,
0x05A9A7CA,
0xF15AF7D9,
0xF2D99C2B,
0x19BD56FF,
0x1A3E3D0D,
0xEECD6D1E,
0xED4E06EC,
0xC4268DC3,
0xC7A5E631,
0x3356B622,
0x30D5DDD0,
0xDBB11704,
0xD8327CF6,
0x2CC12CE5,
0x2F424717,
0x0B7E5449,
0x08FD3FBB,
0xFC0E6FA8,
0xFF8D045A,
0x14E9CE8E,
0x176AA57C,
0xE399F56F,
0xE01A9E9D,
0xABE1D3D3,
0xA862B821,
0x5C91E832,
0x5F1283C0,
0xB4764914,
0xB7F522E6,
0x430672F5,
0x40851907,
0x64B90A59,
0x673A61AB,
0x93C931B8,
0x904A5A4A,
0x7B2E909E,
0x78ADFB6C,
0x8C5EAB7F,
0x8FDDC08D,
0x1AA830E3,
0x192B5B11,
0xEDD80B02,
0xEE5B60F0,
0x053FAA24,
0x06BCC1D6,
0xF24F91C5,
0xF1CCFA37,
0xD5F0E969,
0xD673829B,
0x2280D288,
0x2103B97A,
0xCA6773AE,
0xC9E4185C,
0x3D17484F,
0x3E9423BD,
0x756F6EF3,
0x76EC0501,
0x821F5512,
0x819C3EE0,
0x6AF8F434,
0x697B9FC6,
0x9D88CFD5,
0x9E0BA427,
0xBA37B779,
0xB9B4DC8B,
0x4D478C98,
0x4EC4E76A,
0xA5A02DBE,
0xA623464C,
0x52D0165F,
0x51537DAD,
},
{
0x00000000,
0x7798A213,
0xEE304527,
0x99A8E734,
0xDC618A4E,
0xABF9285D,
0x3251CF69,
0x45C96D7A,
0xB8C3149D,
0xCF5BB68E,
0x56F351BA,
0x216BF3A9,
0x64A29ED3,
0x133A3CC0,
0x8A92DBF4,
0xFD0A79E7,
0x81F1C53F,
0xF669672C,
0x6FC18018,
0x1859220B,
0x5D904F71,
0x2A08ED62,
0xB3A00A56,
0xC438A845,
0x3932D1A2,
0x4EAA73B1,
0xD7029485,
0xA09A3696,
0xE5535BEC,
0x92CBF9FF,
0x0B631ECB,
0x7CFBBCD8,
0x02E38B7F,
0x757B296C,
0xECD3CE58,
0x9B4B6C4B,
0xDE820131,
0xA91AA322,
0x30B24416,
0x472AE605,
0xBA209FE2,
0xCDB83DF1,
0x5410DAC5,
0x238878D6,
0x664115AC,
0x11D9B7BF,
0x8871508B,
0xFFE9F298,
0x83124E40,
0xF48AEC53,
0x6D220B67,
0x1ABAA974,
0x5F73C40E,
0x28EB661D,
0xB1438129,
0xC6DB233A,
0x3BD15ADD,
0x4C49F8CE,
0xD5E11FFA,
0xA279BDE9,
0xE7B0D093,
0x90287280,
0x098095B4,
0x7E1837A7,
0x04C617FF,
0x735EB5EC,
0xEAF652D8,
0x9D6EF0CB,
0xD8A79DB1,
0xAF3F3FA2,
0x3697D896,
0x410F7A85,
0xBC050362,
0xCB9DA171,
0x52354645,
0x25ADE456,
0x6064892C,
0x17FC2B3F,
0x8E54CC0B,
0xF9CC6E18,
0x8537D2C0,
0xF2AF70D3,
0x6B0797E7,
0x1C9F35F4,
0x5956588E,
0x2ECEFA9D,
0xB7661DA9,
0xC0FEBFBA,
0x3DF4C65D,
0x4A6C644E,
0xD3C4837A,
0xA45C2169,
0xE1954C13,
0x960DEE00,
0x0FA50934,
0x783DAB27,
0x06259C80,
0x71BD3E93,
0xE815D9A7,
0x9F8D7BB4,
0xDA4416CE,
0xADDCB4DD,
0x347453E9,
0x43ECF1FA,
0xBEE6881D,
0xC97E2A0E,
0x50D6CD3A,
0x274E6F29,
0x62870253,
0x151FA040,
0x8CB74774,
0xFB2FE567,
0x87D459BF,
0xF04CFBAC,
0x69E41C98,
0x1E7CBE8B,
0x5BB5D3F1,
0x2C2D71E2,
0xB58596D6,
0xC21D34C5,
0x3F174D22,
0x488FEF31,
0xD1270805,
0xA6BFAA16,
0xE376C76C,
0x94EE657F,
0x0D46824B,
0x7ADE2058,
0xF9FAC3FB,
0x8E6261E8,
0x17CA86DC,
0x605224CF,
0x259B49B5,
0x5203EBA6,
0xCBAB0C92,
0xBC33AE81,
0x4139D766,
0x36A17575,
0xAF099241,
0xD8913052,
0x9D585D28,
0xEAC0FF3B,
0x7368180F,
0x04F0BA1C,
0x780B06C4,
0x0F93A4D7,
0x963B43E3,
0xE1A3E1F0,
0xA46A8C8A,
0xD3F22E99,
0x4A5AC9AD,
0x3DC26BBE,
0xC0C81259,
0xB750B04A,
0x2EF8577E,
0x5960F56D,
0x1CA99817,
0x6B313A04,
0xF299DD30,
0x85017F23,
0xFB194884,
0x8C81EA97,
0x15290DA3,
0x62B1AFB0,
0x2778C2CA,
0x50E060D9,
0xC94887ED,
0xBED025FE,
0x43DA5C19,
0x3442FE0A,
0xADEA193E,
0xDA72BB2D,
0x9FBBD657,
0xE8237444,
0x718B9370,
0x06133163,
0x7AE88DBB,
0x0D702FA8,
0x94D8C89C,
0xE3406A8F,
0xA68907F5,
0xD111A5E6,
0x48B942D2,
0x3F21E0C1,
0xC22B9926,
0xB5B33B35,
0x2C1BDC01,
0x5B837E12,
0x1E4A1368,
0x69D2B17B,
0xF07A564F,
0x87E2F45C,
0xFD3CD404,
0x8AA47617,
0x130C9123,
0x64943330,
0x215D5E4A,
0x56C5FC59,
0xCF6D1B6D,
0xB8F5B97E,
0x45FFC099,
0x3267628A,
0xABCF85BE,
0xDC5727AD,
0x999E4AD7,
0xEE06E8C4,
0x77AE0FF0,
0x0036ADE3,
0x7CCD113B,
0x0B55B328,
0x92FD541C,
0xE565F60F,
0xA0AC9B75,
0xD7343966,
0x4E9CDE52,
0x39047C41,
0xC40E05A6,
0xB396A7B5,
0x2A3E4081,
0x5DA6E292,
0x186F8FE8,
0x6FF72DFB,
0xF65FCACF,
0x81C768DC,
0xFFDF5F7B,
0x8847FD68,
0x11EF1A5C,
0x6677B84F,
0x23BED535,
0x54267726,
0xCD8E9012,
0xBA163201,
0x471C4BE6,
0x3084E9F5,
0xA92C0EC1,
0xDEB4ACD2,
0x9B7DC1A8,
0xECE563BB,
0x754D848F,
0x02D5269C,
0x7E2E9A44,
0x09B63857,
0x901EDF63,
0xE7867D70,
0xA24F100A,
0xD5D7B219,
0x4C7F552D,
0x3BE7F73E,
0xC6ED8ED9,
0xB1752CCA,
0x28DDCBFE,
0x5F4569ED,
0x1A8C0497,
0x6D14A684,
0xF4BC41B0,
0x8324E3A3,
},
{
0x00000000,
0x7E9241A5,
0x0D526F4F,
0x73C02EEA,
0x1AA4DE9E,
0x64369F3B,
0x17F6B1D1,
0x6964F074,
0xC53E5138,
0xBBAC109D,
0xC86C3E77,
0xB6FE7FD2,
0xDF9A8FA6,
0xA108CE03,
0xD2C8E0E9,
0xAC5AA14C,
0x8A7DA270,
0xF4EFE3D5,
0x872FCD3F,
0xF9BD8C9A,
0x90D97CEE,
0xEE4B3D4B,
0x9D8B13A1,
0xE3195204,
0x4F43F348,
0x31D1B2ED,
0x42119C07,
0x3C83DDA2,
0x55E72DD6,
0x2B756C73,
0x58B54299,
0x2627033C,
0x14FB44E1,
0x6A690544,
0x19A92BAE,
0x673B6A0B,
0x0E5F9A7F,
0x70CDDBDA,
0x030DF530,
0x7D9FB495,
0xD1C515D9,
0xAF57547C,
0xDC977A96,
0xA2053B33,
0xCB61CB47,
0xB5F38AE2,
0xC633A408,
0xB8A1E5AD,
0x9E86E691,
0xE014A734,
0x93D489DE,
0xED46C87B,
0x8422380F,
0xFAB079AA,
0x89705740,
0xF7E216E5,
0x5BB8B7A9,
0x252AF60C,
0x56EAD8E6,
0x28789943,
0x411C6937,
0x3F8E2892,
0x4C4E0678,
0x32DC47DD,
0xD98065C7,
0xA7122462,
0xD4D20A88,
0xAA404B2D,
0xC324BB59,
0xBDB6FAFC,
0xCE76D416,
0xB0E495B3,
0x1CBE34FF,
0x622C755A,
0x11EC5BB0,
0x6F7E1A15,
0x061AEA61,
0x7888ABC4,
0x0B48852E,
0x75DAC48B,
0x53FDC7B7,
0x2D6F8612,
0x5EAFA8F8,
0x203DE95D,
0x49591929,
0x37CB588C,
0x440B7666,
0x3A9937C3,
0x96C3968F,
0xE851D72A,
0x9B91F9C0,
0xE503B865,
0x8C674811,
0xF2F509B4,
0x8135275E,
0xFFA766FB,
0xCD7B2126,
0xB3E96083,
0xC0294E69,
0xBEBB0FCC,
0xD7DFFFB8,
0xA94DBE1D,
0xDA8D90F7,
0xA41FD152,
0x0845701E,
0x76D731BB,
0x05171F51,
0x7B855EF4,
0x12E1AE80,
0x6C73EF25,
0x1FB3C1CF,
0x6121806A,
0x47068356,
0x3994C2F3,
0x4A54EC19,
0x34C6ADBC,
0x5DA25DC8,
0x23301C6D,
0x50F03287,
0x2E627322,
0x8238D26E,
0xFCAA93CB,
0x8F6ABD21,
0xF1F8FC84,
0x989C0CF0,
0xE60E4D55,
0x95CE63BF,
0xEB5C221A,
0x4377278B,
0x3DE5662E,
0x4E2548C4,
0x30B70961,
0x59D3F915,
0x2741B8B0,
0x5481965A,
0x2A13D7FF,
0x864976B3,
0xF8DB3716,
0x8B1B19FC,
0xF5895859,
0x9CEDA82D,
0xE27FE988,
0x91BFC762,
0xEF2D86C7,
0xC90A85FB,
0xB798C45E,
0xC458EAB4,
0xBACAAB11,
0xD3AE5B65,
0xAD3C1AC0,
0xDEFC342A,
0xA06E758F,
0x0C34D4C3,
0x72A69566,
0x0166BB8C,
0x7FF4FA29,
0x16900A5D,
0x68024BF8,
0x1BC26512,
0x655024B7,
0x578C636A,
0x291E22CF,
0x5ADE0C25,
0x244C4D80,
0x4D28BDF4,
0x33BAFC51,
0x407AD2BB,
0x3EE8931E,
0x92B23252,
0xEC2073F7,
0x9FE05D1D,
0xE1721CB8,
0x8816ECCC,
0xF684AD69,
0x85448383,
0xFBD6C226,
0xDDF1C11A,
0xA36380BF,
0xD0A3AE55,
0xAE31EFF0,
0xC7551F84,
0xB9C75E21,
0xCA0770CB,
0xB495316E,
0x18CF9022,
0x665DD187,
0x159DFF6D,
0x6B0FBEC8,
0x026B4EBC,
0x7CF90F19,
0x0F3921F3,
0x71AB6056,
0x9AF7424C,
0xE46503E9,
0x97A52D03,
0xE9376CA6,
0x80539CD2,
0xFEC1DD77,
0x8D01F39D,
0xF393B238,
0x5FC91374,
0x215B52D1,
0x529B7C3B,
0x2C093D9E,
0x456DCDEA,
0x3BFF8C4F,
0x483FA2A5,
0x36ADE300,
0x108AE03C,
0x6E18A199,
0x1DD88F73,
0x634ACED6,
0x0A2E3EA2,
0x74BC7F07,
0x077C51ED,
0x79EE1048,
0xD5B4B104,
0xAB26F0A1,
0xD8E6DE4B,
0xA6749FEE,
0xCF106F9A,
0xB1822E3F,
0xC24200D5,
0xBCD04170,
0x8E0C06AD,
0xF09E4708,
0x835E69E2,
0xFDCC2847,
0x94A8D833,
0xEA3A9996,
0x99FAB77C,
0xE768F6D9,
0x4B325795,
0x35A01630,
0x466038DA,
0x38F2797F,
0x5196890B,
0x2F04C8AE,
0x5CC4E644,
0x2256A7E1,
0x0471A4DD,
0x7AE3E578,
0x0923CB92,
0x77B18A37,
0x1ED57A43,
0x60473BE6,
0x1387150C,
0x6D1554A9,
0xC14FF5E5,
0xBFDDB440,
0xCC1D9AAA,
0xB28FDB0F,
0xDBEB2B7B,
0xA5796ADE,
0xD6B94434,
0xA82B0591,
},
{
0x00000000,
0xB8AA45DD,
0x812367BF,
0x39892262,
0xF331227B,
0x4B9B67A6,
0x721245C4,
0xCAB80019,
0xE66344F6,
0x5EC9012B,
0x67402349,
0xDFEA6694,
0x1552668D,
0xADF82350,
0x94710132,
0x2CDB44EF,
0x3DB164E9,
0x851B2134,
0xBC920356,
0x0438468B,
0xCE804692,
0x762A034F,
0x4FA3212D,
0xF70964F0,
0xDBD2201F,
0x637865C2,
0x5AF147A0,
0xE25B027D,
0x28E30264,
0x904947B9,
0xA9C065DB,
0x116A2006,
0x8B1425D7,
0x33BE600A,
0x0A374268,
0xB29D07B5,
0x782507AC,
0xC08F4271,
0xF9066013,
0x41AC25CE,
0x6D776121,
0xD5DD24FC,
0xEC54069E,
0x54FE4343,
0x9E46435A,
0x26EC0687,
0x1F6524E5,
0xA7CF6138,
0xB6A5413E,
0x0E0F04E3,
0x37862681,
0x8F2C635C,
0x45946345,
0xFD3E2698,
0xC4B704FA,
0x7C1D4127,
0x50C605C8,
0xE86C4015,
0xD1E56277,
0x694F27AA,
0xA3F727B3,
0x1B5D626E,
0x22D4400C,
0x9A7E05D1,
0xE75FA6AB,
0x5FF5E376,
0x667CC114,
0xDED684C9,
0x146E84D0,
0xACC4C10D,
0x954DE36F,
0x2DE7A6B2,
0x013CE25D,
0xB996A780,
0x801F85E2,
0x38B5C03F,
0xF20DC026,
0x4AA785FB,
0x732EA799,
0xCB84E244,
0xDAEEC242,
0x6244879F,
0x5BCDA5FD,
0xE367E020,
0x29DFE039,
0x9175A5E4,
0xA8FC8786,
0x1056C25B,
0x3C8D86B4,
0x8427C369,
0xBDAEE10B,
0x0504A4D6,
0xCFBCA4CF,
0x7716E112,
0x4E9FC370,
0xF63586AD,
0x6C4B837C,
0xD4E1C6A1,
0xED68E4C3,
0x55C2A11E,
0x9F7AA107,
0x27D0E4DA,
0x1E59C6B8,
0xA6F38365,
0x8A28C78A,
0x32828257,
0x0B0BA035,
0xB3A1E5E8,
0x7919E5F1,
0xC1B3A02C,
0xF83A824E,
0x4090C793,
0x51FAE795,
0xE950A248,
0xD0D9802A,
0x6873C5F7,
0xA2CBC5EE,
0x1A618033,
0x23E8A251,
0x9B42E78C,
0xB799A363,
0x0F33E6BE,
0x36BAC4DC,
0x8E108101,
0x44A88118,
0xFC02C4C5,
0xC58BE6A7,
0x7D21A37A,
0x3FC9A052,
0x8763E58F,
0xBEEAC7ED,
0x06408230,
0xCCF88229,
0x7452C7F4,
0x4DDBE596,
0xF571A04B,
0xD9AAE4A4,
0x6100A179,
0x5889831B,
0xE023C6C6,
0x2A9BC6DF,
0x92318302,
0xABB8A160,
0x1312E4BD,
0x0278C4BB,
0xBAD28166,
0x835BA304,
0x3BF1E6D9,
0xF149E6C0,
0x49E3A31D,
0x706A817F,
0xC8C0C4A2,
0xE41B804D,
0x5CB1C590,
0x6538E7F2,
0xDD92A22F,
0x172AA236,
0xAF80E7EB,
0x9609C589,
0x2EA38054,
0xB4DD8585,
0x0C77C058,
0x35FEE23A,
0x8D54A7E7,
0x47ECA7FE,
0xFF46E223,
0xC6CFC041,
0x7E65859C,
0x52BEC173,
0xEA1484AE,
0xD39DA6CC,
0x6B37E311,
0xA18FE308,
0x1925A6D5,
0x20AC84B7,
0x9806C16A,
0x896CE16C,
0x31C6A4B1,
0x084F86D3,
0xB0E5C30E,
0x7A5DC317,
0xC2F786CA,
0xFB7EA4A8,
0x43D4E175,
0x6F0FA59A,
0xD7A5E047,
0xEE2CC225,
0x568687F8,
0x9C3E87E1,
0x2494C23C,
0x1D1DE05E,
0xA5B7A583,
0xD89606F9,
0x603C4324,
0x59B56146,
0xE11F249B,
0x2BA72482,
0x930D615F,
0xAA84433D,
0x122E06E0,
0x3EF5420F,
0x865F07D2,
0xBFD625B0,
0x077C606D,
0xCDC46074,
0x756E25A9,
0x4CE707CB,
0xF44D4216,
0xE5276210,
0x5D8D27CD,
0x640405AF,
0xDCAE4072,
0x1616406B,
0xAEBC05B6,
0x973527D4,
0x2F9F6209,
0x034426E6,
0xBBEE633B,
0x82674159,
0x3ACD0484,
0xF075049D,
0x48DF4140,
0x71566322,
0xC9FC26FF,
0x5382232E,
0xEB2866F3,
0xD2A14491,
0x6A0B014C,
0xA0B30155,
0x18194488,
0x219066EA,
0x993A2337,
0xB5E167D8,
0x0D4B2205,
0x34C20067,
0x8C6845BA,
0x46D045A3,
0xFE7A007E,
0xC7F3221C,
0x7F5967C1,
0x6E3347C7,
0xD699021A,
0xEF102078,
0x57BA65A5,
0x9D0265BC,
0x25A82061,
0x1C210203,
0xA48B47DE,
0x88500331,
0x30FA46EC,
0x0973648E,
0xB1D92153,
0x7B61214A,
0xC3CB6497,
0xFA4246F5,
0x42E80328,
},
{
0x00000000,
0xAC6F1138,
0x58DF2270,
0xF4B03348,
0xB0BE45E0,
0x1CD154D8,
0xE8616790,
0x440E76A8,
0x910B67C5,
0x3D6476FD,
0xC9D445B5,
0x65BB548D,
0x21B52225,
0x8DDA331D,
0x796A0055,
0xD505116D,
0xD361228F,
0x7F0E33B7,
0x8BBE00FF,
0x27D111C7,
0x63DF676F,
0xCFB07657,
0x3B00451F,
0x976F5427,
0x426A454A,
0xEE055472,
0x1AB5673A,
0xB6DA7602,
0xF2D400AA,
0x5EBB1192,
0xAA0B22DA,
0x066433E2,
0x57B5A81B,
0xFBDAB923,
0x0F6A8A6B,
0xA3059B53,
0xE70BEDFB,
0x4B64FCC3,
0xBFD4CF8B,
0x13BBDEB3,
0xC6BECFDE,
0x6AD1DEE6,
0x9E61EDAE,
0x320EFC96,
0x76008A3E,
0xDA6F9B06,
0x2EDFA84E,
0x82B0B976,
0x84D48A94,
0x28BB9BAC,
0xDC0BA8E4,
0x7064B9DC,
0x346ACF74,
0x9805DE4C,
0x6CB5ED04,
0xC0DAFC3C,
0x15DFED51,
0xB9B0FC69,
0x4D00CF21,
0xE16FDE19,
0xA561A8B1,
0x090EB989,
0xFDBE8AC1,
0x51D19BF9,
0xAE6A5137,
0x0205400F,
0xF6B57347,
0x5ADA627F,
0x1ED414D7,
0xB2BB05EF,
0x460B36A7,
0xEA64279F,
0x3F6136F2,
0x930E27CA,
0x67BE1482,
0xCBD105BA,
0x8FDF7312,
0x23B0622A,
0xD7005162,
0x7B6F405A,
0x7D0B73B8,
0xD1646280,
0x25D451C8,
0x89BB40F0,
0xCDB53658,
0x61DA2760,
0x956A1428,
0x39050510,
0xEC00147D,
0x406F0545,
0xB4DF360D,
0x18B02735,
0x5CBE519D,
0xF0D140A5,
0x046173ED,
0xA80E62D5,
0xF9DFF92C,
0x55B0E814,
0xA100DB5C,
0x0D6FCA64,
0x4961BCCC,
0xE50EADF4,
0x11BE9EBC,
0xBDD18F84,
0x68D49EE9,
0xC4BB8FD1,
0x300BBC99,
0x9C64ADA1,
0xD86ADB09,
0x7405CA31,
0x80B5F979,
0x2CDAE841,
0x2ABEDBA3,
0x86D1CA9B,
0x7261F9D3,
0xDE0EE8EB,
0x9A009E43,
0x366F8F7B,
0xC2DFBC33,
0x6EB0AD0B,
0xBBB5BC66,
0x17DAAD5E,
0xE36A9E16,
0x4F058F2E,
0x0B0BF986,
0xA764E8BE,
0x53D4DBF6,
0xFFBBCACE,
0x5CD5A26E,
0xF0BAB356,
0x040A801E,
0xA8659126,
0xEC6BE78E,
0x4004F6B6,
0xB4B4C5FE,
0x18DBD4C6,
0xCDDEC5AB,
0x61B1D493,
0x9501E7DB,
0x396EF6E3,
0x7D60804B,
0xD10F9173,
0x25BFA23B,
0x89D0B303,
0x8FB480E1,
0x23DB91D9,
0xD76BA291,
0x7B04B3A9,
0x3F0AC501,
0x9365D439,
0x67D5E771,
0xCBBAF649,
0x1EBFE724,
0xB2D0F61C,
0x4660C554,
0xEA0FD46C,
0xAE01A2C4,
0x026EB3FC,
0xF6DE80B4,
0x5AB1918C,
0x0B600A75,
0xA70F1B4D,
0x53BF2805,
0xFFD0393D,
0xBBDE4F95,
0x17B15EAD,
0xE3016DE5,
0x4F6E7CDD,
0x9A6B6DB0,
0x36047C88,
0xC2B44FC0,
0x6EDB5EF8,
0x2AD52850,
0x86BA3968,
0x720A0A20,
0xDE651B18,
0xD80128FA,
0x746E39C2,
0x80DE0A8A,
0x2CB11BB2,
0x68BF6D1A,
0xC4D07C22,
0x30604F6A,
0x9C0F5E52,
0x490A4F3F,
0xE5655E07,
0x11D56D4F,
0xBDBA7C77,
0xF9B40ADF,
0x55DB1BE7,
0xA16B28AF,
0x0D043997,
0xF2BFF359,
0x5ED0E261,
0xAA60D129,
0x060FC011,
0x4201B6B9,
0xEE6EA781,
0x1ADE94C9,
0xB6B185F1,
0x63B4949C,
0xCFDB85A4,
0x3B6BB6EC,
0x9704A7D4,
0xD30AD17C,
0x7F65C044,
0x8BD5F30C,
0x27BAE234,
0x21DED1D6,
0x8DB1C0EE,
0x7901F3A6,
0xD56EE29E,
0x91609436,
0x3D0F850E,
0xC9BFB646,
0x65D0A77E,
0xB0D5B613,
0x1CBAA72B,
0xE80A9463,
0x4465855B,
0x006BF3F3,
0xAC04E2CB,
0x58B4D183,
0xF4DBC0BB,
0xA50A5B42,
0x09654A7A,
0xFDD57932,
0x51BA680A,
0x15B41EA2,
0xB9DB0F9A,
0x4D6B3CD2,
0xE1042DEA,
0x34013C87,
0x986E2DBF,
0x6CDE1EF7,
0xC0B10FCF,
0x84BF7967,
0x28D0685F,
0xDC605B17,
0x700F4A2F,
0x766B79CD,
0xDA0468F5,
0x2EB45BBD,
0x82DB4A85,
0xC6D53C2D,
0x6ABA2D15,
0x9E0A1E5D,
0x32650F65,
0xE7601E08,
0x4B0F0F30,
0xBFBF3C78,
0x13D02D40,
0x57DE5BE8,
0xFBB14AD0,
0x0F017998,
0xA36E68A0,
},
{
0x00000000,
0x196B30EF,
0xC3A08CDB,
0xDACBBC34,
0x7737F5B2,
0x6E5CC55D,
0xB4977969,
0xADFC4986,
0x1F180660,
0x0673368F,
0xDCB88ABB,
0xC5D3BA54,
0x682FF3D2,
0x7144C33D,
0xAB8F7F09,
0xB2E44FE6,
0x3E300CC0,
0x275B3C2F,
0xFD90801B,
0xE4FBB0F4,
0x4907F972,
0x506CC99D,
0x8AA775A9,
0x93CC4546,
0x21280AA0,
0x38433A4F,
0xE288867B,
0xFBE3B694,
0x561FFF12,
0x4F74CFFD,
0x95BF73C9,
0x8CD44326,
0x8D16F485,
0x947DC46A,
0x4EB6785E,
0x57DD48B1,
0xFA210137,
0xE34A31D8,
0x39818DEC,
0x20EABD03,
0x920EF2E5,
0x8B65C20A,
0x51AE7E3E,
0x48C54ED1,
0xE5390757,
0xFC5237B8,
0x26998B8C,
0x3FF2BB63,
0xB326F845,
0xAA4DC8AA,
0x7086749E,
0x69ED4471,
0xC4110DF7,
0xDD7A3D18,
0x07B1812C,
0x1EDAB1C3,
0xAC3EFE25,
0xB555CECA,
0x6F9E72FE,
0x76F54211,
0xDB090B97,
0xC2623B78,
0x18A9874C,
0x01C2B7A3,
0xEB5B040E,
0xF23034E1,
0x28FB88D5,
0x3190B83A,
0x9C6CF1BC,
0x8507C153,
0x5FCC7D67,
0x46A74D88,
0xF443026E,
0xED283281,
0x37E38EB5,
0x2E88BE5A,
0x8374F7DC,
0x9A1FC733,
0x40D47B07,
0x59BF4BE8,
0xD56B08CE,
0xCC003821,
0x16CB8415,
0x0FA0B4FA,
0xA25CFD7C,
0xBB37CD93,
0x61FC71A7,
0x78974148,
0xCA730EAE,
0xD3183E41,
0x09D38275,
0x10B8B29A,
0xBD44FB1C,
0xA42FCBF3,
0x7EE477C7,
0x678F4728,
0x664DF08B,
0x7F26C064,
0xA5ED7C50,
0xBC864CBF,
0x117A0539,
0x081135D6,
0xD2DA89E2,
0xCBB1B90D,
0x7955F6EB,
0x603EC604,
0xBAF57A30,
0xA39E4ADF,
0x0E620359,
0x170933B6,
0xCDC28F82,
0xD4A9BF6D,
0x587DFC4B,
0x4116CCA4,
0x9BDD7090,
0x82B6407F,
0x2F4A09F9,
0x36213916,
0xECEA8522,
0xF581B5CD,
0x4765FA2B,
0x5E0ECAC4,
0x84C576F0,
0x9DAE461F,
0x30520F99,
0x29393F76,
0xF3F28342,
0xEA99B3AD,
0xD6B7081C,
0xCFDC38F3,
0x151784C7,
0x0C7CB428,
0xA180FDAE,
0xB8EBCD41,
0x62207175,
0x7B4B419A,
0xC9AF0E7C,
0xD0C43E93,
0x0A0F82A7,
0x1364B248,
0xBE98FBCE,
0xA7F3CB21,
0x7D387715,
0x645347FA,
0xE88704DC,
0xF1EC3433,
0x2B278807,
0x324CB8E8,
0x9FB0F16E,
0x86DBC181,
0x5C107DB5,
0x457B4D5A,
0xF79F02BC,
0xEEF43253,
0x343F8E67,
0x2D54BE88,
0x80A8F70E,
0x99C3C7E1,
0x43087BD5,
0x5A634B3A,
0x5BA1FC99,
0x42CACC76,
0x98017042,
0x816A40AD,
0x2C96092B,
0x35FD39C4,
0xEF3685F0,
0xF65DB51F,
0x44B9FAF9,
0x5DD2CA16,
0x87197622,
0x9E7246CD,
0x338E0F4B,
0x2AE53FA4,
0xF02E8390,
0xE945B37F,
0x6591F059,
0x7CFAC0B6,
0xA6317C82,
0xBF5A4C6D,
0x12A605EB,
0x0BCD3504,
0xD1068930,
0xC86DB9DF,
0x7A89F639,
0x63E2C6D6,
0xB9297AE2,
0xA0424A0D,
0x0DBE038B,
0x14D53364,
0xCE1E8F50,
0xD775BFBF,
0x3DEC0C12,
0x24873CFD,
0xFE4C80C9,
0xE727B026,
0x4ADBF9A0,
0x53B0C94F,
0x897B757B,
0x90104594,
0x22F40A72,
0x3B9F3A9D,
0xE15486A9,
0xF83FB646,
0x55C3FFC0,
0x4CA8CF2F,
0x9663731B,
0x8F0843F4,
0x03DC00D2,
0x1AB7303D,
0xC07C8C09,
0xD917BCE6,
0x74EBF560,
0x6D80C58F,
0xB74B79BB,
0xAE204954,
0x1CC406B2,
0x05AF365D,
0xDF648A69,
0xC60FBA86,
0x6BF3F300,
0x7298C3EF,
0xA8537FDB,
0xB1384F34,
0xB0FAF897,
0xA991C878,
0x735A744C,
0x6A3144A3,
0xC7CD0D25,
0xDEA63DCA,
0x046D81FE,
0x1D06B111,
0xAFE2FEF7,
0xB689CE18,
0x6C42722C,
0x752942C3,
0xD8D50B45,
0xC1BE3BAA,
0x1B75879E,
0x021EB771,
0x8ECAF457,
0x97A1C4B8,
0x4D6A788C,
0x54014863,
0xF9FD01E5,
0xE096310A,
0x3A5D8D3E,
0x2336BDD1,
0x91D2F237,
0x88B9C2D8,
0x52727EEC,
0x4B194E03,
0xE6E50785,
0xFF8E376A,
0x25458B5E,
0x3C2EBBB1,
},
{
0x00000000,
0xC82C0368,
0x905906D0,
0x587505B8,
0xD1C5E0A5,
0x19E9E3CD,
0x419CE675,
0x89B0E51D,
0x53FD2D4E,
0x9BD12E26,
0xC3A42B9E,
0x0B8828F6,
0x8238CDEB,
0x4A14CE83,
0x1261CB3B,
0xDA4DC853,
0xA6FA5B9C,
0x6ED658F4,
0x36A35D4C,
0xFE8F5E24,
0x773FBB39,
0xBF13B851,
0xE766BDE9,
0x2F4ABE81,
0xF50776D2,
0x3D2B75BA,
0x655E7002,
0xAD72736A,
0x24C29677,
0xECEE951F,
0xB49B90A7,
0x7CB793CF,
0xBD835B3D,
0x75AF5855,
0x2DDA5DED,
0xE5F65E85,
0x6C46BB98,
0xA46AB8F0,
0xFC1FBD48,
0x3433BE20,
0xEE7E7673,
0x2652751B,
0x7E2770A3,
0xB60B73CB,
0x3FBB96D6,
0xF79795BE,
0xAFE29006,
0x67CE936E,
0x1B7900A1,
0xD35503C9,
0x8B200671,
0x430C0519,
0xCABCE004,
0x0290E36C,
0x5AE5E6D4,
0x92C9E5BC,
0x48842DEF,
0x80A82E87,
0xD8DD2B3F,
0x10F12857,
0x9941CD4A,
0x516DCE22,
0x0918CB9A,
0xC134C8F2,
0x7A07B77A,
0xB22BB412,
0xEA5EB1AA,
0x2272B2C2,
0xABC257DF,
0x63EE54B7,
0x3B9B510F,
0xF3B75267,
0x29FA9A34,
0xE1D6995C,
0xB9A39CE4,
0x718F9F8C,
0xF83F7A91,
0x301379F9,
0x68667C41,
0xA04A7F29,
0xDCFDECE6,
0x14D1EF8E,
0x4CA4EA36,
0x8488E95E,
0x0D380C43,
0xC5140F2B,
0x9D610A93,
0x554D09FB,
0x8F00C1A8,
0x472CC2C0,
0x1F59C778,
0xD775C410,
0x5EC5210D,
0x96E92265,
0xCE9C27DD,
0x06B024B5,
0xC784EC47,
0x0FA8EF2F,
0x57DDEA97,
0x9FF1E9FF,
0x16410CE2,
0xDE6D0F8A,
0x86180A32,
0x4E34095A,
0x9479C109,
0x5C55C261,
0x0420C7D9,
0xCC0CC4B1,
0x45BC21AC,
0x8D9022C4,
0xD5E5277C,
0x1DC92414,
0x617EB7DB,
0xA952B4B3,
0xF127B10B,
0x390BB263,
0xB0BB577E,
0x78975416,
0x20E251AE,
0xE8CE52C6,
0x32839A95,
0xFAAF99FD,
0xA2DA9C45,
0x6AF69F2D,
0xE3467A30,
0x2B6A7958,
0x731F7CE0,
0xBB337F88,
0xF40E6EF5,
0x3C226D9D,
0x64576825,
0xAC7B6B4D,
0x25CB8E50,
0xEDE78D38,
0xB5928880,
0x7DBE8BE8,
0xA7F343BB,
0x6FDF40D3,
0x37AA456B,
0xFF864603,
0x7636A31E,
0xBE1AA076,
0xE66FA5CE,
0x2E43A6A6,
0x52F43569,
0x9AD83601,
0xC2AD33B9,
0x0A8130D1,
0x8331D5CC,
0x4B1DD6A4,
0x1368D31C,
0xDB44D074,
0x01091827,
0xC9251B4F,
0x91501EF7,
0x597C1D9F,
0xD0CCF882,
0x18E0FBEA,
0x4095FE52,
0x88B9FD3A,
0x498D35C8,
0x81A136A0,
0xD9D43318,
0x11F83070,
0x9848D56D,
0x5064D605,
0x0811D3BD,
0xC03DD0D5,
0x1A701886,
0xD25C1BEE,
0x8A291E56,
0x42051D3E,
0xCBB5F823,
0x0399FB4B,
0x5BECFEF3,
0x93C0FD9B,
0xEF776E54,
0x275B6D3C,
0x7F2E6884,
0xB7026BEC,
0x3EB28EF1,
0xF69E8D99,
0xAEEB8821,
0x66C78B49,
0xBC8A431A,
0x74A64072,
0x2CD345CA,
0xE4FF46A2,
0x6D4FA3BF,
0xA563A0D7,
0xFD16A56F,
0x353AA607,
0x8E09D98F,
0x4625DAE7,
0x1E50DF5F,
0xD67CDC37,
0x5FCC392A,
0x97E03A42,
0xCF953FFA,
0x07B93C92,
0xDDF4F4C1,
0x15D8F7A9,
0x4DADF211,
0x8581F179,
0x0C311464,
0xC41D170C,
0x9C6812B4,
0x544411DC,
0x28F38213,
0xE0DF817B,
0xB8AA84C3,
0x708687AB,
0xF93662B6,
0x311A61DE,
0x696F6466,
0xA143670E,
0x7B0EAF5D,
0xB322AC35,
0xEB57A98D,
0x237BAAE5,
0xAACB4FF8,
0x62E74C90,
0x3A924928,
0xF2BE4A40,
0x338A82B2,
0xFBA681DA,
0xA3D38462,
0x6BFF870A,
0xE24F6217,
0x2A63617F,
0x721664C7,
0xBA3A67AF,
0x6077AFFC,
0xA85BAC94,
0xF02EA92C,
0x3802AA44,
0xB1B24F59,
0x799E4C31,
0x21EB4989,
0xE9C74AE1,
0x9570D92E,
0x5D5CDA46,
0x0529DFFE,
0xCD05DC96,
0x44B5398B,
0x8C993AE3,
0xD4EC3F5B,
0x1CC03C33,
0xC68DF460,
0x0EA1F708,
0x56D4F2B0,
0x9EF8F1D8,
0x174814C5,
0xDF6417AD,
0x87111215,
0x4F3D117D,
},
{0x00000000,
0x277D3C49,
0x4EFA7892,
0x698744DB,
0x6D821D21,
0x4AFF2168,
0x237865B3,
0x040559FA,
0xDA043B42,
0xFD79070B,
0x94FE43D0,
0xB3837F99,
0xB7862663,
0x90FB1A2A,
0xF97C5EF1,
0xDE0162B8,
0xB4097684,
0x93744ACD,
0xFAF30E16,
0xDD8E325F,
0xD98B6BA5,
0xFEF657EC,
0x97711337,
0xB00C2F7E,
0x6E0D4DC6,
0x4970718F,
0x20F73554,
0x078A091D,
0x038F50E7,
0x24F26CAE,
0x4D752875,
0x6A08143C,
0x9965000D,
0xBE183C44,
0xD79F789F,
0xF0E244D6,
0xF4E71D2C,
0xD39A2165,
0xBA1D65BE,
0x9D6059F7,
0x43613B4F,
0x641C0706,
0x0D9B43DD,
0x2AE67F94,
0x2EE3266E,
0x099E1A27,
0x60195EFC,
0x476462B5,
0x2D6C7689,
0x0A114AC0,
0x63960E1B,
0x44EB3252,
0x40EE6BA8,
0x679357E1,
0x0E14133A,
0x29692F73,
0xF7684DCB,
0xD0157182,
0xB9923559,
0x9EEF0910,
0x9AEA50EA,
0xBD976CA3,
0xD4102878,
0xF36D1431,
0x32CB001A,
0x15B63C53,
0x7C317888,
0x5B4C44C1,
0x5F491D3B,
0x78342172,
0x11B365A9,
0x36CE59E0,
0xE8CF3B58,
0xCFB20711,
0xA63543CA,
0x81487F83,
0x854D2679,
0xA2301A30,
0xCBB75EEB,
0xECCA62A2,
0x86C2769E,
0xA1BF4AD7,
0xC8380E0C,
0xEF453245,
0xEB406BBF,
0xCC3D57F6,
0xA5BA132D,
0x82C72F64,
0x5CC64DDC,
0x7BBB7195,
0x123C354E,
0x35410907,
0x314450FD,
0x16396CB4,
0x7FBE286F,
0x58C31426,
0xABAE0017,
0x8CD33C5E,
0xE5547885,
0xC22944CC,
0xC62C1D36,
0xE151217F,
0x88D665A4,
0xAFAB59ED,
0x71AA3B55,
0x56D7071C,
0x3F5043C7,
0x182D7F8E,
0x1C282674,
0x3B551A3D,
0x52D25EE6,
0x75AF62AF,
0x1FA77693,
0x38DA4ADA,
0x515D0E01,
0x76203248,
0x72256BB2,
0x555857FB,
0x3CDF1320,
0x1BA22F69,
0xC5A34DD1,
0xE2DE7198,
0x8B593543,
0xAC24090A,
0xA82150F0,
0x8F5C6CB9,
0xE6DB2862,
0xC1A6142B,
0x64960134,
0x43EB3D7D,
0x2A6C79A6,
0x0D1145EF,
0x09141C15,
0x2E69205C,
0x47EE6487,
0x609358CE,
0xBE923A76,
0x99EF063F,
0xF06842E4,
0xD7157EAD,
0xD3102757,
0xF46D1B1E,
0x9DEA5FC5,
0xBA97638C,
0xD09F77B0,
0xF7E24BF9,
0x9E650F22,
0xB918336B,
0xBD1D6A91,
0x9A6056D8,
0xF3E71203,
0xD49A2E4A,
0x0A9B4CF2,
0x2DE670BB,
0x44613460,
0x631C0829,
0x671951D3,
0x40646D9A,
0x29E32941,
0x0E9E1508,
0xFDF30139,
0xDA8E3D70,
0xB30979AB,
0x947445E2,
0x90711C18,
0xB70C2051,
0xDE8B648A,
0xF9F658C3,
0x27F73A7B,
0x008A0632,
0x690D42E9,
0x4E707EA0,
0x4A75275A,
0x6D081B13,
0x048F5FC8,
0x23F26381,
0x49FA77BD,
0x6E874BF4,
0x07000F2F,
0x207D3366,
0x24786A9C,
0x030556D5,
0x6A82120E,
0x4DFF2E47,
0x93FE4CFF,
0xB48370B6,
0xDD04346D,
0xFA790824,
0xFE7C51DE,
0xD9016D97,
0xB086294C,
0x97FB1505,
0x565D012E,
0x71203D67,
0x18A779BC,
0x3FDA45F5,
0x3BDF1C0F,
0x1CA22046,
0x7525649D,
0x525858D4,
0x8C593A6C,
0xAB240625,
0xC2A342FE,
0xE5DE7EB7,
0xE1DB274D,
0xC6A61B04,
0xAF215FDF,
0x885C6396,
0xE25477AA,
0xC5294BE3,
0xACAE0F38,
0x8BD33371,
0x8FD66A8B,
0xA8AB56C2,
0xC12C1219,
0xE6512E50,
0x38504CE8,
0x1F2D70A1,
0x76AA347A,
0x51D70833,
0x55D251C9,
0x72AF6D80,
0x1B28295B,
0x3C551512,
0xCF380123,
0xE8453D6A,
0x81C279B1,
0xA6BF45F8,
0xA2BA1C02,
0x85C7204B,
0xEC406490,
0xCB3D58D9,
0x153C3A61,
0x32410628,
0x5BC642F3,
0x7CBB7EBA,
0x78BE2740,
0x5FC31B09,
0x36445FD2,
0x1139639B,
0x7B3177A7,
0x5C4C4BEE,
0x35CB0F35,
0x12B6337C,
0x16B36A86,
0x31CE56CF,
0x58491214,
0x7F342E5D,
0xA1354CE5,
0x864870AC,
0xEFCF3477,
0xC8B2083E,
0xCCB751C4,
0xEBCA6D8D,
0x824D2956,
0xA530151F}
#endif
};
#ifdef WORDS_BIGENDIAN
#define CRC8(x) pg_crc32c_table[0][((crc >> 24) ^ (x)) & 0xFF] ^ (crc << 8)
#else
#define CRC8(x) pg_crc32c_table[0][(crc ^ (x)) & 0xFF] ^ (crc >> 8)
#endif
pg_crc32c pg_comp_crc32c_sb8(pg_crc32c crc, const void* data, size_t len)
{
const unsigned char* p = (const unsigned char*)data;
const uint32* p4 = NULL;
* Handle 0-3 initial bytes one at a time, so that the loop below starts
* with a pointer aligned to four bytes.
*/
while (len > 0 && ((uintptr_t)p & 3)) {
crc = CRC8(*p++);
len--;
}
* Process eight bytes of data at a time.
*/
p4 = (const uint32*)p;
while (len >= 8) {
uint32 a = *p4++ ^ crc;
uint32 b = *p4++;
#ifdef WORDS_BIGENDIAN
const uint8 c0 = b;
const uint8 c1 = b >> 8;
const uint8 c2 = b >> 16;
const uint8 c3 = b >> 24;
const uint8 c4 = a;
const uint8 c5 = a >> 8;
const uint8 c6 = a >> 16;
const uint8 c7 = a >> 24;
#else
const uint8 c0 = b >> 24;
const uint8 c1 = b >> 16;
const uint8 c2 = b >> 8;
const uint8 c3 = b;
const uint8 c4 = a >> 24;
const uint8 c5 = a >> 16;
const uint8 c6 = a >> 8;
const uint8 c7 = a;
#endif
crc = pg_crc32c_table[0][c0] ^ pg_crc32c_table[1][c1] ^ pg_crc32c_table[2][c2] ^ pg_crc32c_table[3][c3] ^
pg_crc32c_table[4][c4] ^ pg_crc32c_table[5][c5] ^ pg_crc32c_table[6][c6] ^ pg_crc32c_table[7][c7];
len -= 8;
}
* Handle any remaining bytes one at a time.
*/
p = (const unsigned char*)p4;
while (len > 0) {
crc = CRC8(*p++);
len--;
}
return crc;
}