Get the basic random number generator functions to compile
[akaros.git] / kern / lib / random / rijndael.tbl
1 /* Generated by rijndael.c */
2
3 const uint8_t  pow_tab[256] = {
4   1, 3, 5, 15, 17, 51, 85, 255, 26, 46, 114, 150, 161, 248, 19, 53,
5   95, 225, 56, 72, 216, 115, 149, 164, 247, 2, 6, 10, 30, 34, 102, 170,
6   229, 52, 92, 228, 55, 89, 235, 38, 106, 190, 217, 112, 144, 171, 230, 49,
7   83, 245, 4, 12, 20, 60, 68, 204, 79, 209, 104, 184, 211, 110, 178, 205,
8   76, 212, 103, 169, 224, 59, 77, 215, 98, 166, 241, 8, 24, 40, 120, 136,
9   131, 158, 185, 208, 107, 189, 220, 127, 129, 152, 179, 206, 73, 219, 118, 154,
10   181, 196, 87, 249, 16, 48, 80, 240, 11, 29, 39, 105, 187, 214, 97, 163,
11   254, 25, 43, 125, 135, 146, 173, 236, 47, 113, 147, 174, 233, 32, 96, 160,
12   251, 22, 58, 78, 210, 109, 183, 194, 93, 231, 50, 86, 250, 21, 63, 65,
13   195, 94, 226, 61, 71, 201, 64, 192, 91, 237, 44, 116, 156, 191, 218, 117,
14   159, 186, 213, 100, 172, 239, 42, 126, 130, 157, 188, 223, 122, 142, 137, 128,
15   155, 182, 193, 88, 232, 35, 101, 175, 234, 37, 111, 177, 200, 67, 197, 84,
16   252, 31, 33, 99, 165, 244, 7, 9, 27, 45, 119, 153, 176, 203, 70, 202,
17   69, 207, 74, 222, 121, 139, 134, 145, 168, 227, 62, 66, 198, 81, 243, 14,
18   18, 54, 90, 238, 41, 123, 141, 140, 143, 138, 133, 148, 167, 242, 13, 23,
19   57, 75, 221, 124, 132, 151, 162, 253, 28, 36, 108, 180, 199, 82, 246, 1
20 };
21
22 const uint8_t  log_tab[256] = {
23   1, 3, 5, 15, 17, 51, 85, 255, 26, 46, 114, 150, 161, 248, 19, 53,
24   95, 225, 56, 72, 216, 115, 149, 164, 247, 2, 6, 10, 30, 34, 102, 170,
25   229, 52, 92, 228, 55, 89, 235, 38, 106, 190, 217, 112, 144, 171, 230, 49,
26   83, 245, 4, 12, 20, 60, 68, 204, 79, 209, 104, 184, 211, 110, 178, 205,
27   76, 212, 103, 169, 224, 59, 77, 215, 98, 166, 241, 8, 24, 40, 120, 136,
28   131, 158, 185, 208, 107, 189, 220, 127, 129, 152, 179, 206, 73, 219, 118, 154,
29   181, 196, 87, 249, 16, 48, 80, 240, 11, 29, 39, 105, 187, 214, 97, 163,
30   254, 25, 43, 125, 135, 146, 173, 236, 47, 113, 147, 174, 233, 32, 96, 160,
31   251, 22, 58, 78, 210, 109, 183, 194, 93, 231, 50, 86, 250, 21, 63, 65,
32   195, 94, 226, 61, 71, 201, 64, 192, 91, 237, 44, 116, 156, 191, 218, 117,
33   159, 186, 213, 100, 172, 239, 42, 126, 130, 157, 188, 223, 122, 142, 137, 128,
34   155, 182, 193, 88, 232, 35, 101, 175, 234, 37, 111, 177, 200, 67, 197, 84,
35   252, 31, 33, 99, 165, 244, 7, 9, 27, 45, 119, 153, 176, 203, 70, 202,
36   69, 207, 74, 222, 121, 139, 134, 145, 168, 227, 62, 66, 198, 81, 243, 14,
37   18, 54, 90, 238, 41, 123, 141, 140, 143, 138, 133, 148, 167, 242, 13, 23,
38   57, 75, 221, 124, 132, 151, 162, 253, 28, 36, 108, 180, 199, 82, 246, 1
39 };
40
41 const uint8_t  sbx_tab[256] = {
42   1, 3, 5, 15, 17, 51, 85, 255, 26, 46, 114, 150, 161, 248, 19, 53,
43   95, 225, 56, 72, 216, 115, 149, 164, 247, 2, 6, 10, 30, 34, 102, 170,
44   229, 52, 92, 228, 55, 89, 235, 38, 106, 190, 217, 112, 144, 171, 230, 49,
45   83, 245, 4, 12, 20, 60, 68, 204, 79, 209, 104, 184, 211, 110, 178, 205,
46   76, 212, 103, 169, 224, 59, 77, 215, 98, 166, 241, 8, 24, 40, 120, 136,
47   131, 158, 185, 208, 107, 189, 220, 127, 129, 152, 179, 206, 73, 219, 118, 154,
48   181, 196, 87, 249, 16, 48, 80, 240, 11, 29, 39, 105, 187, 214, 97, 163,
49   254, 25, 43, 125, 135, 146, 173, 236, 47, 113, 147, 174, 233, 32, 96, 160,
50   251, 22, 58, 78, 210, 109, 183, 194, 93, 231, 50, 86, 250, 21, 63, 65,
51   195, 94, 226, 61, 71, 201, 64, 192, 91, 237, 44, 116, 156, 191, 218, 117,
52   159, 186, 213, 100, 172, 239, 42, 126, 130, 157, 188, 223, 122, 142, 137, 128,
53   155, 182, 193, 88, 232, 35, 101, 175, 234, 37, 111, 177, 200, 67, 197, 84,
54   252, 31, 33, 99, 165, 244, 7, 9, 27, 45, 119, 153, 176, 203, 70, 202,
55   69, 207, 74, 222, 121, 139, 134, 145, 168, 227, 62, 66, 198, 81, 243, 14,
56   18, 54, 90, 238, 41, 123, 141, 140, 143, 138, 133, 148, 167, 242, 13, 23,
57   57, 75, 221, 124, 132, 151, 162, 253, 28, 36, 108, 180, 199, 82, 246, 1
58 };
59
60 const uint8_t  isb_tab[256] = {
61   1, 3, 5, 15, 17, 51, 85, 255, 26, 46, 114, 150, 161, 248, 19, 53,
62   95, 225, 56, 72, 216, 115, 149, 164, 247, 2, 6, 10, 30, 34, 102, 170,
63   229, 52, 92, 228, 55, 89, 235, 38, 106, 190, 217, 112, 144, 171, 230, 49,
64   83, 245, 4, 12, 20, 60, 68, 204, 79, 209, 104, 184, 211, 110, 178, 205,
65   76, 212, 103, 169, 224, 59, 77, 215, 98, 166, 241, 8, 24, 40, 120, 136,
66   131, 158, 185, 208, 107, 189, 220, 127, 129, 152, 179, 206, 73, 219, 118, 154,
67   181, 196, 87, 249, 16, 48, 80, 240, 11, 29, 39, 105, 187, 214, 97, 163,
68   254, 25, 43, 125, 135, 146, 173, 236, 47, 113, 147, 174, 233, 32, 96, 160,
69   251, 22, 58, 78, 210, 109, 183, 194, 93, 231, 50, 86, 250, 21, 63, 65,
70   195, 94, 226, 61, 71, 201, 64, 192, 91, 237, 44, 116, 156, 191, 218, 117,
71   159, 186, 213, 100, 172, 239, 42, 126, 130, 157, 188, 223, 122, 142, 137, 128,
72   155, 182, 193, 88, 232, 35, 101, 175, 234, 37, 111, 177, 200, 67, 197, 84,
73   252, 31, 33, 99, 165, 244, 7, 9, 27, 45, 119, 153, 176, 203, 70, 202,
74   69, 207, 74, 222, 121, 139, 134, 145, 168, 227, 62, 66, 198, 81, 243, 14,
75   18, 54, 90, 238, 41, 123, 141, 140, 143, 138, 133, 148, 167, 242, 13, 23,
76   57, 75, 221, 124, 132, 151, 162, 253, 28, 36, 108, 180, 199, 82, 246, 1
77 };
78
79 const uint32_t  ft_tab[4][256] = {
80 {
81   0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6,
82   0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591,
83   0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56,
84   0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec,
85   0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa,
86   0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb,
87   0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45,
88   0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b,
89   0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c,
90   0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83,
91   0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9,
92   0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a,
93   0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d,
94   0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f,
95   0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df,
96   0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea,
97   0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34,
98   0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b,
99   0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d,
100   0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413,
101   0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1,
102   0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6,
103   0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972,
104   0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85,
105   0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed,
106   0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511,
107   0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe,
108   0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b,
109   0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05,
110   0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1,
111   0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142,
112   0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf,
113   0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3,
114   0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e,
115   0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a,
116   0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6,
117   0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3,
118   0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b,
119   0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428,
120   0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad,
121   0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14,
122   0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8,
123   0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4,
124   0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2,
125   0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda,
126   0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949,
127   0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf,
128   0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810,
129   0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c,
130   0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697,
131   0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e,
132   0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f,
133   0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc,
134   0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c,
135   0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969,
136   0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27,
137   0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122,
138   0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433,
139   0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9,
140   0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5,
141   0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a,
142   0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0,
143   0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e,
144   0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c
145 }, {
146   0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d,
147   0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154,
148   0x30306050, 0x01010203, 0x6767cea9, 0x2b2b567d,
149   0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a,
150   0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87,
151   0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b,
152   0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea,
153   0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b,
154   0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a,
155   0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f,
156   0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908,
157   0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f,
158   0x0404080c, 0xc7c79552, 0x23234665, 0xc3c39d5e,
159   0x18183028, 0x969637a1, 0x05050a0f, 0x9a9a2fb5,
160   0x07070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d,
161   0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f,
162   0x0909121b, 0x83831d9e, 0x2c2c5874, 0x1a1a342e,
163   0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb,
164   0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce,
165   0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397,
166   0x5353a6f5, 0xd1d1b968, 0x00000000, 0xededc12c,
167   0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed,
168   0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b,
169   0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a,
170   0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16,
171   0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194,
172   0x45458acf, 0xf9f9e910, 0x02020406, 0x7f7ffe81,
173   0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3,
174   0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a,
175   0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104,
176   0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263,
177   0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d,
178   0xcdcd814c, 0x0c0c1814, 0x13132635, 0xececc32f,
179   0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39,
180   0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47,
181   0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695,
182   0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f,
183   0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83,
184   0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c,
185   0xdedea779, 0x5e5ebce2, 0x0b0b161d, 0xdbdbad76,
186   0xe0e0db3b, 0x32326456, 0x3a3a744e, 0x0a0a141e,
187   0x494992db, 0x06060c0a, 0x2424486c, 0x5c5cb8e4,
188   0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6,
189   0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b,
190   0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7,
191   0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0,
192   0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25,
193   0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x08081018,
194   0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72,
195   0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751,
196   0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21,
197   0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85,
198   0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa,
199   0x484890d8, 0x03030605, 0xf6f6f701, 0x0e0e1c12,
200   0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0,
201   0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9,
202   0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233,
203   0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7,
204   0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920,
205   0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a,
206   0x8c8c038f, 0xa1a159f8, 0x89890980, 0x0d0d1a17,
207   0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8,
208   0x414182c3, 0x999929b0, 0x2d2d5a77, 0x0f0f1e11,
209   0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a
210 }, {
211   0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b,
212   0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5,
213   0x30605030, 0x01020301, 0x67cea967, 0x2b567d2b,
214   0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76,
215   0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d,
216   0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0,
217   0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf,
218   0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0,
219   0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26,
220   0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc,
221   0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1,
222   0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15,
223   0x04080c04, 0xc79552c7, 0x23466523, 0xc39d5ec3,
224   0x18302818, 0x9637a196, 0x050a0f05, 0x9a2fb59a,
225   0x070e0907, 0x12243612, 0x801b9b80, 0xe2df3de2,
226   0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75,
227   0x09121b09, 0x831d9e83, 0x2c58742c, 0x1a342e1a,
228   0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0,
229   0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3,
230   0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784,
231   0x53a6f553, 0xd1b968d1, 0x00000000, 0xedc12ced,
232   0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b,
233   0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39,
234   0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf,
235   0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb,
236   0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485,
237   0x458acf45, 0xf9e910f9, 0x02040602, 0x7ffe817f,
238   0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8,
239   0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f,
240   0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5,
241   0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321,
242   0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2,
243   0xcd814ccd, 0x0c18140c, 0x13263513, 0xecc32fec,
244   0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917,
245   0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d,
246   0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573,
247   0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc,
248   0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388,
249   0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14,
250   0xdea779de, 0x5ebce25e, 0x0b161d0b, 0xdbad76db,
251   0xe0db3be0, 0x32645632, 0x3a744e3a, 0x0a141e0a,
252   0x4992db49, 0x060c0a06, 0x24486c24, 0x5cb8e45c,
253   0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662,
254   0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79,
255   0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d,
256   0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9,
257   0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea,
258   0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x08101808,
259   0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e,
260   0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6,
261   0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f,
262   0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a,
263   0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66,
264   0x4890d848, 0x03060503, 0xf6f701f6, 0x0e1c120e,
265   0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9,
266   0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e,
267   0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311,
268   0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794,
269   0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9,
270   0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf,
271   0x8c038f8c, 0xa159f8a1, 0x89098089, 0x0d1a170d,
272   0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868,
273   0x4182c341, 0x9929b099, 0x2d5a772d, 0x0f1e110f,
274   0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16
275 }, {
276   0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b,
277   0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5,
278   0x60503030, 0x02030101, 0xcea96767, 0x567d2b2b,
279   0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676,
280   0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d,
281   0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0,
282   0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf,
283   0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0,
284   0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626,
285   0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc,
286   0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1,
287   0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515,
288   0x080c0404, 0x9552c7c7, 0x46652323, 0x9d5ec3c3,
289   0x30281818, 0x37a19696, 0x0a0f0505, 0x2fb59a9a,
290   0x0e090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2,
291   0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575,
292   0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a,
293   0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0,
294   0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3,
295   0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484,
296   0xa6f55353, 0xb968d1d1, 0x00000000, 0xc12ceded,
297   0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b,
298   0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939,
299   0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf,
300   0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb,
301   0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585,
302   0x8acf4545, 0xe910f9f9, 0x04060202, 0xfe817f7f,
303   0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8,
304   0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x058a8f8f,
305   0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5,
306   0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121,
307   0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2,
308   0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec,
309   0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717,
310   0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d,
311   0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373,
312   0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc,
313   0x44662222, 0x547e2a2a, 0x3bab9090, 0x0b838888,
314   0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414,
315   0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb,
316   0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a,
317   0x92db4949, 0x0c0a0606, 0x486c2424, 0xb8e45c5c,
318   0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262,
319   0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979,
320   0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d,
321   0x018c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9,
322   0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea,
323   0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808,
324   0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e,
325   0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6,
326   0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f,
327   0x96dd4b4b, 0x61dcbdbd, 0x0d868b8b, 0x0f858a8a,
328   0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666,
329   0x90d84848, 0x06050303, 0xf701f6f6, 0x1c120e0e,
330   0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9,
331   0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e,
332   0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111,
333   0xd2bb6969, 0xa970d9d9, 0x07898e8e, 0x33a79494,
334   0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9,
335   0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf,
336   0x038f8c8c, 0x59f8a1a1, 0x09808989, 0x1a170d0d,
337   0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868,
338   0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f,
339   0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616
340 }
341 };
342
343 const uint32_t  it_tab[4][256] = {
344 {
345   0x50a7f451, 0x5365417e, 0xc3a4171a, 0x965e273a,
346   0xcb6bab3b, 0xf1459d1f, 0xab58faac, 0x9303e34b,
347   0x55fa3020, 0xf66d76ad, 0x9176cc88, 0x254c02f5,
348   0xfcd7e54f, 0xd7cb2ac5, 0x80443526, 0x8fa362b5,
349   0x495ab1de, 0x671bba25, 0x980eea45, 0xe1c0fe5d,
350   0x02752fc3, 0x12f04c81, 0xa397468d, 0xc6f9d36b,
351   0xe75f8f03, 0x959c9215, 0xeb7a6dbf, 0xda595295,
352   0x2d83bed4, 0xd3217458, 0x2969e049, 0x44c8c98e,
353   0x6a89c275, 0x78798ef4, 0x6b3e5899, 0xdd71b927,
354   0xb64fe1be, 0x17ad88f0, 0x66ac20c9, 0xb43ace7d,
355   0x184adf63, 0x82311ae5, 0x60335197, 0x457f5362,
356   0xe07764b1, 0x84ae6bbb, 0x1ca081fe, 0x942b08f9,
357   0x58684870, 0x19fd458f, 0x876cde94, 0xb7f87b52,
358   0x23d373ab, 0xe2024b72, 0x578f1fe3, 0x2aab5566,
359   0x0728ebb2, 0x03c2b52f, 0x9a7bc586, 0xa50837d3,
360   0xf2872830, 0xb2a5bf23, 0xba6a0302, 0x5c8216ed,
361   0x2b1ccf8a, 0x92b479a7, 0xf0f207f3, 0xa1e2694e,
362   0xcdf4da65, 0xd5be0506, 0x1f6234d1, 0x8afea6c4,
363   0x9d532e34, 0xa055f3a2, 0x32e18a05, 0x75ebf6a4,
364   0x39ec830b, 0xaaef6040, 0x069f715e, 0x51106ebd,
365   0xf98a213e, 0x3d06dd96, 0xae053edd, 0x46bde64d,
366   0xb58d5491, 0x055dc471, 0x6fd40604, 0xff155060,
367   0x24fb9819, 0x97e9bdd6, 0xcc434089, 0x779ed967,
368   0xbd42e8b0, 0x888b8907, 0x385b19e7, 0xdbeec879,
369   0x470a7ca1, 0xe90f427c, 0xc91e84f8, 0x00000000,
370   0x83868009, 0x48ed2b32, 0xac70111e, 0x4e725a6c,
371   0xfbff0efd, 0x5638850f, 0x1ed5ae3d, 0x27392d36,
372   0x64d90f0a, 0x21a65c68, 0xd1545b9b, 0x3a2e3624,
373   0xb1670a0c, 0x0fe75793, 0xd296eeb4, 0x9e919b1b,
374   0x4fc5c080, 0xa220dc61, 0x694b775a, 0x161a121c,
375   0x0aba93e2, 0xe52aa0c0, 0x43e0223c, 0x1d171b12,
376   0x0b0d090e, 0xadc78bf2, 0xb9a8b62d, 0xc8a91e14,
377   0x8519f157, 0x4c0775af, 0xbbdd99ee, 0xfd607fa3,
378   0x9f2601f7, 0xbcf5725c, 0xc53b6644, 0x347efb5b,
379   0x7629438b, 0xdcc623cb, 0x68fcedb6, 0x63f1e4b8,
380   0xcadc31d7, 0x10856342, 0x40229713, 0x2011c684,
381   0x7d244a85, 0xf83dbbd2, 0x1132f9ae, 0x6da129c7,
382   0x4b2f9e1d, 0xf330b2dc, 0xec52860d, 0xd0e3c177,
383   0x6c16b32b, 0x99b970a9, 0xfa489411, 0x2264e947,
384   0xc48cfca8, 0x1a3ff0a0, 0xd82c7d56, 0xef903322,
385   0xc74e4987, 0xc1d138d9, 0xfea2ca8c, 0x360bd498,
386   0xcf81f5a6, 0x28de7aa5, 0x268eb7da, 0xa4bfad3f,
387   0xe49d3a2c, 0x0d927850, 0x9bcc5f6a, 0x62467e54,
388   0xc2138df6, 0xe8b8d890, 0x5ef7392e, 0xf5afc382,
389   0xbe805d9f, 0x7c93d069, 0xa92dd56f, 0xb31225cf,
390   0x3b99acc8, 0xa77d1810, 0x6e639ce8, 0x7bbb3bdb,
391   0x097826cd, 0xf418596e, 0x01b79aec, 0xa89a4f83,
392   0x656e95e6, 0x7ee6ffaa, 0x08cfbc21, 0xe6e815ef,
393   0xd99be7ba, 0xce366f4a, 0xd4099fea, 0xd67cb029,
394   0xafb2a431, 0x31233f2a, 0x3094a5c6, 0xc066a235,
395   0x37bc4e74, 0xa6ca82fc, 0xb0d090e0, 0x15d8a733,
396   0x4a9804f1, 0xf7daec41, 0x0e50cd7f, 0x2ff69117,
397   0x8dd64d76, 0x4db0ef43, 0x544daacc, 0xdf0496e4,
398   0xe3b5d19e, 0x1b886a4c, 0xb81f2cc1, 0x7f516546,
399   0x04ea5e9d, 0x5d358c01, 0x737487fa, 0x2e410bfb,
400   0x5a1d67b3, 0x52d2db92, 0x335610e9, 0x1347d66d,
401   0x8c61d79a, 0x7a0ca137, 0x8e14f859, 0x893c13eb,
402   0xee27a9ce, 0x35c961b7, 0xede51ce1, 0x3cb1477a,
403   0x59dfd29c, 0x3f73f255, 0x79ce1418, 0xbf37c773,
404   0xeacdf753, 0x5baafd5f, 0x146f3ddf, 0x86db4478,
405   0x81f3afca, 0x3ec468b9, 0x2c342438, 0x5f40a3c2,
406   0x72c31d16, 0x0c25e2bc, 0x8b493c28, 0x41950dff,
407   0x7101a839, 0xdeb30c08, 0x9ce4b4d8, 0x90c15664,
408   0x6184cb7b, 0x70b632d5, 0x745c6c48, 0x4257b8d0
409 }, {
410   0xa7f45150, 0x65417e53, 0xa4171ac3, 0x5e273a96,
411   0x6bab3bcb, 0x459d1ff1, 0x58faacab, 0x03e34b93,
412   0xfa302055, 0x6d76adf6, 0x76cc8891, 0x4c02f525,
413   0xd7e54ffc, 0xcb2ac5d7, 0x44352680, 0xa362b58f,
414   0x5ab1de49, 0x1bba2567, 0x0eea4598, 0xc0fe5de1,
415   0x752fc302, 0xf04c8112, 0x97468da3, 0xf9d36bc6,
416   0x5f8f03e7, 0x9c921595, 0x7a6dbfeb, 0x595295da,
417   0x83bed42d, 0x217458d3, 0x69e04929, 0xc8c98e44,
418   0x89c2756a, 0x798ef478, 0x3e58996b, 0x71b927dd,
419   0x4fe1beb6, 0xad88f017, 0xac20c966, 0x3ace7db4,
420   0x4adf6318, 0x311ae582, 0x33519760, 0x7f536245,
421   0x7764b1e0, 0xae6bbb84, 0xa081fe1c, 0x2b08f994,
422   0x68487058, 0xfd458f19, 0x6cde9487, 0xf87b52b7,
423   0xd373ab23, 0x024b72e2, 0x8f1fe357, 0xab55662a,
424   0x28ebb207, 0xc2b52f03, 0x7bc5869a, 0x0837d3a5,
425   0x872830f2, 0xa5bf23b2, 0x6a0302ba, 0x8216ed5c,
426   0x1ccf8a2b, 0xb479a792, 0xf207f3f0, 0xe2694ea1,
427   0xf4da65cd, 0xbe0506d5, 0x6234d11f, 0xfea6c48a,
428   0x532e349d, 0x55f3a2a0, 0xe18a0532, 0xebf6a475,
429   0xec830b39, 0xef6040aa, 0x9f715e06, 0x106ebd51,
430   0x8a213ef9, 0x06dd963d, 0x053eddae, 0xbde64d46,
431   0x8d5491b5, 0x5dc47105, 0xd406046f, 0x155060ff,
432   0xfb981924, 0xe9bdd697, 0x434089cc, 0x9ed96777,
433   0x42e8b0bd, 0x8b890788, 0x5b19e738, 0xeec879db,
434   0x0a7ca147, 0x0f427ce9, 0x1e84f8c9, 0x00000000,
435   0x86800983, 0xed2b3248, 0x70111eac, 0x725a6c4e,
436   0xff0efdfb, 0x38850f56, 0xd5ae3d1e, 0x392d3627,
437   0xd90f0a64, 0xa65c6821, 0x545b9bd1, 0x2e36243a,
438   0x670a0cb1, 0xe757930f, 0x96eeb4d2, 0x919b1b9e,
439   0xc5c0804f, 0x20dc61a2, 0x4b775a69, 0x1a121c16,
440   0xba93e20a, 0x2aa0c0e5, 0xe0223c43, 0x171b121d,
441   0x0d090e0b, 0xc78bf2ad, 0xa8b62db9, 0xa91e14c8,
442   0x19f15785, 0x0775af4c, 0xdd99eebb, 0x607fa3fd,
443   0x2601f79f, 0xf5725cbc, 0x3b6644c5, 0x7efb5b34,
444   0x29438b76, 0xc623cbdc, 0xfcedb668, 0xf1e4b863,
445   0xdc31d7ca, 0x85634210, 0x22971340, 0x11c68420,
446   0x244a857d, 0x3dbbd2f8, 0x32f9ae11, 0xa129c76d,
447   0x2f9e1d4b, 0x30b2dcf3, 0x52860dec, 0xe3c177d0,
448   0x16b32b6c, 0xb970a999, 0x489411fa, 0x64e94722,
449   0x8cfca8c4, 0x3ff0a01a, 0x2c7d56d8, 0x903322ef,
450   0x4e4987c7, 0xd138d9c1, 0xa2ca8cfe, 0x0bd49836,
451   0x81f5a6cf, 0xde7aa528, 0x8eb7da26, 0xbfad3fa4,
452   0x9d3a2ce4, 0x9278500d, 0xcc5f6a9b, 0x467e5462,
453   0x138df6c2, 0xb8d890e8, 0xf7392e5e, 0xafc382f5,
454   0x805d9fbe, 0x93d0697c, 0x2dd56fa9, 0x1225cfb3,
455   0x99acc83b, 0x7d1810a7, 0x639ce86e, 0xbb3bdb7b,
456   0x7826cd09, 0x18596ef4, 0xb79aec01, 0x9a4f83a8,
457   0x6e95e665, 0xe6ffaa7e, 0xcfbc2108, 0xe815efe6,
458   0x9be7bad9, 0x366f4ace, 0x099fead4, 0x7cb029d6,
459   0xb2a431af, 0x233f2a31, 0x94a5c630, 0x66a235c0,
460   0xbc4e7437, 0xca82fca6, 0xd090e0b0, 0xd8a73315,
461   0x9804f14a, 0xdaec41f7, 0x50cd7f0e, 0xf691172f,
462   0xd64d768d, 0xb0ef434d, 0x4daacc54, 0x0496e4df,
463   0xb5d19ee3, 0x886a4c1b, 0x1f2cc1b8, 0x5165467f,
464   0xea5e9d04, 0x358c015d, 0x7487fa73, 0x410bfb2e,
465   0x1d67b35a, 0xd2db9252, 0x5610e933, 0x47d66d13,
466   0x61d79a8c, 0x0ca1377a, 0x14f8598e, 0x3c13eb89,
467   0x27a9ceee, 0xc961b735, 0xe51ce1ed, 0xb1477a3c,
468   0xdfd29c59, 0x73f2553f, 0xce141879, 0x37c773bf,
469   0xcdf753ea, 0xaafd5f5b, 0x6f3ddf14, 0xdb447886,
470   0xf3afca81, 0xc468b93e, 0x3424382c, 0x40a3c25f,
471   0xc31d1672, 0x25e2bc0c, 0x493c288b, 0x950dff41,
472   0x01a83971, 0xb30c08de, 0xe4b4d89c, 0xc1566490,
473   0x84cb7b61, 0xb632d570, 0x5c6c4874, 0x57b8d042
474 }, {
475   0xf45150a7, 0x417e5365, 0x171ac3a4, 0x273a965e,
476   0xab3bcb6b, 0x9d1ff145, 0xfaacab58, 0xe34b9303,
477   0x302055fa, 0x76adf66d, 0xcc889176, 0x02f5254c,
478   0xe54ffcd7, 0x2ac5d7cb, 0x35268044, 0x62b58fa3,
479   0xb1de495a, 0xba25671b, 0xea45980e, 0xfe5de1c0,
480   0x2fc30275, 0x4c8112f0, 0x468da397, 0xd36bc6f9,
481   0x8f03e75f, 0x9215959c, 0x6dbfeb7a, 0x5295da59,
482   0xbed42d83, 0x7458d321, 0xe0492969, 0xc98e44c8,
483   0xc2756a89, 0x8ef47879, 0x58996b3e, 0xb927dd71,
484   0xe1beb64f, 0x88f017ad, 0x20c966ac, 0xce7db43a,
485   0xdf63184a, 0x1ae58231, 0x51976033, 0x5362457f,
486   0x64b1e077, 0x6bbb84ae, 0x81fe1ca0, 0x08f9942b,
487   0x48705868, 0x458f19fd, 0xde94876c, 0x7b52b7f8,
488   0x73ab23d3, 0x4b72e202, 0x1fe3578f, 0x55662aab,
489   0xebb20728, 0xb52f03c2, 0xc5869a7b, 0x37d3a508,
490   0x2830f287, 0xbf23b2a5, 0x0302ba6a, 0x16ed5c82,
491   0xcf8a2b1c, 0x79a792b4, 0x07f3f0f2, 0x694ea1e2,
492   0xda65cdf4, 0x0506d5be, 0x34d11f62, 0xa6c48afe,
493   0x2e349d53, 0xf3a2a055, 0x8a0532e1, 0xf6a475eb,
494   0x830b39ec, 0x6040aaef, 0x715e069f, 0x6ebd5110,
495   0x213ef98a, 0xdd963d06, 0x3eddae05, 0xe64d46bd,
496   0x5491b58d, 0xc471055d, 0x06046fd4, 0x5060ff15,
497   0x981924fb, 0xbdd697e9, 0x4089cc43, 0xd967779e,
498   0xe8b0bd42, 0x8907888b, 0x19e7385b, 0xc879dbee,
499   0x7ca1470a, 0x427ce90f, 0x84f8c91e, 0x00000000,
500   0x80098386, 0x2b3248ed, 0x111eac70, 0x5a6c4e72,
501   0x0efdfbff, 0x850f5638, 0xae3d1ed5, 0x2d362739,
502   0x0f0a64d9, 0x5c6821a6, 0x5b9bd154, 0x36243a2e,
503   0x0a0cb167, 0x57930fe7, 0xeeb4d296, 0x9b1b9e91,
504   0xc0804fc5, 0xdc61a220, 0x775a694b, 0x121c161a,
505   0x93e20aba, 0xa0c0e52a, 0x223c43e0, 0x1b121d17,
506   0x090e0b0d, 0x8bf2adc7, 0xb62db9a8, 0x1e14c8a9,
507   0xf1578519, 0x75af4c07, 0x99eebbdd, 0x7fa3fd60,
508   0x01f79f26, 0x725cbcf5, 0x6644c53b, 0xfb5b347e,
509   0x438b7629, 0x23cbdcc6, 0xedb668fc, 0xe4b863f1,
510   0x31d7cadc, 0x63421085, 0x97134022, 0xc6842011,
511   0x4a857d24, 0xbbd2f83d, 0xf9ae1132, 0x29c76da1,
512   0x9e1d4b2f, 0xb2dcf330, 0x860dec52, 0xc177d0e3,
513   0xb32b6c16, 0x70a999b9, 0x9411fa48, 0xe9472264,
514   0xfca8c48c, 0xf0a01a3f, 0x7d56d82c, 0x3322ef90,
515   0x4987c74e, 0x38d9c1d1, 0xca8cfea2, 0xd498360b,
516   0xf5a6cf81, 0x7aa528de, 0xb7da268e, 0xad3fa4bf,
517   0x3a2ce49d, 0x78500d92, 0x5f6a9bcc, 0x7e546246,
518   0x8df6c213, 0xd890e8b8, 0x392e5ef7, 0xc382f5af,
519   0x5d9fbe80, 0xd0697c93, 0xd56fa92d, 0x25cfb312,
520   0xacc83b99, 0x1810a77d, 0x9ce86e63, 0x3bdb7bbb,
521   0x26cd0978, 0x596ef418, 0x9aec01b7, 0x4f83a89a,
522   0x95e6656e, 0xffaa7ee6, 0xbc2108cf, 0x15efe6e8,
523   0xe7bad99b, 0x6f4ace36, 0x9fead409, 0xb029d67c,
524   0xa431afb2, 0x3f2a3123, 0xa5c63094, 0xa235c066,
525   0x4e7437bc, 0x82fca6ca, 0x90e0b0d0, 0xa73315d8,
526   0x04f14a98, 0xec41f7da, 0xcd7f0e50, 0x91172ff6,
527   0x4d768dd6, 0xef434db0, 0xaacc544d, 0x96e4df04,
528   0xd19ee3b5, 0x6a4c1b88, 0x2cc1b81f, 0x65467f51,
529   0x5e9d04ea, 0x8c015d35, 0x87fa7374, 0x0bfb2e41,
530   0x67b35a1d, 0xdb9252d2, 0x10e93356, 0xd66d1347,
531   0xd79a8c61, 0xa1377a0c, 0xf8598e14, 0x13eb893c,
532   0xa9ceee27, 0x61b735c9, 0x1ce1ede5, 0x477a3cb1,
533   0xd29c59df, 0xf2553f73, 0x141879ce, 0xc773bf37,
534   0xf753eacd, 0xfd5f5baa, 0x3ddf146f, 0x447886db,
535   0xafca81f3, 0x68b93ec4, 0x24382c34, 0xa3c25f40,
536   0x1d1672c3, 0xe2bc0c25, 0x3c288b49, 0x0dff4195,
537   0xa8397101, 0x0c08deb3, 0xb4d89ce4, 0x566490c1,
538   0xcb7b6184, 0x32d570b6, 0x6c48745c, 0xb8d04257
539 }, {
540   0x5150a7f4, 0x7e536541, 0x1ac3a417, 0x3a965e27,
541   0x3bcb6bab, 0x1ff1459d, 0xacab58fa, 0x4b9303e3,
542   0x2055fa30, 0xadf66d76, 0x889176cc, 0xf5254c02,
543   0x4ffcd7e5, 0xc5d7cb2a, 0x26804435, 0xb58fa362,
544   0xde495ab1, 0x25671bba, 0x45980eea, 0x5de1c0fe,
545   0xc302752f, 0x8112f04c, 0x8da39746, 0x6bc6f9d3,
546   0x03e75f8f, 0x15959c92, 0xbfeb7a6d, 0x95da5952,
547   0xd42d83be, 0x58d32174, 0x492969e0, 0x8e44c8c9,
548   0x756a89c2, 0xf478798e, 0x996b3e58, 0x27dd71b9,
549   0xbeb64fe1, 0xf017ad88, 0xc966ac20, 0x7db43ace,
550   0x63184adf, 0xe582311a, 0x97603351, 0x62457f53,
551   0xb1e07764, 0xbb84ae6b, 0xfe1ca081, 0xf9942b08,
552   0x70586848, 0x8f19fd45, 0x94876cde, 0x52b7f87b,
553   0xab23d373, 0x72e2024b, 0xe3578f1f, 0x662aab55,
554   0xb20728eb, 0x2f03c2b5, 0x869a7bc5, 0xd3a50837,
555   0x30f28728, 0x23b2a5bf, 0x02ba6a03, 0xed5c8216,
556   0x8a2b1ccf, 0xa792b479, 0xf3f0f207, 0x4ea1e269,
557   0x65cdf4da, 0x06d5be05, 0xd11f6234, 0xc48afea6,
558   0x349d532e, 0xa2a055f3, 0x0532e18a, 0xa475ebf6,
559   0x0b39ec83, 0x40aaef60, 0x5e069f71, 0xbd51106e,
560   0x3ef98a21, 0x963d06dd, 0xddae053e, 0x4d46bde6,
561   0x91b58d54, 0x71055dc4, 0x046fd406, 0x60ff1550,
562   0x1924fb98, 0xd697e9bd, 0x89cc4340, 0x67779ed9,
563   0xb0bd42e8, 0x07888b89, 0xe7385b19, 0x79dbeec8,
564   0xa1470a7c, 0x7ce90f42, 0xf8c91e84, 0x00000000,
565   0x09838680, 0x3248ed2b, 0x1eac7011, 0x6c4e725a,
566   0xfdfbff0e, 0x0f563885, 0x3d1ed5ae, 0x3627392d,
567   0x0a64d90f, 0x6821a65c, 0x9bd1545b, 0x243a2e36,
568   0x0cb1670a, 0x930fe757, 0xb4d296ee, 0x1b9e919b,
569   0x804fc5c0, 0x61a220dc, 0x5a694b77, 0x1c161a12,
570   0xe20aba93, 0xc0e52aa0, 0x3c43e022, 0x121d171b,
571   0x0e0b0d09, 0xf2adc78b, 0x2db9a8b6, 0x14c8a91e,
572   0x578519f1, 0xaf4c0775, 0xeebbdd99, 0xa3fd607f,
573   0xf79f2601, 0x5cbcf572, 0x44c53b66, 0x5b347efb,
574   0x8b762943, 0xcbdcc623, 0xb668fced, 0xb863f1e4,
575   0xd7cadc31, 0x42108563, 0x13402297, 0x842011c6,
576   0x857d244a, 0xd2f83dbb, 0xae1132f9, 0xc76da129,
577   0x1d4b2f9e, 0xdcf330b2, 0x0dec5286, 0x77d0e3c1,
578   0x2b6c16b3, 0xa999b970, 0x11fa4894, 0x472264e9,
579   0xa8c48cfc, 0xa01a3ff0, 0x56d82c7d, 0x22ef9033,
580   0x87c74e49, 0xd9c1d138, 0x8cfea2ca, 0x98360bd4,
581   0xa6cf81f5, 0xa528de7a, 0xda268eb7, 0x3fa4bfad,
582   0x2ce49d3a, 0x500d9278, 0x6a9bcc5f, 0x5462467e,
583   0xf6c2138d, 0x90e8b8d8, 0x2e5ef739, 0x82f5afc3,
584   0x9fbe805d, 0x697c93d0, 0x6fa92dd5, 0xcfb31225,
585   0xc83b99ac, 0x10a77d18, 0xe86e639c, 0xdb7bbb3b,
586   0xcd097826, 0x6ef41859, 0xec01b79a, 0x83a89a4f,
587   0xe6656e95, 0xaa7ee6ff, 0x2108cfbc, 0xefe6e815,
588   0xbad99be7, 0x4ace366f, 0xead4099f, 0x29d67cb0,
589   0x31afb2a4, 0x2a31233f, 0xc63094a5, 0x35c066a2,
590   0x7437bc4e, 0xfca6ca82, 0xe0b0d090, 0x3315d8a7,
591   0xf14a9804, 0x41f7daec, 0x7f0e50cd, 0x172ff691,
592   0x768dd64d, 0x434db0ef, 0xcc544daa, 0xe4df0496,
593   0x9ee3b5d1, 0x4c1b886a, 0xc1b81f2c, 0x467f5165,
594   0x9d04ea5e, 0x015d358c, 0xfa737487, 0xfb2e410b,
595   0xb35a1d67, 0x9252d2db, 0xe9335610, 0x6d1347d6,
596   0x9a8c61d7, 0x377a0ca1, 0x598e14f8, 0xeb893c13,
597   0xceee27a9, 0xb735c961, 0xe1ede51c, 0x7a3cb147,
598   0x9c59dfd2, 0x553f73f2, 0x1879ce14, 0x73bf37c7,
599   0x53eacdf7, 0x5f5baafd, 0xdf146f3d, 0x7886db44,
600   0xca81f3af, 0xb93ec468, 0x382c3424, 0xc25f40a3,
601   0x1672c31d, 0xbc0c25e2, 0x288b493c, 0xff41950d,
602   0x397101a8, 0x08deb30c, 0xd89ce4b4, 0x6490c156,
603   0x7b6184cb, 0xd570b632, 0x48745c6c, 0xd04257b8
604 }
605 };
606
607 const uint32_t  fl_tab[4][256] = {
608 {
609   0x00000063, 0x0000007c, 0x00000077, 0x0000007b,
610   0x000000f2, 0x0000006b, 0x0000006f, 0x000000c5,
611   0x00000030, 0x00000001, 0x00000067, 0x0000002b,
612   0x000000fe, 0x000000d7, 0x000000ab, 0x00000076,
613   0x000000ca, 0x00000082, 0x000000c9, 0x0000007d,
614   0x000000fa, 0x00000059, 0x00000047, 0x000000f0,
615   0x000000ad, 0x000000d4, 0x000000a2, 0x000000af,
616   0x0000009c, 0x000000a4, 0x00000072, 0x000000c0,
617   0x000000b7, 0x000000fd, 0x00000093, 0x00000026,
618   0x00000036, 0x0000003f, 0x000000f7, 0x000000cc,
619   0x00000034, 0x000000a5, 0x000000e5, 0x000000f1,
620   0x00000071, 0x000000d8, 0x00000031, 0x00000015,
621   0x00000004, 0x000000c7, 0x00000023, 0x000000c3,
622   0x00000018, 0x00000096, 0x00000005, 0x0000009a,
623   0x00000007, 0x00000012, 0x00000080, 0x000000e2,
624   0x000000eb, 0x00000027, 0x000000b2, 0x00000075,
625   0x00000009, 0x00000083, 0x0000002c, 0x0000001a,
626   0x0000001b, 0x0000006e, 0x0000005a, 0x000000a0,
627   0x00000052, 0x0000003b, 0x000000d6, 0x000000b3,
628   0x00000029, 0x000000e3, 0x0000002f, 0x00000084,
629   0x00000053, 0x000000d1, 0x00000000, 0x000000ed,
630   0x00000020, 0x000000fc, 0x000000b1, 0x0000005b,
631   0x0000006a, 0x000000cb, 0x000000be, 0x00000039,
632   0x0000004a, 0x0000004c, 0x00000058, 0x000000cf,
633   0x000000d0, 0x000000ef, 0x000000aa, 0x000000fb,
634   0x00000043, 0x0000004d, 0x00000033, 0x00000085,
635   0x00000045, 0x000000f9, 0x00000002, 0x0000007f,
636   0x00000050, 0x0000003c, 0x0000009f, 0x000000a8,
637   0x00000051, 0x000000a3, 0x00000040, 0x0000008f,
638   0x00000092, 0x0000009d, 0x00000038, 0x000000f5,
639   0x000000bc, 0x000000b6, 0x000000da, 0x00000021,
640   0x00000010, 0x000000ff, 0x000000f3, 0x000000d2,
641   0x000000cd, 0x0000000c, 0x00000013, 0x000000ec,
642   0x0000005f, 0x00000097, 0x00000044, 0x00000017,
643   0x000000c4, 0x000000a7, 0x0000007e, 0x0000003d,
644   0x00000064, 0x0000005d, 0x00000019, 0x00000073,
645   0x00000060, 0x00000081, 0x0000004f, 0x000000dc,
646   0x00000022, 0x0000002a, 0x00000090, 0x00000088,
647   0x00000046, 0x000000ee, 0x000000b8, 0x00000014,
648   0x000000de, 0x0000005e, 0x0000000b, 0x000000db,
649   0x000000e0, 0x00000032, 0x0000003a, 0x0000000a,
650   0x00000049, 0x00000006, 0x00000024, 0x0000005c,
651   0x000000c2, 0x000000d3, 0x000000ac, 0x00000062,
652   0x00000091, 0x00000095, 0x000000e4, 0x00000079,
653   0x000000e7, 0x000000c8, 0x00000037, 0x0000006d,
654   0x0000008d, 0x000000d5, 0x0000004e, 0x000000a9,
655   0x0000006c, 0x00000056, 0x000000f4, 0x000000ea,
656   0x00000065, 0x0000007a, 0x000000ae, 0x00000008,
657   0x000000ba, 0x00000078, 0x00000025, 0x0000002e,
658   0x0000001c, 0x000000a6, 0x000000b4, 0x000000c6,
659   0x000000e8, 0x000000dd, 0x00000074, 0x0000001f,
660   0x0000004b, 0x000000bd, 0x0000008b, 0x0000008a,
661   0x00000070, 0x0000003e, 0x000000b5, 0x00000066,
662   0x00000048, 0x00000003, 0x000000f6, 0x0000000e,
663   0x00000061, 0x00000035, 0x00000057, 0x000000b9,
664   0x00000086, 0x000000c1, 0x0000001d, 0x0000009e,
665   0x000000e1, 0x000000f8, 0x00000098, 0x00000011,
666   0x00000069, 0x000000d9, 0x0000008e, 0x00000094,
667   0x0000009b, 0x0000001e, 0x00000087, 0x000000e9,
668   0x000000ce, 0x00000055, 0x00000028, 0x000000df,
669   0x0000008c, 0x000000a1, 0x00000089, 0x0000000d,
670   0x000000bf, 0x000000e6, 0x00000042, 0x00000068,
671   0x00000041, 0x00000099, 0x0000002d, 0x0000000f,
672   0x000000b0, 0x00000054, 0x000000bb, 0x00000016
673 }, {
674   0x00006300, 0x00007c00, 0x00007700, 0x00007b00,
675   0x0000f200, 0x00006b00, 0x00006f00, 0x0000c500,
676   0x00003000, 0x00000100, 0x00006700, 0x00002b00,
677   0x0000fe00, 0x0000d700, 0x0000ab00, 0x00007600,
678   0x0000ca00, 0x00008200, 0x0000c900, 0x00007d00,
679   0x0000fa00, 0x00005900, 0x00004700, 0x0000f000,
680   0x0000ad00, 0x0000d400, 0x0000a200, 0x0000af00,
681   0x00009c00, 0x0000a400, 0x00007200, 0x0000c000,
682   0x0000b700, 0x0000fd00, 0x00009300, 0x00002600,
683   0x00003600, 0x00003f00, 0x0000f700, 0x0000cc00,
684   0x00003400, 0x0000a500, 0x0000e500, 0x0000f100,
685   0x00007100, 0x0000d800, 0x00003100, 0x00001500,
686   0x00000400, 0x0000c700, 0x00002300, 0x0000c300,
687   0x00001800, 0x00009600, 0x00000500, 0x00009a00,
688   0x00000700, 0x00001200, 0x00008000, 0x0000e200,
689   0x0000eb00, 0x00002700, 0x0000b200, 0x00007500,
690   0x00000900, 0x00008300, 0x00002c00, 0x00001a00,
691   0x00001b00, 0x00006e00, 0x00005a00, 0x0000a000,
692   0x00005200, 0x00003b00, 0x0000d600, 0x0000b300,
693   0x00002900, 0x0000e300, 0x00002f00, 0x00008400,
694   0x00005300, 0x0000d100, 0x00000000, 0x0000ed00,
695   0x00002000, 0x0000fc00, 0x0000b100, 0x00005b00,
696   0x00006a00, 0x0000cb00, 0x0000be00, 0x00003900,
697   0x00004a00, 0x00004c00, 0x00005800, 0x0000cf00,
698   0x0000d000, 0x0000ef00, 0x0000aa00, 0x0000fb00,
699   0x00004300, 0x00004d00, 0x00003300, 0x00008500,
700   0x00004500, 0x0000f900, 0x00000200, 0x00007f00,
701   0x00005000, 0x00003c00, 0x00009f00, 0x0000a800,
702   0x00005100, 0x0000a300, 0x00004000, 0x00008f00,
703   0x00009200, 0x00009d00, 0x00003800, 0x0000f500,
704   0x0000bc00, 0x0000b600, 0x0000da00, 0x00002100,
705   0x00001000, 0x0000ff00, 0x0000f300, 0x0000d200,
706   0x0000cd00, 0x00000c00, 0x00001300, 0x0000ec00,
707   0x00005f00, 0x00009700, 0x00004400, 0x00001700,
708   0x0000c400, 0x0000a700, 0x00007e00, 0x00003d00,
709   0x00006400, 0x00005d00, 0x00001900, 0x00007300,
710   0x00006000, 0x00008100, 0x00004f00, 0x0000dc00,
711   0x00002200, 0x00002a00, 0x00009000, 0x00008800,
712   0x00004600, 0x0000ee00, 0x0000b800, 0x00001400,
713   0x0000de00, 0x00005e00, 0x00000b00, 0x0000db00,
714   0x0000e000, 0x00003200, 0x00003a00, 0x00000a00,
715   0x00004900, 0x00000600, 0x00002400, 0x00005c00,
716   0x0000c200, 0x0000d300, 0x0000ac00, 0x00006200,
717   0x00009100, 0x00009500, 0x0000e400, 0x00007900,
718   0x0000e700, 0x0000c800, 0x00003700, 0x00006d00,
719   0x00008d00, 0x0000d500, 0x00004e00, 0x0000a900,
720   0x00006c00, 0x00005600, 0x0000f400, 0x0000ea00,
721   0x00006500, 0x00007a00, 0x0000ae00, 0x00000800,
722   0x0000ba00, 0x00007800, 0x00002500, 0x00002e00,
723   0x00001c00, 0x0000a600, 0x0000b400, 0x0000c600,
724   0x0000e800, 0x0000dd00, 0x00007400, 0x00001f00,
725   0x00004b00, 0x0000bd00, 0x00008b00, 0x00008a00,
726   0x00007000, 0x00003e00, 0x0000b500, 0x00006600,
727   0x00004800, 0x00000300, 0x0000f600, 0x00000e00,
728   0x00006100, 0x00003500, 0x00005700, 0x0000b900,
729   0x00008600, 0x0000c100, 0x00001d00, 0x00009e00,
730   0x0000e100, 0x0000f800, 0x00009800, 0x00001100,
731   0x00006900, 0x0000d900, 0x00008e00, 0x00009400,
732   0x00009b00, 0x00001e00, 0x00008700, 0x0000e900,
733   0x0000ce00, 0x00005500, 0x00002800, 0x0000df00,
734   0x00008c00, 0x0000a100, 0x00008900, 0x00000d00,
735   0x0000bf00, 0x0000e600, 0x00004200, 0x00006800,
736   0x00004100, 0x00009900, 0x00002d00, 0x00000f00,
737   0x0000b000, 0x00005400, 0x0000bb00, 0x00001600
738 }, {
739   0x00630000, 0x007c0000, 0x00770000, 0x007b0000,
740   0x00f20000, 0x006b0000, 0x006f0000, 0x00c50000,
741   0x00300000, 0x00010000, 0x00670000, 0x002b0000,
742   0x00fe0000, 0x00d70000, 0x00ab0000, 0x00760000,
743   0x00ca0000, 0x00820000, 0x00c90000, 0x007d0000,
744   0x00fa0000, 0x00590000, 0x00470000, 0x00f00000,
745   0x00ad0000, 0x00d40000, 0x00a20000, 0x00af0000,
746   0x009c0000, 0x00a40000, 0x00720000, 0x00c00000,
747   0x00b70000, 0x00fd0000, 0x00930000, 0x00260000,
748   0x00360000, 0x003f0000, 0x00f70000, 0x00cc0000,
749   0x00340000, 0x00a50000, 0x00e50000, 0x00f10000,
750   0x00710000, 0x00d80000, 0x00310000, 0x00150000,
751   0x00040000, 0x00c70000, 0x00230000, 0x00c30000,
752   0x00180000, 0x00960000, 0x00050000, 0x009a0000,
753   0x00070000, 0x00120000, 0x00800000, 0x00e20000,
754   0x00eb0000, 0x00270000, 0x00b20000, 0x00750000,
755   0x00090000, 0x00830000, 0x002c0000, 0x001a0000,
756   0x001b0000, 0x006e0000, 0x005a0000, 0x00a00000,
757   0x00520000, 0x003b0000, 0x00d60000, 0x00b30000,
758   0x00290000, 0x00e30000, 0x002f0000, 0x00840000,
759   0x00530000, 0x00d10000, 0x00000000, 0x00ed0000,
760   0x00200000, 0x00fc0000, 0x00b10000, 0x005b0000,
761   0x006a0000, 0x00cb0000, 0x00be0000, 0x00390000,
762   0x004a0000, 0x004c0000, 0x00580000, 0x00cf0000,
763   0x00d00000, 0x00ef0000, 0x00aa0000, 0x00fb0000,
764   0x00430000, 0x004d0000, 0x00330000, 0x00850000,
765   0x00450000, 0x00f90000, 0x00020000, 0x007f0000,
766   0x00500000, 0x003c0000, 0x009f0000, 0x00a80000,
767   0x00510000, 0x00a30000, 0x00400000, 0x008f0000,
768   0x00920000, 0x009d0000, 0x00380000, 0x00f50000,
769   0x00bc0000, 0x00b60000, 0x00da0000, 0x00210000,
770   0x00100000, 0x00ff0000, 0x00f30000, 0x00d20000,
771   0x00cd0000, 0x000c0000, 0x00130000, 0x00ec0000,
772   0x005f0000, 0x00970000, 0x00440000, 0x00170000,
773   0x00c40000, 0x00a70000, 0x007e0000, 0x003d0000,
774   0x00640000, 0x005d0000, 0x00190000, 0x00730000,
775   0x00600000, 0x00810000, 0x004f0000, 0x00dc0000,
776   0x00220000, 0x002a0000, 0x00900000, 0x00880000,
777   0x00460000, 0x00ee0000, 0x00b80000, 0x00140000,
778   0x00de0000, 0x005e0000, 0x000b0000, 0x00db0000,
779   0x00e00000, 0x00320000, 0x003a0000, 0x000a0000,
780   0x00490000, 0x00060000, 0x00240000, 0x005c0000,
781   0x00c20000, 0x00d30000, 0x00ac0000, 0x00620000,
782   0x00910000, 0x00950000, 0x00e40000, 0x00790000,
783   0x00e70000, 0x00c80000, 0x00370000, 0x006d0000,
784   0x008d0000, 0x00d50000, 0x004e0000, 0x00a90000,
785   0x006c0000, 0x00560000, 0x00f40000, 0x00ea0000,
786   0x00650000, 0x007a0000, 0x00ae0000, 0x00080000,
787   0x00ba0000, 0x00780000, 0x00250000, 0x002e0000,
788   0x001c0000, 0x00a60000, 0x00b40000, 0x00c60000,
789   0x00e80000, 0x00dd0000, 0x00740000, 0x001f0000,
790   0x004b0000, 0x00bd0000, 0x008b0000, 0x008a0000,
791   0x00700000, 0x003e0000, 0x00b50000, 0x00660000,
792   0x00480000, 0x00030000, 0x00f60000, 0x000e0000,
793   0x00610000, 0x00350000, 0x00570000, 0x00b90000,
794   0x00860000, 0x00c10000, 0x001d0000, 0x009e0000,
795   0x00e10000, 0x00f80000, 0x00980000, 0x00110000,
796   0x00690000, 0x00d90000, 0x008e0000, 0x00940000,
797   0x009b0000, 0x001e0000, 0x00870000, 0x00e90000,
798   0x00ce0000, 0x00550000, 0x00280000, 0x00df0000,
799   0x008c0000, 0x00a10000, 0x00890000, 0x000d0000,
800   0x00bf0000, 0x00e60000, 0x00420000, 0x00680000,
801   0x00410000, 0x00990000, 0x002d0000, 0x000f0000,
802   0x00b00000, 0x00540000, 0x00bb0000, 0x00160000
803 }, {
804   0x63000000, 0x7c000000, 0x77000000, 0x7b000000,
805   0xf2000000, 0x6b000000, 0x6f000000, 0xc5000000,
806   0x30000000, 0x01000000, 0x67000000, 0x2b000000,
807   0xfe000000, 0xd7000000, 0xab000000, 0x76000000,
808   0xca000000, 0x82000000, 0xc9000000, 0x7d000000,
809   0xfa000000, 0x59000000, 0x47000000, 0xf0000000,
810   0xad000000, 0xd4000000, 0xa2000000, 0xaf000000,
811   0x9c000000, 0xa4000000, 0x72000000, 0xc0000000,
812   0xb7000000, 0xfd000000, 0x93000000, 0x26000000,
813   0x36000000, 0x3f000000, 0xf7000000, 0xcc000000,
814   0x34000000, 0xa5000000, 0xe5000000, 0xf1000000,
815   0x71000000, 0xd8000000, 0x31000000, 0x15000000,
816   0x04000000, 0xc7000000, 0x23000000, 0xc3000000,
817   0x18000000, 0x96000000, 0x05000000, 0x9a000000,
818   0x07000000, 0x12000000, 0x80000000, 0xe2000000,
819   0xeb000000, 0x27000000, 0xb2000000, 0x75000000,
820   0x09000000, 0x83000000, 0x2c000000, 0x1a000000,
821   0x1b000000, 0x6e000000, 0x5a000000, 0xa0000000,
822   0x52000000, 0x3b000000, 0xd6000000, 0xb3000000,
823   0x29000000, 0xe3000000, 0x2f000000, 0x84000000,
824   0x53000000, 0xd1000000, 0x00000000, 0xed000000,
825   0x20000000, 0xfc000000, 0xb1000000, 0x5b000000,
826   0x6a000000, 0xcb000000, 0xbe000000, 0x39000000,
827   0x4a000000, 0x4c000000, 0x58000000, 0xcf000000,
828   0xd0000000, 0xef000000, 0xaa000000, 0xfb000000,
829   0x43000000, 0x4d000000, 0x33000000, 0x85000000,
830   0x45000000, 0xf9000000, 0x02000000, 0x7f000000,
831   0x50000000, 0x3c000000, 0x9f000000, 0xa8000000,
832   0x51000000, 0xa3000000, 0x40000000, 0x8f000000,
833   0x92000000, 0x9d000000, 0x38000000, 0xf5000000,
834   0xbc000000, 0xb6000000, 0xda000000, 0x21000000,
835   0x10000000, 0xff000000, 0xf3000000, 0xd2000000,
836   0xcd000000, 0x0c000000, 0x13000000, 0xec000000,
837   0x5f000000, 0x97000000, 0x44000000, 0x17000000,
838   0xc4000000, 0xa7000000, 0x7e000000, 0x3d000000,
839   0x64000000, 0x5d000000, 0x19000000, 0x73000000,
840   0x60000000, 0x81000000, 0x4f000000, 0xdc000000,
841   0x22000000, 0x2a000000, 0x90000000, 0x88000000,
842   0x46000000, 0xee000000, 0xb8000000, 0x14000000,
843   0xde000000, 0x5e000000, 0x0b000000, 0xdb000000,
844   0xe0000000, 0x32000000, 0x3a000000, 0x0a000000,
845   0x49000000, 0x06000000, 0x24000000, 0x5c000000,
846   0xc2000000, 0xd3000000, 0xac000000, 0x62000000,
847   0x91000000, 0x95000000, 0xe4000000, 0x79000000,
848   0xe7000000, 0xc8000000, 0x37000000, 0x6d000000,
849   0x8d000000, 0xd5000000, 0x4e000000, 0xa9000000,
850   0x6c000000, 0x56000000, 0xf4000000, 0xea000000,
851   0x65000000, 0x7a000000, 0xae000000, 0x08000000,
852   0xba000000, 0x78000000, 0x25000000, 0x2e000000,
853   0x1c000000, 0xa6000000, 0xb4000000, 0xc6000000,
854   0xe8000000, 0xdd000000, 0x74000000, 0x1f000000,
855   0x4b000000, 0xbd000000, 0x8b000000, 0x8a000000,
856   0x70000000, 0x3e000000, 0xb5000000, 0x66000000,
857   0x48000000, 0x03000000, 0xf6000000, 0x0e000000,
858   0x61000000, 0x35000000, 0x57000000, 0xb9000000,
859   0x86000000, 0xc1000000, 0x1d000000, 0x9e000000,
860   0xe1000000, 0xf8000000, 0x98000000, 0x11000000,
861   0x69000000, 0xd9000000, 0x8e000000, 0x94000000,
862   0x9b000000, 0x1e000000, 0x87000000, 0xe9000000,
863   0xce000000, 0x55000000, 0x28000000, 0xdf000000,
864   0x8c000000, 0xa1000000, 0x89000000, 0x0d000000,
865   0xbf000000, 0xe6000000, 0x42000000, 0x68000000,
866   0x41000000, 0x99000000, 0x2d000000, 0x0f000000,
867   0xb0000000, 0x54000000, 0xbb000000, 0x16000000
868 }
869 };
870
871 const uint32_t  il_tab[4][256] = {
872 {
873   0x00000052, 0x00000009, 0x0000006a, 0x000000d5,
874   0x00000030, 0x00000036, 0x000000a5, 0x00000038,
875   0x000000bf, 0x00000040, 0x000000a3, 0x0000009e,
876   0x00000081, 0x000000f3, 0x000000d7, 0x000000fb,
877   0x0000007c, 0x000000e3, 0x00000039, 0x00000082,
878   0x0000009b, 0x0000002f, 0x000000ff, 0x00000087,
879   0x00000034, 0x0000008e, 0x00000043, 0x00000044,
880   0x000000c4, 0x000000de, 0x000000e9, 0x000000cb,
881   0x00000054, 0x0000007b, 0x00000094, 0x00000032,
882   0x000000a6, 0x000000c2, 0x00000023, 0x0000003d,
883   0x000000ee, 0x0000004c, 0x00000095, 0x0000000b,
884   0x00000042, 0x000000fa, 0x000000c3, 0x0000004e,
885   0x00000008, 0x0000002e, 0x000000a1, 0x00000066,
886   0x00000028, 0x000000d9, 0x00000024, 0x000000b2,
887   0x00000076, 0x0000005b, 0x000000a2, 0x00000049,
888   0x0000006d, 0x0000008b, 0x000000d1, 0x00000025,
889   0x00000072, 0x000000f8, 0x000000f6, 0x00000064,
890   0x00000086, 0x00000068, 0x00000098, 0x00000016,
891   0x000000d4, 0x000000a4, 0x0000005c, 0x000000cc,
892   0x0000005d, 0x00000065, 0x000000b6, 0x00000092,
893   0x0000006c, 0x00000070, 0x00000048, 0x00000050,
894   0x000000fd, 0x000000ed, 0x000000b9, 0x000000da,
895   0x0000005e, 0x00000015, 0x00000046, 0x00000057,
896   0x000000a7, 0x0000008d, 0x0000009d, 0x00000084,
897   0x00000090, 0x000000d8, 0x000000ab, 0x00000000,
898   0x0000008c, 0x000000bc, 0x000000d3, 0x0000000a,
899   0x000000f7, 0x000000e4, 0x00000058, 0x00000005,
900   0x000000b8, 0x000000b3, 0x00000045, 0x00000006,
901   0x000000d0, 0x0000002c, 0x0000001e, 0x0000008f,
902   0x000000ca, 0x0000003f, 0x0000000f, 0x00000002,
903   0x000000c1, 0x000000af, 0x000000bd, 0x00000003,
904   0x00000001, 0x00000013, 0x0000008a, 0x0000006b,
905   0x0000003a, 0x00000091, 0x00000011, 0x00000041,
906   0x0000004f, 0x00000067, 0x000000dc, 0x000000ea,
907   0x00000097, 0x000000f2, 0x000000cf, 0x000000ce,
908   0x000000f0, 0x000000b4, 0x000000e6, 0x00000073,
909   0x00000096, 0x000000ac, 0x00000074, 0x00000022,
910   0x000000e7, 0x000000ad, 0x00000035, 0x00000085,
911   0x000000e2, 0x000000f9, 0x00000037, 0x000000e8,
912   0x0000001c, 0x00000075, 0x000000df, 0x0000006e,
913   0x00000047, 0x000000f1, 0x0000001a, 0x00000071,
914   0x0000001d, 0x00000029, 0x000000c5, 0x00000089,
915   0x0000006f, 0x000000b7, 0x00000062, 0x0000000e,
916   0x000000aa, 0x00000018, 0x000000be, 0x0000001b,
917   0x000000fc, 0x00000056, 0x0000003e, 0x0000004b,
918   0x000000c6, 0x000000d2, 0x00000079, 0x00000020,
919   0x0000009a, 0x000000db, 0x000000c0, 0x000000fe,
920   0x00000078, 0x000000cd, 0x0000005a, 0x000000f4,
921   0x0000001f, 0x000000dd, 0x000000a8, 0x00000033,
922   0x00000088, 0x00000007, 0x000000c7, 0x00000031,
923   0x000000b1, 0x00000012, 0x00000010, 0x00000059,
924   0x00000027, 0x00000080, 0x000000ec, 0x0000005f,
925   0x00000060, 0x00000051, 0x0000007f, 0x000000a9,
926   0x00000019, 0x000000b5, 0x0000004a, 0x0000000d,
927   0x0000002d, 0x000000e5, 0x0000007a, 0x0000009f,
928   0x00000093, 0x000000c9, 0x0000009c, 0x000000ef,
929   0x000000a0, 0x000000e0, 0x0000003b, 0x0000004d,
930   0x000000ae, 0x0000002a, 0x000000f5, 0x000000b0,
931   0x000000c8, 0x000000eb, 0x000000bb, 0x0000003c,
932   0x00000083, 0x00000053, 0x00000099, 0x00000061,
933   0x00000017, 0x0000002b, 0x00000004, 0x0000007e,
934   0x000000ba, 0x00000077, 0x000000d6, 0x00000026,
935   0x000000e1, 0x00000069, 0x00000014, 0x00000063,
936   0x00000055, 0x00000021, 0x0000000c, 0x0000007d
937 }, {
938   0x00005200, 0x00000900, 0x00006a00, 0x0000d500,
939   0x00003000, 0x00003600, 0x0000a500, 0x00003800,
940   0x0000bf00, 0x00004000, 0x0000a300, 0x00009e00,
941   0x00008100, 0x0000f300, 0x0000d700, 0x0000fb00,
942   0x00007c00, 0x0000e300, 0x00003900, 0x00008200,
943   0x00009b00, 0x00002f00, 0x0000ff00, 0x00008700,
944   0x00003400, 0x00008e00, 0x00004300, 0x00004400,
945   0x0000c400, 0x0000de00, 0x0000e900, 0x0000cb00,
946   0x00005400, 0x00007b00, 0x00009400, 0x00003200,
947   0x0000a600, 0x0000c200, 0x00002300, 0x00003d00,
948   0x0000ee00, 0x00004c00, 0x00009500, 0x00000b00,
949   0x00004200, 0x0000fa00, 0x0000c300, 0x00004e00,
950   0x00000800, 0x00002e00, 0x0000a100, 0x00006600,
951   0x00002800, 0x0000d900, 0x00002400, 0x0000b200,
952   0x00007600, 0x00005b00, 0x0000a200, 0x00004900,
953   0x00006d00, 0x00008b00, 0x0000d100, 0x00002500,
954   0x00007200, 0x0000f800, 0x0000f600, 0x00006400,
955   0x00008600, 0x00006800, 0x00009800, 0x00001600,
956   0x0000d400, 0x0000a400, 0x00005c00, 0x0000cc00,
957   0x00005d00, 0x00006500, 0x0000b600, 0x00009200,
958   0x00006c00, 0x00007000, 0x00004800, 0x00005000,
959   0x0000fd00, 0x0000ed00, 0x0000b900, 0x0000da00,
960   0x00005e00, 0x00001500, 0x00004600, 0x00005700,
961   0x0000a700, 0x00008d00, 0x00009d00, 0x00008400,
962   0x00009000, 0x0000d800, 0x0000ab00, 0x00000000,
963   0x00008c00, 0x0000bc00, 0x0000d300, 0x00000a00,
964   0x0000f700, 0x0000e400, 0x00005800, 0x00000500,
965   0x0000b800, 0x0000b300, 0x00004500, 0x00000600,
966   0x0000d000, 0x00002c00, 0x00001e00, 0x00008f00,
967   0x0000ca00, 0x00003f00, 0x00000f00, 0x00000200,
968   0x0000c100, 0x0000af00, 0x0000bd00, 0x00000300,
969   0x00000100, 0x00001300, 0x00008a00, 0x00006b00,
970   0x00003a00, 0x00009100, 0x00001100, 0x00004100,
971   0x00004f00, 0x00006700, 0x0000dc00, 0x0000ea00,
972   0x00009700, 0x0000f200, 0x0000cf00, 0x0000ce00,
973   0x0000f000, 0x0000b400, 0x0000e600, 0x00007300,
974   0x00009600, 0x0000ac00, 0x00007400, 0x00002200,
975   0x0000e700, 0x0000ad00, 0x00003500, 0x00008500,
976   0x0000e200, 0x0000f900, 0x00003700, 0x0000e800,
977   0x00001c00, 0x00007500, 0x0000df00, 0x00006e00,
978   0x00004700, 0x0000f100, 0x00001a00, 0x00007100,
979   0x00001d00, 0x00002900, 0x0000c500, 0x00008900,
980   0x00006f00, 0x0000b700, 0x00006200, 0x00000e00,
981   0x0000aa00, 0x00001800, 0x0000be00, 0x00001b00,
982   0x0000fc00, 0x00005600, 0x00003e00, 0x00004b00,
983   0x0000c600, 0x0000d200, 0x00007900, 0x00002000,
984   0x00009a00, 0x0000db00, 0x0000c000, 0x0000fe00,
985   0x00007800, 0x0000cd00, 0x00005a00, 0x0000f400,
986   0x00001f00, 0x0000dd00, 0x0000a800, 0x00003300,
987   0x00008800, 0x00000700, 0x0000c700, 0x00003100,
988   0x0000b100, 0x00001200, 0x00001000, 0x00005900,
989   0x00002700, 0x00008000, 0x0000ec00, 0x00005f00,
990   0x00006000, 0x00005100, 0x00007f00, 0x0000a900,
991   0x00001900, 0x0000b500, 0x00004a00, 0x00000d00,
992   0x00002d00, 0x0000e500, 0x00007a00, 0x00009f00,
993   0x00009300, 0x0000c900, 0x00009c00, 0x0000ef00,
994   0x0000a000, 0x0000e000, 0x00003b00, 0x00004d00,
995   0x0000ae00, 0x00002a00, 0x0000f500, 0x0000b000,
996   0x0000c800, 0x0000eb00, 0x0000bb00, 0x00003c00,
997   0x00008300, 0x00005300, 0x00009900, 0x00006100,
998   0x00001700, 0x00002b00, 0x00000400, 0x00007e00,
999   0x0000ba00, 0x00007700, 0x0000d600, 0x00002600,
1000   0x0000e100, 0x00006900, 0x00001400, 0x00006300,
1001   0x00005500, 0x00002100, 0x00000c00, 0x00007d00
1002 }, {
1003   0x00520000, 0x00090000, 0x006a0000, 0x00d50000,
1004   0x00300000, 0x00360000, 0x00a50000, 0x00380000,
1005   0x00bf0000, 0x00400000, 0x00a30000, 0x009e0000,
1006   0x00810000, 0x00f30000, 0x00d70000, 0x00fb0000,
1007   0x007c0000, 0x00e30000, 0x00390000, 0x00820000,
1008   0x009b0000, 0x002f0000, 0x00ff0000, 0x00870000,
1009   0x00340000, 0x008e0000, 0x00430000, 0x00440000,
1010   0x00c40000, 0x00de0000, 0x00e90000, 0x00cb0000,
1011   0x00540000, 0x007b0000, 0x00940000, 0x00320000,
1012   0x00a60000, 0x00c20000, 0x00230000, 0x003d0000,
1013   0x00ee0000, 0x004c0000, 0x00950000, 0x000b0000,
1014   0x00420000, 0x00fa0000, 0x00c30000, 0x004e0000,
1015   0x00080000, 0x002e0000, 0x00a10000, 0x00660000,
1016   0x00280000, 0x00d90000, 0x00240000, 0x00b20000,
1017   0x00760000, 0x005b0000, 0x00a20000, 0x00490000,
1018   0x006d0000, 0x008b0000, 0x00d10000, 0x00250000,
1019   0x00720000, 0x00f80000, 0x00f60000, 0x00640000,
1020   0x00860000, 0x00680000, 0x00980000, 0x00160000,
1021   0x00d40000, 0x00a40000, 0x005c0000, 0x00cc0000,
1022   0x005d0000, 0x00650000, 0x00b60000, 0x00920000,
1023   0x006c0000, 0x00700000, 0x00480000, 0x00500000,
1024   0x00fd0000, 0x00ed0000, 0x00b90000, 0x00da0000,
1025   0x005e0000, 0x00150000, 0x00460000, 0x00570000,
1026   0x00a70000, 0x008d0000, 0x009d0000, 0x00840000,
1027   0x00900000, 0x00d80000, 0x00ab0000, 0x00000000,
1028   0x008c0000, 0x00bc0000, 0x00d30000, 0x000a0000,
1029   0x00f70000, 0x00e40000, 0x00580000, 0x00050000,
1030   0x00b80000, 0x00b30000, 0x00450000, 0x00060000,
1031   0x00d00000, 0x002c0000, 0x001e0000, 0x008f0000,
1032   0x00ca0000, 0x003f0000, 0x000f0000, 0x00020000,
1033   0x00c10000, 0x00af0000, 0x00bd0000, 0x00030000,
1034   0x00010000, 0x00130000, 0x008a0000, 0x006b0000,
1035   0x003a0000, 0x00910000, 0x00110000, 0x00410000,
1036   0x004f0000, 0x00670000, 0x00dc0000, 0x00ea0000,
1037   0x00970000, 0x00f20000, 0x00cf0000, 0x00ce0000,
1038   0x00f00000, 0x00b40000, 0x00e60000, 0x00730000,
1039   0x00960000, 0x00ac0000, 0x00740000, 0x00220000,
1040   0x00e70000, 0x00ad0000, 0x00350000, 0x00850000,
1041   0x00e20000, 0x00f90000, 0x00370000, 0x00e80000,
1042   0x001c0000, 0x00750000, 0x00df0000, 0x006e0000,
1043   0x00470000, 0x00f10000, 0x001a0000, 0x00710000,
1044   0x001d0000, 0x00290000, 0x00c50000, 0x00890000,
1045   0x006f0000, 0x00b70000, 0x00620000, 0x000e0000,
1046   0x00aa0000, 0x00180000, 0x00be0000, 0x001b0000,
1047   0x00fc0000, 0x00560000, 0x003e0000, 0x004b0000,
1048   0x00c60000, 0x00d20000, 0x00790000, 0x00200000,
1049   0x009a0000, 0x00db0000, 0x00c00000, 0x00fe0000,
1050   0x00780000, 0x00cd0000, 0x005a0000, 0x00f40000,
1051   0x001f0000, 0x00dd0000, 0x00a80000, 0x00330000,
1052   0x00880000, 0x00070000, 0x00c70000, 0x00310000,
1053   0x00b10000, 0x00120000, 0x00100000, 0x00590000,
1054   0x00270000, 0x00800000, 0x00ec0000, 0x005f0000,
1055   0x00600000, 0x00510000, 0x007f0000, 0x00a90000,
1056   0x00190000, 0x00b50000, 0x004a0000, 0x000d0000,
1057   0x002d0000, 0x00e50000, 0x007a0000, 0x009f0000,
1058   0x00930000, 0x00c90000, 0x009c0000, 0x00ef0000,
1059   0x00a00000, 0x00e00000, 0x003b0000, 0x004d0000,
1060   0x00ae0000, 0x002a0000, 0x00f50000, 0x00b00000,
1061   0x00c80000, 0x00eb0000, 0x00bb0000, 0x003c0000,
1062   0x00830000, 0x00530000, 0x00990000, 0x00610000,
1063   0x00170000, 0x002b0000, 0x00040000, 0x007e0000,
1064   0x00ba0000, 0x00770000, 0x00d60000, 0x00260000,
1065   0x00e10000, 0x00690000, 0x00140000, 0x00630000,
1066   0x00550000, 0x00210000, 0x000c0000, 0x007d0000
1067 }, {
1068   0x52000000, 0x09000000, 0x6a000000, 0xd5000000,
1069   0x30000000, 0x36000000, 0xa5000000, 0x38000000,
1070   0xbf000000, 0x40000000, 0xa3000000, 0x9e000000,
1071   0x81000000, 0xf3000000, 0xd7000000, 0xfb000000,
1072   0x7c000000, 0xe3000000, 0x39000000, 0x82000000,
1073   0x9b000000, 0x2f000000, 0xff000000, 0x87000000,
1074   0x34000000, 0x8e000000, 0x43000000, 0x44000000,
1075   0xc4000000, 0xde000000, 0xe9000000, 0xcb000000,
1076   0x54000000, 0x7b000000, 0x94000000, 0x32000000,
1077   0xa6000000, 0xc2000000, 0x23000000, 0x3d000000,
1078   0xee000000, 0x4c000000, 0x95000000, 0x0b000000,
1079   0x42000000, 0xfa000000, 0xc3000000, 0x4e000000,
1080   0x08000000, 0x2e000000, 0xa1000000, 0x66000000,
1081   0x28000000, 0xd9000000, 0x24000000, 0xb2000000,
1082   0x76000000, 0x5b000000, 0xa2000000, 0x49000000,
1083   0x6d000000, 0x8b000000, 0xd1000000, 0x25000000,
1084   0x72000000, 0xf8000000, 0xf6000000, 0x64000000,
1085   0x86000000, 0x68000000, 0x98000000, 0x16000000,
1086   0xd4000000, 0xa4000000, 0x5c000000, 0xcc000000,
1087   0x5d000000, 0x65000000, 0xb6000000, 0x92000000,
1088   0x6c000000, 0x70000000, 0x48000000, 0x50000000,
1089   0xfd000000, 0xed000000, 0xb9000000, 0xda000000,
1090   0x5e000000, 0x15000000, 0x46000000, 0x57000000,
1091   0xa7000000, 0x8d000000, 0x9d000000, 0x84000000,
1092   0x90000000, 0xd8000000, 0xab000000, 0x00000000,
1093   0x8c000000, 0xbc000000, 0xd3000000, 0x0a000000,
1094   0xf7000000, 0xe4000000, 0x58000000, 0x05000000,
1095   0xb8000000, 0xb3000000, 0x45000000, 0x06000000,
1096   0xd0000000, 0x2c000000, 0x1e000000, 0x8f000000,
1097   0xca000000, 0x3f000000, 0x0f000000, 0x02000000,
1098   0xc1000000, 0xaf000000, 0xbd000000, 0x03000000,
1099   0x01000000, 0x13000000, 0x8a000000, 0x6b000000,
1100   0x3a000000, 0x91000000, 0x11000000, 0x41000000,
1101   0x4f000000, 0x67000000, 0xdc000000, 0xea000000,
1102   0x97000000, 0xf2000000, 0xcf000000, 0xce000000,
1103   0xf0000000, 0xb4000000, 0xe6000000, 0x73000000,
1104   0x96000000, 0xac000000, 0x74000000, 0x22000000,
1105   0xe7000000, 0xad000000, 0x35000000, 0x85000000,
1106   0xe2000000, 0xf9000000, 0x37000000, 0xe8000000,
1107   0x1c000000, 0x75000000, 0xdf000000, 0x6e000000,
1108   0x47000000, 0xf1000000, 0x1a000000, 0x71000000,
1109   0x1d000000, 0x29000000, 0xc5000000, 0x89000000,
1110   0x6f000000, 0xb7000000, 0x62000000, 0x0e000000,
1111   0xaa000000, 0x18000000, 0xbe000000, 0x1b000000,
1112   0xfc000000, 0x56000000, 0x3e000000, 0x4b000000,
1113   0xc6000000, 0xd2000000, 0x79000000, 0x20000000,
1114   0x9a000000, 0xdb000000, 0xc0000000, 0xfe000000,
1115   0x78000000, 0xcd000000, 0x5a000000, 0xf4000000,
1116   0x1f000000, 0xdd000000, 0xa8000000, 0x33000000,
1117   0x88000000, 0x07000000, 0xc7000000, 0x31000000,
1118   0xb1000000, 0x12000000, 0x10000000, 0x59000000,
1119   0x27000000, 0x80000000, 0xec000000, 0x5f000000,
1120   0x60000000, 0x51000000, 0x7f000000, 0xa9000000,
1121   0x19000000, 0xb5000000, 0x4a000000, 0x0d000000,
1122   0x2d000000, 0xe5000000, 0x7a000000, 0x9f000000,
1123   0x93000000, 0xc9000000, 0x9c000000, 0xef000000,
1124   0xa0000000, 0xe0000000, 0x3b000000, 0x4d000000,
1125   0xae000000, 0x2a000000, 0xf5000000, 0xb0000000,
1126   0xc8000000, 0xeb000000, 0xbb000000, 0x3c000000,
1127   0x83000000, 0x53000000, 0x99000000, 0x61000000,
1128   0x17000000, 0x2b000000, 0x04000000, 0x7e000000,
1129   0xba000000, 0x77000000, 0xd6000000, 0x26000000,
1130   0xe1000000, 0x69000000, 0x14000000, 0x63000000,
1131   0x55000000, 0x21000000, 0x0c000000, 0x7d000000
1132 }
1133 };
1134
1135 const uint32_t rco_tab[10] = {
1136   0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010,
1137   0x00000020, 0x00000040, 0x00000080, 0x0000001b, 0x00000036
1138 };