1
1
class Crypto::Blowfish
2
2
DEFAULT_ROUNDS = 16
3
3
4
- @p : Array (Int32 )
5
- @s : Array (Array (Int32 ))
4
+ @p : StaticArray (UInt32 , 18 )
5
+ @s : StaticArray (UInt32 , 1024 )
6
+ @s1 : UInt32 *
7
+ @s2 : UInt32 *
8
+ @s3 : UInt32 *
6
9
7
10
def initialize (@rounds = DEFAULT_ROUNDS )
8
11
@p = P .dup
9
- @s = S .clone
12
+ @s = S .dup
13
+ @s1 = @s .to_unsafe + 256
14
+ @s2 = @s .to_unsafe + 512
15
+ @s3 = @s .to_unsafe + 768
10
16
end
11
17
12
18
def expand_key (key )
13
19
pos = 0
14
20
15
21
0 .upto(17 ) do |i |
16
- @p [i] ^= next_word(key, pointerof (pos))
22
+ @p .to_unsafe [i] ^= next_word(key, pointerof (pos))
17
23
end
18
24
19
- l, r = 0 , 0
25
+ l, r = 0 _ u32 , 0 _ u32
20
26
21
- 0 . step(to: 17 , by: 2 ) do |i |
27
+ ( 0 ..17). step(2 ) do |i |
22
28
l, r = encrypt_pair(l, r)
23
- @p [i] = l
24
- @p [i + 1 ] = r
29
+ @p .to_unsafe [i] = l
30
+ @p .to_unsafe [i + 1 ] = r
25
31
end
26
32
27
- 0 .upto(3 ) do |i |
28
- 0 .step(to: 255 , by: 2 ) do |j |
29
- l, r = encrypt_pair(l, r)
30
- @s [i][j] = l
31
- @s [i][j + 1 ] = r
32
- end
33
+ (0 ..1023).step(2 ) do |i |
34
+ l, r = encrypt_pair(l, r)
35
+ @s .to_unsafe[i] = l
36
+ @s .to_unsafe[i + 1 ] = r
33
37
end
34
38
end
35
39
36
- def encrypt_pair (l : Int32 , r : Int32 )
40
+ def encrypt_pair (l : UInt32 , r : UInt32 )
37
41
0 .upto(@rounds - 1 ) do |i |
38
- l ^= @p [i]
42
+ l ^= @p .to_unsafe [i]
39
43
r ^= f(l)
40
44
l, r = r, l
41
45
end
42
46
43
47
l, r = r, l
44
48
45
- r ^= @p [@rounds ]
46
- l ^= @p [@rounds + 1 ]
49
+ r ^= @p .to_unsafe [@rounds ]
50
+ l ^= @p .to_unsafe [@rounds + 1 ]
47
51
48
52
{l, r}
49
53
end
50
54
51
- def decrypt_pair (l : Int32 , r : Int32 )
55
+ def decrypt_pair (l : UInt32 , r : UInt32 )
52
56
(@rounds + 1 ).downto(2 ) do |i |
53
- l ^= @p [i]
57
+ l ^= @p .to_unsafe [i]
54
58
r ^= f(l)
55
59
l, r = r, l
56
60
end
57
61
58
62
l, r = r, l
59
63
60
- r ^= @p [1 ]
61
- l ^= @p [0 ]
64
+ r ^= @p .to_unsafe [1 ]
65
+ l ^= @p .to_unsafe [0 ]
62
66
63
67
{l, r}
64
68
end
65
69
70
+ @[AlwaysInline ]
66
71
private def f (x )
67
- d = x & 0x00ff
68
- c = (x >> = 8 ) & 0x00ff
69
- b = (x >> = 8 ) & 0x00ff
70
- a = (x >> = 8 ) & 0x00ff
71
-
72
- ((@s [0 ][a] + @s [1 ][b]) ^ @s [2 ][c]) + @s [3 ][d]
72
+ d = x & 0xff _u32
73
+ c = (x >> 8 ) & 0xff _u32
74
+ b = (x >> 16 ) & 0xff _u32
75
+ a = (x >> 24 ) & 0xff _u32
76
+ ((@s .to_unsafe[a] + @s1 [b]) ^ @s2 [c]) + @s3 [d]
73
77
end
74
78
75
79
private def next_word (data , pos )
76
- word = 0
80
+ word = 0 _ u32
77
81
78
82
4 .times do
79
83
word = (word << 8 ) | data[pos.value]
@@ -83,192 +87,187 @@ class Crypto::Blowfish
83
87
word
84
88
end
85
89
86
- private P = Int32 [
90
+ private P = UInt32 .static_array(
87
91
0x243f6a88 , 0x85a308d3 , 0x13198a2e , 0x03707344 , 0xa4093822 , 0x299f31d0 ,
88
92
0x082efa98 , 0xec4e6c89 , 0x452821e6 , 0x38d01377 , 0xbe5466cf , 0x34e90c6c ,
89
93
0xc0ac29b7 , 0xc97c50dd , 0x3f84d5b5 , 0xb5470917 , 0x9216d5d9 , 0x8979fb1b ,
90
- ]
94
+ )
95
+
96
+ private S = UInt32 .static_array(
97
+ 0xd1310ba6 , 0x98dfb5ac , 0x2ffd72db , 0xd01adfb7 , 0xb8e1afed , 0x6a267e96 ,
98
+ 0xba7c9045 , 0xf12c7f99 , 0x24a19947 , 0xb3916cf7 , 0x0801f2e2 , 0x858efc16 ,
99
+ 0x636920d8 , 0x71574e69 , 0xa458fea3 , 0xf4933d7e , 0x0d95748f , 0x728eb658 ,
100
+ 0x718bcd58 , 0x82154aee , 0x7b54a41d , 0xc25a59b5 , 0x9c30d539 , 0x2af26013 ,
101
+ 0xc5d1b023 , 0x286085f0 , 0xca417918 , 0xb8db38ef , 0x8e79dcb0 , 0x603a180e ,
102
+ 0x6c9e0e8b , 0xb01e8a3e , 0xd71577c1 , 0xbd314b27 , 0x78af2fda , 0x55605c60 ,
103
+ 0xe65525f3 , 0xaa55ab94 , 0x57489862 , 0x63e81440 , 0x55ca396a , 0x2aab10b6 ,
104
+ 0xb4cc5c34 , 0x1141e8ce , 0xa15486af , 0x7c72e993 , 0xb3ee1411 , 0x636fbc2a ,
105
+ 0x2ba9c55d , 0x741831f6 , 0xce5c3e16 , 0x9b87931e , 0xafd6ba33 , 0x6c24cf5c ,
106
+ 0x7a325381 , 0x28958677 , 0x3b8f4898 , 0x6b4bb9af , 0xc4bfe81b , 0x66282193 ,
107
+ 0x61d809cc , 0xfb21a991 , 0x487cac60 , 0x5dec8032 , 0xef845d5d , 0xe98575b1 ,
108
+ 0xdc262302 , 0xeb651b88 , 0x23893e81 , 0xd396acc5 , 0x0f6d6ff3 , 0x83f44239 ,
109
+ 0x2e0b4482 , 0xa4842004 , 0x69c8f04a , 0x9e1f9b5e , 0x21c66842 , 0xf6e96c9a ,
110
+ 0x670c9c61 , 0xabd388f0 , 0x6a51a0d2 , 0xd8542f68 , 0x960fa728 , 0xab5133a3 ,
111
+ 0x6eef0b6c , 0x137a3be4 , 0xba3bf050 , 0x7efb2a98 , 0xa1f1651d , 0x39af0176 ,
112
+ 0x66ca593e , 0x82430e88 , 0x8cee8619 , 0x456f9fb4 , 0x7d84a5c3 , 0x3b8b5ebe ,
113
+ 0xe06f75d8 , 0x85c12073 , 0x401a449f , 0x56c16aa6 , 0x4ed3aa62 , 0x363f7706 ,
114
+ 0x1bfedf72 , 0x429b023d , 0x37d0d724 , 0xd00a1248 , 0xdb0fead3 , 0x49f1c09b ,
115
+ 0x075372c9 , 0x80991b7b , 0x25d479d8 , 0xf6e8def7 , 0xe3fe501a , 0xb6794c3b ,
116
+ 0x976ce0bd , 0x04c006ba , 0xc1a94fb6 , 0x409f60c4 , 0x5e5c9ec2 , 0x196a2463 ,
117
+ 0x68fb6faf , 0x3e6c53b5 , 0x1339b2eb , 0x3b52ec6f , 0x6dfc511f , 0x9b30952c ,
118
+ 0xcc814544 , 0xaf5ebd09 , 0xbee3d004 , 0xde334afd , 0x660f2807 , 0x192e4bb3 ,
119
+ 0xc0cba857 , 0x45c8740f , 0xd20b5f39 , 0xb9d3fbdb , 0x5579c0bd , 0x1a60320a ,
120
+ 0xd6a100c6 , 0x402c7279 , 0x679f25fe , 0xfb1fa3cc , 0x8ea5e9f8 , 0xdb3222f8 ,
121
+ 0x3c7516df , 0xfd616b15 , 0x2f501ec8 , 0xad0552ab , 0x323db5fa , 0xfd238760 ,
122
+ 0x53317b48 , 0x3e00df82 , 0x9e5c57bb , 0xca6f8ca0 , 0x1a87562e , 0xdf1769db ,
123
+ 0xd542a8f6 , 0x287effc3 , 0xac6732c6 , 0x8c4f5573 , 0x695b27b0 , 0xbbca58c8 ,
124
+ 0xe1ffa35d , 0xb8f011a0 , 0x10fa3d98 , 0xfd2183b8 , 0x4afcb56c , 0x2dd1d35b ,
125
+ 0x9a53e479 , 0xb6f84565 , 0xd28e49bc , 0x4bfb9790 , 0xe1ddf2da , 0xa4cb7e33 ,
126
+ 0x62fb1341 , 0xcee4c6e8 , 0xef20cada , 0x36774c01 , 0xd07e9efe , 0x2bf11fb4 ,
127
+ 0x95dbda4d , 0xae909198 , 0xeaad8e71 , 0x6b93d5a0 , 0xd08ed1d0 , 0xafc725e0 ,
128
+ 0x8e3c5b2f , 0x8e7594b7 , 0x8ff6e2fb , 0xf2122b64 , 0x8888b812 , 0x900df01c ,
129
+ 0x4fad5ea0 , 0x688fc31c , 0xd1cff191 , 0xb3a8c1ad , 0x2f2f2218 , 0xbe0e1777 ,
130
+ 0xea752dfe , 0x8b021fa1 , 0xe5a0cc0f , 0xb56f74e8 , 0x18acf3d6 , 0xce89e299 ,
131
+ 0xb4a84fe0 , 0xfd13e0b7 , 0x7cc43b81 , 0xd2ada8d9 , 0x165fa266 , 0x80957705 ,
132
+ 0x93cc7314 , 0x211a1477 , 0xe6ad2065 , 0x77b5fa86 , 0xc75442f5 , 0xfb9d35cf ,
133
+ 0xebcdaf0c , 0x7b3e89a0 , 0xd6411bd3 , 0xae1e7e49 , 0x00250e2d , 0x2071b35e ,
134
+ 0x226800bb , 0x57b8e0af , 0x2464369b , 0xf009b91e , 0x5563911d , 0x59dfa6aa ,
135
+ 0x78c14389 , 0xd95a537f , 0x207d5ba2 , 0x02e5b9c5 , 0x83260376 , 0x6295cfa9 ,
136
+ 0x11c81968 , 0x4e734a41 , 0xb3472dca , 0x7b14a94a , 0x1b510052 , 0x9a532915 ,
137
+ 0xd60f573f , 0xbc9bc6e4 , 0x2b60a476 , 0x81e67400 , 0x08ba6fb5 , 0x571be91f ,
138
+ 0xf296ec6b , 0x2a0dd915 , 0xb6636521 , 0xe7b9f9b6 , 0xff34052e , 0xc5855664 ,
139
+ 0x53b02d5d , 0xa99f8fa1 , 0x08ba4799 , 0x6e85076a ,
140
+
141
+ 0x4b7a70e9 , 0xb5b32944 , 0xdb75092e , 0xc4192623 , 0xad6ea6b0 , 0x49a7df7d ,
142
+ 0x9cee60b8 , 0x8fedb266 , 0xecaa8c71 , 0x699a17ff , 0x5664526c , 0xc2b19ee1 ,
143
+ 0x193602a5 , 0x75094c29 , 0xa0591340 , 0xe4183a3e , 0x3f54989a , 0x5b429d65 ,
144
+ 0x6b8fe4d6 , 0x99f73fd6 , 0xa1d29c07 , 0xefe830f5 , 0x4d2d38e6 , 0xf0255dc1 ,
145
+ 0x4cdd2086 , 0x8470eb26 , 0x6382e9c6 , 0x021ecc5e , 0x09686b3f , 0x3ebaefc9 ,
146
+ 0x3c971814 , 0x6b6a70a1 , 0x687f3584 , 0x52a0e286 , 0xb79c5305 , 0xaa500737 ,
147
+ 0x3e07841c , 0x7fdeae5c , 0x8e7d44ec , 0x5716f2b8 , 0xb03ada37 , 0xf0500c0d ,
148
+ 0xf01c1f04 , 0x0200b3ff , 0xae0cf51a , 0x3cb574b2 , 0x25837a58 , 0xdc0921bd ,
149
+ 0xd19113f9 , 0x7ca92ff6 , 0x94324773 , 0x22f54701 , 0x3ae5e581 , 0x37c2dadc ,
150
+ 0xc8b57634 , 0x9af3dda7 , 0xa9446146 , 0x0fd0030e , 0xecc8c73e , 0xa4751e41 ,
151
+ 0xe238cd99 , 0x3bea0e2f , 0x3280bba1 , 0x183eb331 , 0x4e548b38 , 0x4f6db908 ,
152
+ 0x6f420d03 , 0xf60a04bf , 0x2cb81290 , 0x24977c79 , 0x5679b072 , 0xbcaf89af ,
153
+ 0xde9a771f , 0xd9930810 , 0xb38bae12 , 0xdccf3f2e , 0x5512721f , 0x2e6b7124 ,
154
+ 0x501adde6 , 0x9f84cd87 , 0x7a584718 , 0x7408da17 , 0xbc9f9abc , 0xe94b7d8c ,
155
+ 0xec7aec3a , 0xdb851dfa , 0x63094366 , 0xc464c3d2 , 0xef1c1847 , 0x3215d908 ,
156
+ 0xdd433b37 , 0x24c2ba16 , 0x12a14d43 , 0x2a65c451 , 0x50940002 , 0x133ae4dd ,
157
+ 0x71dff89e , 0x10314e55 , 0x81ac77d6 , 0x5f11199b , 0x043556f1 , 0xd7a3c76b ,
158
+ 0x3c11183b , 0x5924a509 , 0xf28fe6ed , 0x97f1fbfa , 0x9ebabf2c , 0x1e153c6e ,
159
+ 0x86e34570 , 0xeae96fb1 , 0x860e5e0a , 0x5a3e2ab3 , 0x771fe71c , 0x4e3d06fa ,
160
+ 0x2965dcb9 , 0x99e71d0f , 0x803e89d6 , 0x5266c825 , 0x2e4cc978 , 0x9c10b36a ,
161
+ 0xc6150eba , 0x94e2ea78 , 0xa5fc3c53 , 0x1e0a2df4 , 0xf2f74ea7 , 0x361d2b3d ,
162
+ 0x1939260f , 0x19c27960 , 0x5223a708 , 0xf71312b6 , 0xebadfe6e , 0xeac31f66 ,
163
+ 0xe3bc4595 , 0xa67bc883 , 0xb17f37d1 , 0x018cff28 , 0xc332ddef , 0xbe6c5aa5 ,
164
+ 0x65582185 , 0x68ab9802 , 0xeecea50f , 0xdb2f953b , 0x2aef7dad , 0x5b6e2f84 ,
165
+ 0x1521b628 , 0x29076170 , 0xecdd4775 , 0x619f1510 , 0x13cca830 , 0xeb61bd96 ,
166
+ 0x0334fe1e , 0xaa0363cf , 0xb5735c90 , 0x4c70a239 , 0xd59e9e0b , 0xcbaade14 ,
167
+ 0xeecc86bc , 0x60622ca7 , 0x9cab5cab , 0xb2f3846e , 0x648b1eaf , 0x19bdf0ca ,
168
+ 0xa02369b9 , 0x655abb50 , 0x40685a32 , 0x3c2ab4b3 , 0x319ee9d5 , 0xc021b8f7 ,
169
+ 0x9b540b19 , 0x875fa099 , 0x95f7997e , 0x623d7da8 , 0xf837889a , 0x97e32d77 ,
170
+ 0x11ed935f , 0x16681281 , 0x0e358829 , 0xc7e61fd6 , 0x96dedfa1 , 0x7858ba99 ,
171
+ 0x57f584a5 , 0x1b227263 , 0x9b83c3ff , 0x1ac24696 , 0xcdb30aeb , 0x532e3054 ,
172
+ 0x8fd948e4 , 0x6dbc3128 , 0x58ebf2ef , 0x34c6ffea , 0xfe28ed61 , 0xee7c3c73 ,
173
+ 0x5d4a14d9 , 0xe864b7e3 , 0x42105d14 , 0x203e13e0 , 0x45eee2b6 , 0xa3aaabea ,
174
+ 0xdb6c4f15 , 0xfacb4fd0 , 0xc742f442 , 0xef6abbb5 , 0x654f3b1d , 0x41cd2105 ,
175
+ 0xd81e799e , 0x86854dc7 , 0xe44b476a , 0x3d816250 , 0xcf62a1f2 , 0x5b8d2646 ,
176
+ 0xfc8883a0 , 0xc1c7b6a3 , 0x7f1524c3 , 0x69cb7492 , 0x47848a0b , 0x5692b285 ,
177
+ 0x095bbf00 , 0xad19489d , 0x1462b174 , 0x23820e00 , 0x58428d2a , 0x0c55f5ea ,
178
+ 0x1dadf43e , 0x233f7061 , 0x3372f092 , 0x8d937e41 , 0xd65fecf1 , 0x6c223bdb ,
179
+ 0x7cde3759 , 0xcbee7460 , 0x4085f2a7 , 0xce77326e , 0xa6078084 , 0x19f8509e ,
180
+ 0xe8efd855 , 0x61d99735 , 0xa969a7aa , 0xc50c06c2 , 0x5a04abfc , 0x800bcadc ,
181
+ 0x9e447a2e , 0xc3453484 , 0xfdd56705 , 0x0e1e9ec9 , 0xdb73dbd3 , 0x105588cd ,
182
+ 0x675fda79 , 0xe3674340 , 0xc5c43465 , 0x713e38d8 , 0x3d28f89e , 0xf16dff20 ,
183
+ 0x153e21e7 , 0x8fb03d4a , 0xe6e39f2b , 0xdb83adf7 ,
184
+
185
+ 0xe93d5a68 , 0x948140f7 , 0xf64c261c , 0x94692934 , 0x411520f7 , 0x7602d4f7 ,
186
+ 0xbcf46b2e , 0xd4a20068 , 0xd4082471 , 0x3320f46a , 0x43b7d4b7 , 0x500061af ,
187
+ 0x1e39f62e , 0x97244546 , 0x14214f74 , 0xbf8b8840 , 0x4d95fc1d , 0x96b591af ,
188
+ 0x70f4ddd3 , 0x66a02f45 , 0xbfbc09ec , 0x03bd9785 , 0x7fac6dd0 , 0x31cb8504 ,
189
+ 0x96eb27b3 , 0x55fd3941 , 0xda2547e6 , 0xabca0a9a , 0x28507825 , 0x530429f4 ,
190
+ 0x0a2c86da , 0xe9b66dfb , 0x68dc1462 , 0xd7486900 , 0x680ec0a4 , 0x27a18dee ,
191
+ 0x4f3ffea2 , 0xe887ad8c , 0xb58ce006 , 0x7af4d6b6 , 0xaace1e7c , 0xd3375fec ,
192
+ 0xce78a399 , 0x406b2a42 , 0x20fe9e35 , 0xd9f385b9 , 0xee39d7ab , 0x3b124e8b ,
193
+ 0x1dc9faf7 , 0x4b6d1856 , 0x26a36631 , 0xeae397b2 , 0x3a6efa74 , 0xdd5b4332 ,
194
+ 0x6841e7f7 , 0xca7820fb , 0xfb0af54e , 0xd8feb397 , 0x454056ac , 0xba489527 ,
195
+ 0x55533a3a , 0x20838d87 , 0xfe6ba9b7 , 0xd096954b , 0x55a867bc , 0xa1159a58 ,
196
+ 0xcca92963 , 0x99e1db33 , 0xa62a4a56 , 0x3f3125f9 , 0x5ef47e1c , 0x9029317c ,
197
+ 0xfdf8e802 , 0x04272f70 , 0x80bb155c , 0x05282ce3 , 0x95c11548 , 0xe4c66d22 ,
198
+ 0x48c1133f , 0xc70f86dc , 0x07f9c9ee , 0x41041f0f , 0x404779a4 , 0x5d886e17 ,
199
+ 0x325f51eb , 0xd59bc0d1 , 0xf2bcc18f , 0x41113564 , 0x257b7834 , 0x602a9c60 ,
200
+ 0xdff8e8a3 , 0x1f636c1b , 0x0e12b4c2 , 0x02e1329e , 0xaf664fd1 , 0xcad18115 ,
201
+ 0x6b2395e0 , 0x333e92e1 , 0x3b240b62 , 0xeebeb922 , 0x85b2a20e , 0xe6ba0d99 ,
202
+ 0xde720c8c , 0x2da2f728 , 0xd0127845 , 0x95b794fd , 0x647d0862 , 0xe7ccf5f0 ,
203
+ 0x5449a36f , 0x877d48fa , 0xc39dfd27 , 0xf33e8d1e , 0x0a476341 , 0x992eff74 ,
204
+ 0x3a6f6eab , 0xf4f8fd37 , 0xa812dc60 , 0xa1ebddf8 , 0x991be14c , 0xdb6e6b0d ,
205
+ 0xc67b5510 , 0x6d672c37 , 0x2765d43b , 0xdcd0e804 , 0xf1290dc7 , 0xcc00ffa3 ,
206
+ 0xb5390f92 , 0x690fed0b , 0x667b9ffb , 0xcedb7d9c , 0xa091cf0b , 0xd9155ea3 ,
207
+ 0xbb132f88 , 0x515bad24 , 0x7b9479bf , 0x763bd6eb , 0x37392eb3 , 0xcc115979 ,
208
+ 0x8026e297 , 0xf42e312d , 0x6842ada7 , 0xc66a2b3b , 0x12754ccc , 0x782ef11c ,
209
+ 0x6a124237 , 0xb79251e7 , 0x06a1bbe6 , 0x4bfb6350 , 0x1a6b1018 , 0x11caedfa ,
210
+ 0x3d25bdd8 , 0xe2e1c3c9 , 0x44421659 , 0x0a121386 , 0xd90cec6e , 0xd5abea2a ,
211
+ 0x64af674e , 0xda86a85f , 0xbebfe988 , 0x64e4c3fe , 0x9dbc8057 , 0xf0f7c086 ,
212
+ 0x60787bf8 , 0x6003604d , 0xd1fd8346 , 0xf6381fb0 , 0x7745ae04 , 0xd736fccc ,
213
+ 0x83426b33 , 0xf01eab71 , 0xb0804187 , 0x3c005e5f , 0x77a057be , 0xbde8ae24 ,
214
+ 0x55464299 , 0xbf582e61 , 0x4e58f48f , 0xf2ddfda2 , 0xf474ef38 , 0x8789bdc2 ,
215
+ 0x5366f9c3 , 0xc8b38e74 , 0xb475f255 , 0x46fcd9b9 , 0x7aeb2661 , 0x8b1ddf84 ,
216
+ 0x846a0e79 , 0x915f95e2 , 0x466e598e , 0x20b45770 , 0x8cd55591 , 0xc902de4c ,
217
+ 0xb90bace1 , 0xbb8205d0 , 0x11a86248 , 0x7574a99e , 0xb77f19b6 , 0xe0a9dc09 ,
218
+ 0x662d09a1 , 0xc4324633 , 0xe85a1f02 , 0x09f0be8c , 0x4a99a025 , 0x1d6efe10 ,
219
+ 0x1ab93d1d , 0x0ba5a4df , 0xa186f20f , 0x2868f169 , 0xdcb7da83 , 0x573906fe ,
220
+ 0xa1e2ce9b , 0x4fcd7f52 , 0x50115e01 , 0xa70683fa , 0xa002b5c4 , 0x0de6d027 ,
221
+ 0x9af88c27 , 0x773f8641 , 0xc3604c06 , 0x61a806b5 , 0xf0177a28 , 0xc0f586e0 ,
222
+ 0x006058aa , 0x30dc7d62 , 0x11e69ed7 , 0x2338ea63 , 0x53c2dd94 , 0xc2c21634 ,
223
+ 0xbbcbee56 , 0x90bcb6de , 0xebfc7da1 , 0xce591d76 , 0x6f05e409 , 0x4b7c0188 ,
224
+ 0x39720a3d , 0x7c927c24 , 0x86e3725f , 0x724d9db9 , 0x1ac15bb4 , 0xd39eb8fc ,
225
+ 0xed545578 , 0x08fca5b5 , 0xd83d7cd3 , 0x4dad0fc4 , 0x1e50ef5e , 0xb161e6f8 ,
226
+ 0xa28514d9 , 0x6c51133c , 0x6fd5c7e7 , 0x56e14ec4 , 0x362abfce , 0xddc6c837 ,
227
+ 0xd79a3234 , 0x92638212 , 0x670efa8e , 0x406000e0 ,
91
228
92
- private S = [
93
- Int32 [
94
- 0xd1310ba6 , 0x98dfb5ac , 0x2ffd72db , 0xd01adfb7 , 0xb8e1afed , 0x6a267e96 ,
95
- 0xba7c9045 , 0xf12c7f99 , 0x24a19947 , 0xb3916cf7 , 0x0801f2e2 , 0x858efc16 ,
96
- 0x636920d8 , 0x71574e69 , 0xa458fea3 , 0xf4933d7e , 0x0d95748f , 0x728eb658 ,
97
- 0x718bcd58 , 0x82154aee , 0x7b54a41d , 0xc25a59b5 , 0x9c30d539 , 0x2af26013 ,
98
- 0xc5d1b023 , 0x286085f0 , 0xca417918 , 0xb8db38ef , 0x8e79dcb0 , 0x603a180e ,
99
- 0x6c9e0e8b , 0xb01e8a3e , 0xd71577c1 , 0xbd314b27 , 0x78af2fda , 0x55605c60 ,
100
- 0xe65525f3 , 0xaa55ab94 , 0x57489862 , 0x63e81440 , 0x55ca396a , 0x2aab10b6 ,
101
- 0xb4cc5c34 , 0x1141e8ce , 0xa15486af , 0x7c72e993 , 0xb3ee1411 , 0x636fbc2a ,
102
- 0x2ba9c55d , 0x741831f6 , 0xce5c3e16 , 0x9b87931e , 0xafd6ba33 , 0x6c24cf5c ,
103
- 0x7a325381 , 0x28958677 , 0x3b8f4898 , 0x6b4bb9af , 0xc4bfe81b , 0x66282193 ,
104
- 0x61d809cc , 0xfb21a991 , 0x487cac60 , 0x5dec8032 , 0xef845d5d , 0xe98575b1 ,
105
- 0xdc262302 , 0xeb651b88 , 0x23893e81 , 0xd396acc5 , 0x0f6d6ff3 , 0x83f44239 ,
106
- 0x2e0b4482 , 0xa4842004 , 0x69c8f04a , 0x9e1f9b5e , 0x21c66842 , 0xf6e96c9a ,
107
- 0x670c9c61 , 0xabd388f0 , 0x6a51a0d2 , 0xd8542f68 , 0x960fa728 , 0xab5133a3 ,
108
- 0x6eef0b6c , 0x137a3be4 , 0xba3bf050 , 0x7efb2a98 , 0xa1f1651d , 0x39af0176 ,
109
- 0x66ca593e , 0x82430e88 , 0x8cee8619 , 0x456f9fb4 , 0x7d84a5c3 , 0x3b8b5ebe ,
110
- 0xe06f75d8 , 0x85c12073 , 0x401a449f , 0x56c16aa6 , 0x4ed3aa62 , 0x363f7706 ,
111
- 0x1bfedf72 , 0x429b023d , 0x37d0d724 , 0xd00a1248 , 0xdb0fead3 , 0x49f1c09b ,
112
- 0x075372c9 , 0x80991b7b , 0x25d479d8 , 0xf6e8def7 , 0xe3fe501a , 0xb6794c3b ,
113
- 0x976ce0bd , 0x04c006ba , 0xc1a94fb6 , 0x409f60c4 , 0x5e5c9ec2 , 0x196a2463 ,
114
- 0x68fb6faf , 0x3e6c53b5 , 0x1339b2eb , 0x3b52ec6f , 0x6dfc511f , 0x9b30952c ,
115
- 0xcc814544 , 0xaf5ebd09 , 0xbee3d004 , 0xde334afd , 0x660f2807 , 0x192e4bb3 ,
116
- 0xc0cba857 , 0x45c8740f , 0xd20b5f39 , 0xb9d3fbdb , 0x5579c0bd , 0x1a60320a ,
117
- 0xd6a100c6 , 0x402c7279 , 0x679f25fe , 0xfb1fa3cc , 0x8ea5e9f8 , 0xdb3222f8 ,
118
- 0x3c7516df , 0xfd616b15 , 0x2f501ec8 , 0xad0552ab , 0x323db5fa , 0xfd238760 ,
119
- 0x53317b48 , 0x3e00df82 , 0x9e5c57bb , 0xca6f8ca0 , 0x1a87562e , 0xdf1769db ,
120
- 0xd542a8f6 , 0x287effc3 , 0xac6732c6 , 0x8c4f5573 , 0x695b27b0 , 0xbbca58c8 ,
121
- 0xe1ffa35d , 0xb8f011a0 , 0x10fa3d98 , 0xfd2183b8 , 0x4afcb56c , 0x2dd1d35b ,
122
- 0x9a53e479 , 0xb6f84565 , 0xd28e49bc , 0x4bfb9790 , 0xe1ddf2da , 0xa4cb7e33 ,
123
- 0x62fb1341 , 0xcee4c6e8 , 0xef20cada , 0x36774c01 , 0xd07e9efe , 0x2bf11fb4 ,
124
- 0x95dbda4d , 0xae909198 , 0xeaad8e71 , 0x6b93d5a0 , 0xd08ed1d0 , 0xafc725e0 ,
125
- 0x8e3c5b2f , 0x8e7594b7 , 0x8ff6e2fb , 0xf2122b64 , 0x8888b812 , 0x900df01c ,
126
- 0x4fad5ea0 , 0x688fc31c , 0xd1cff191 , 0xb3a8c1ad , 0x2f2f2218 , 0xbe0e1777 ,
127
- 0xea752dfe , 0x8b021fa1 , 0xe5a0cc0f , 0xb56f74e8 , 0x18acf3d6 , 0xce89e299 ,
128
- 0xb4a84fe0 , 0xfd13e0b7 , 0x7cc43b81 , 0xd2ada8d9 , 0x165fa266 , 0x80957705 ,
129
- 0x93cc7314 , 0x211a1477 , 0xe6ad2065 , 0x77b5fa86 , 0xc75442f5 , 0xfb9d35cf ,
130
- 0xebcdaf0c , 0x7b3e89a0 , 0xd6411bd3 , 0xae1e7e49 , 0x00250e2d , 0x2071b35e ,
131
- 0x226800bb , 0x57b8e0af , 0x2464369b , 0xf009b91e , 0x5563911d , 0x59dfa6aa ,
132
- 0x78c14389 , 0xd95a537f , 0x207d5ba2 , 0x02e5b9c5 , 0x83260376 , 0x6295cfa9 ,
133
- 0x11c81968 , 0x4e734a41 , 0xb3472dca , 0x7b14a94a , 0x1b510052 , 0x9a532915 ,
134
- 0xd60f573f , 0xbc9bc6e4 , 0x2b60a476 , 0x81e67400 , 0x08ba6fb5 , 0x571be91f ,
135
- 0xf296ec6b , 0x2a0dd915 , 0xb6636521 , 0xe7b9f9b6 , 0xff34052e , 0xc5855664 ,
136
- 0x53b02d5d , 0xa99f8fa1 , 0x08ba4799 , 0x6e85076a ,
137
- ],
138
- Int32 [
139
- 0x4b7a70e9 , 0xb5b32944 , 0xdb75092e , 0xc4192623 , 0xad6ea6b0 , 0x49a7df7d ,
140
- 0x9cee60b8 , 0x8fedb266 , 0xecaa8c71 , 0x699a17ff , 0x5664526c , 0xc2b19ee1 ,
141
- 0x193602a5 , 0x75094c29 , 0xa0591340 , 0xe4183a3e , 0x3f54989a , 0x5b429d65 ,
142
- 0x6b8fe4d6 , 0x99f73fd6 , 0xa1d29c07 , 0xefe830f5 , 0x4d2d38e6 , 0xf0255dc1 ,
143
- 0x4cdd2086 , 0x8470eb26 , 0x6382e9c6 , 0x021ecc5e , 0x09686b3f , 0x3ebaefc9 ,
144
- 0x3c971814 , 0x6b6a70a1 , 0x687f3584 , 0x52a0e286 , 0xb79c5305 , 0xaa500737 ,
145
- 0x3e07841c , 0x7fdeae5c , 0x8e7d44ec , 0x5716f2b8 , 0xb03ada37 , 0xf0500c0d ,
146
- 0xf01c1f04 , 0x0200b3ff , 0xae0cf51a , 0x3cb574b2 , 0x25837a58 , 0xdc0921bd ,
147
- 0xd19113f9 , 0x7ca92ff6 , 0x94324773 , 0x22f54701 , 0x3ae5e581 , 0x37c2dadc ,
148
- 0xc8b57634 , 0x9af3dda7 , 0xa9446146 , 0x0fd0030e , 0xecc8c73e , 0xa4751e41 ,
149
- 0xe238cd99 , 0x3bea0e2f , 0x3280bba1 , 0x183eb331 , 0x4e548b38 , 0x4f6db908 ,
150
- 0x6f420d03 , 0xf60a04bf , 0x2cb81290 , 0x24977c79 , 0x5679b072 , 0xbcaf89af ,
151
- 0xde9a771f , 0xd9930810 , 0xb38bae12 , 0xdccf3f2e , 0x5512721f , 0x2e6b7124 ,
152
- 0x501adde6 , 0x9f84cd87 , 0x7a584718 , 0x7408da17 , 0xbc9f9abc , 0xe94b7d8c ,
153
- 0xec7aec3a , 0xdb851dfa , 0x63094366 , 0xc464c3d2 , 0xef1c1847 , 0x3215d908 ,
154
- 0xdd433b37 , 0x24c2ba16 , 0x12a14d43 , 0x2a65c451 , 0x50940002 , 0x133ae4dd ,
155
- 0x71dff89e , 0x10314e55 , 0x81ac77d6 , 0x5f11199b , 0x043556f1 , 0xd7a3c76b ,
156
- 0x3c11183b , 0x5924a509 , 0xf28fe6ed , 0x97f1fbfa , 0x9ebabf2c , 0x1e153c6e ,
157
- 0x86e34570 , 0xeae96fb1 , 0x860e5e0a , 0x5a3e2ab3 , 0x771fe71c , 0x4e3d06fa ,
158
- 0x2965dcb9 , 0x99e71d0f , 0x803e89d6 , 0x5266c825 , 0x2e4cc978 , 0x9c10b36a ,
159
- 0xc6150eba , 0x94e2ea78 , 0xa5fc3c53 , 0x1e0a2df4 , 0xf2f74ea7 , 0x361d2b3d ,
160
- 0x1939260f , 0x19c27960 , 0x5223a708 , 0xf71312b6 , 0xebadfe6e , 0xeac31f66 ,
161
- 0xe3bc4595 , 0xa67bc883 , 0xb17f37d1 , 0x018cff28 , 0xc332ddef , 0xbe6c5aa5 ,
162
- 0x65582185 , 0x68ab9802 , 0xeecea50f , 0xdb2f953b , 0x2aef7dad , 0x5b6e2f84 ,
163
- 0x1521b628 , 0x29076170 , 0xecdd4775 , 0x619f1510 , 0x13cca830 , 0xeb61bd96 ,
164
- 0x0334fe1e , 0xaa0363cf , 0xb5735c90 , 0x4c70a239 , 0xd59e9e0b , 0xcbaade14 ,
165
- 0xeecc86bc , 0x60622ca7 , 0x9cab5cab , 0xb2f3846e , 0x648b1eaf , 0x19bdf0ca ,
166
- 0xa02369b9 , 0x655abb50 , 0x40685a32 , 0x3c2ab4b3 , 0x319ee9d5 , 0xc021b8f7 ,
167
- 0x9b540b19 , 0x875fa099 , 0x95f7997e , 0x623d7da8 , 0xf837889a , 0x97e32d77 ,
168
- 0x11ed935f , 0x16681281 , 0x0e358829 , 0xc7e61fd6 , 0x96dedfa1 , 0x7858ba99 ,
169
- 0x57f584a5 , 0x1b227263 , 0x9b83c3ff , 0x1ac24696 , 0xcdb30aeb , 0x532e3054 ,
170
- 0x8fd948e4 , 0x6dbc3128 , 0x58ebf2ef , 0x34c6ffea , 0xfe28ed61 , 0xee7c3c73 ,
171
- 0x5d4a14d9 , 0xe864b7e3 , 0x42105d14 , 0x203e13e0 , 0x45eee2b6 , 0xa3aaabea ,
172
- 0xdb6c4f15 , 0xfacb4fd0 , 0xc742f442 , 0xef6abbb5 , 0x654f3b1d , 0x41cd2105 ,
173
- 0xd81e799e , 0x86854dc7 , 0xe44b476a , 0x3d816250 , 0xcf62a1f2 , 0x5b8d2646 ,
174
- 0xfc8883a0 , 0xc1c7b6a3 , 0x7f1524c3 , 0x69cb7492 , 0x47848a0b , 0x5692b285 ,
175
- 0x095bbf00 , 0xad19489d , 0x1462b174 , 0x23820e00 , 0x58428d2a , 0x0c55f5ea ,
176
- 0x1dadf43e , 0x233f7061 , 0x3372f092 , 0x8d937e41 , 0xd65fecf1 , 0x6c223bdb ,
177
- 0x7cde3759 , 0xcbee7460 , 0x4085f2a7 , 0xce77326e , 0xa6078084 , 0x19f8509e ,
178
- 0xe8efd855 , 0x61d99735 , 0xa969a7aa , 0xc50c06c2 , 0x5a04abfc , 0x800bcadc ,
179
- 0x9e447a2e , 0xc3453484 , 0xfdd56705 , 0x0e1e9ec9 , 0xdb73dbd3 , 0x105588cd ,
180
- 0x675fda79 , 0xe3674340 , 0xc5c43465 , 0x713e38d8 , 0x3d28f89e , 0xf16dff20 ,
181
- 0x153e21e7 , 0x8fb03d4a , 0xe6e39f2b , 0xdb83adf7 ,
182
- ],
183
- Int32 [
184
- 0xe93d5a68 , 0x948140f7 , 0xf64c261c , 0x94692934 , 0x411520f7 , 0x7602d4f7 ,
185
- 0xbcf46b2e , 0xd4a20068 , 0xd4082471 , 0x3320f46a , 0x43b7d4b7 , 0x500061af ,
186
- 0x1e39f62e , 0x97244546 , 0x14214f74 , 0xbf8b8840 , 0x4d95fc1d , 0x96b591af ,
187
- 0x70f4ddd3 , 0x66a02f45 , 0xbfbc09ec , 0x03bd9785 , 0x7fac6dd0 , 0x31cb8504 ,
188
- 0x96eb27b3 , 0x55fd3941 , 0xda2547e6 , 0xabca0a9a , 0x28507825 , 0x530429f4 ,
189
- 0x0a2c86da , 0xe9b66dfb , 0x68dc1462 , 0xd7486900 , 0x680ec0a4 , 0x27a18dee ,
190
- 0x4f3ffea2 , 0xe887ad8c , 0xb58ce006 , 0x7af4d6b6 , 0xaace1e7c , 0xd3375fec ,
191
- 0xce78a399 , 0x406b2a42 , 0x20fe9e35 , 0xd9f385b9 , 0xee39d7ab , 0x3b124e8b ,
192
- 0x1dc9faf7 , 0x4b6d1856 , 0x26a36631 , 0xeae397b2 , 0x3a6efa74 , 0xdd5b4332 ,
193
- 0x6841e7f7 , 0xca7820fb , 0xfb0af54e , 0xd8feb397 , 0x454056ac , 0xba489527 ,
194
- 0x55533a3a , 0x20838d87 , 0xfe6ba9b7 , 0xd096954b , 0x55a867bc , 0xa1159a58 ,
195
- 0xcca92963 , 0x99e1db33 , 0xa62a4a56 , 0x3f3125f9 , 0x5ef47e1c , 0x9029317c ,
196
- 0xfdf8e802 , 0x04272f70 , 0x80bb155c , 0x05282ce3 , 0x95c11548 , 0xe4c66d22 ,
197
- 0x48c1133f , 0xc70f86dc , 0x07f9c9ee , 0x41041f0f , 0x404779a4 , 0x5d886e17 ,
198
- 0x325f51eb , 0xd59bc0d1 , 0xf2bcc18f , 0x41113564 , 0x257b7834 , 0x602a9c60 ,
199
- 0xdff8e8a3 , 0x1f636c1b , 0x0e12b4c2 , 0x02e1329e , 0xaf664fd1 , 0xcad18115 ,
200
- 0x6b2395e0 , 0x333e92e1 , 0x3b240b62 , 0xeebeb922 , 0x85b2a20e , 0xe6ba0d99 ,
201
- 0xde720c8c , 0x2da2f728 , 0xd0127845 , 0x95b794fd , 0x647d0862 , 0xe7ccf5f0 ,
202
- 0x5449a36f , 0x877d48fa , 0xc39dfd27 , 0xf33e8d1e , 0x0a476341 , 0x992eff74 ,
203
- 0x3a6f6eab , 0xf4f8fd37 , 0xa812dc60 , 0xa1ebddf8 , 0x991be14c , 0xdb6e6b0d ,
204
- 0xc67b5510 , 0x6d672c37 , 0x2765d43b , 0xdcd0e804 , 0xf1290dc7 , 0xcc00ffa3 ,
205
- 0xb5390f92 , 0x690fed0b , 0x667b9ffb , 0xcedb7d9c , 0xa091cf0b , 0xd9155ea3 ,
206
- 0xbb132f88 , 0x515bad24 , 0x7b9479bf , 0x763bd6eb , 0x37392eb3 , 0xcc115979 ,
207
- 0x8026e297 , 0xf42e312d , 0x6842ada7 , 0xc66a2b3b , 0x12754ccc , 0x782ef11c ,
208
- 0x6a124237 , 0xb79251e7 , 0x06a1bbe6 , 0x4bfb6350 , 0x1a6b1018 , 0x11caedfa ,
209
- 0x3d25bdd8 , 0xe2e1c3c9 , 0x44421659 , 0x0a121386 , 0xd90cec6e , 0xd5abea2a ,
210
- 0x64af674e , 0xda86a85f , 0xbebfe988 , 0x64e4c3fe , 0x9dbc8057 , 0xf0f7c086 ,
211
- 0x60787bf8 , 0x6003604d , 0xd1fd8346 , 0xf6381fb0 , 0x7745ae04 , 0xd736fccc ,
212
- 0x83426b33 , 0xf01eab71 , 0xb0804187 , 0x3c005e5f , 0x77a057be , 0xbde8ae24 ,
213
- 0x55464299 , 0xbf582e61 , 0x4e58f48f , 0xf2ddfda2 , 0xf474ef38 , 0x8789bdc2 ,
214
- 0x5366f9c3 , 0xc8b38e74 , 0xb475f255 , 0x46fcd9b9 , 0x7aeb2661 , 0x8b1ddf84 ,
215
- 0x846a0e79 , 0x915f95e2 , 0x466e598e , 0x20b45770 , 0x8cd55591 , 0xc902de4c ,
216
- 0xb90bace1 , 0xbb8205d0 , 0x11a86248 , 0x7574a99e , 0xb77f19b6 , 0xe0a9dc09 ,
217
- 0x662d09a1 , 0xc4324633 , 0xe85a1f02 , 0x09f0be8c , 0x4a99a025 , 0x1d6efe10 ,
218
- 0x1ab93d1d , 0x0ba5a4df , 0xa186f20f , 0x2868f169 , 0xdcb7da83 , 0x573906fe ,
219
- 0xa1e2ce9b , 0x4fcd7f52 , 0x50115e01 , 0xa70683fa , 0xa002b5c4 , 0x0de6d027 ,
220
- 0x9af88c27 , 0x773f8641 , 0xc3604c06 , 0x61a806b5 , 0xf0177a28 , 0xc0f586e0 ,
221
- 0x006058aa , 0x30dc7d62 , 0x11e69ed7 , 0x2338ea63 , 0x53c2dd94 , 0xc2c21634 ,
222
- 0xbbcbee56 , 0x90bcb6de , 0xebfc7da1 , 0xce591d76 , 0x6f05e409 , 0x4b7c0188 ,
223
- 0x39720a3d , 0x7c927c24 , 0x86e3725f , 0x724d9db9 , 0x1ac15bb4 , 0xd39eb8fc ,
224
- 0xed545578 , 0x08fca5b5 , 0xd83d7cd3 , 0x4dad0fc4 , 0x1e50ef5e , 0xb161e6f8 ,
225
- 0xa28514d9 , 0x6c51133c , 0x6fd5c7e7 , 0x56e14ec4 , 0x362abfce , 0xddc6c837 ,
226
- 0xd79a3234 , 0x92638212 , 0x670efa8e , 0x406000e0 ,
227
- ],
228
- Int32 [
229
- 0x3a39ce37 , 0xd3faf5cf , 0xabc27737 , 0x5ac52d1b , 0x5cb0679e , 0x4fa33742 ,
230
- 0xd3822740 , 0x99bc9bbe , 0xd5118e9d , 0xbf0f7315 , 0xd62d1c7e , 0xc700c47b ,
231
- 0xb78c1b6b , 0x21a19045 , 0xb26eb1be , 0x6a366eb4 , 0x5748ab2f , 0xbc946e79 ,
232
- 0xc6a376d2 , 0x6549c2c8 , 0x530ff8ee , 0x468dde7d , 0xd5730a1d , 0x4cd04dc6 ,
233
- 0x2939bbdb , 0xa9ba4650 , 0xac9526e8 , 0xbe5ee304 , 0xa1fad5f0 , 0x6a2d519a ,
234
- 0x63ef8ce2 , 0x9a86ee22 , 0xc089c2b8 , 0x43242ef6 , 0xa51e03aa , 0x9cf2d0a4 ,
235
- 0x83c061ba , 0x9be96a4d , 0x8fe51550 , 0xba645bd6 , 0x2826a2f9 , 0xa73a3ae1 ,
236
- 0x4ba99586 , 0xef5562e9 , 0xc72fefd3 , 0xf752f7da , 0x3f046f69 , 0x77fa0a59 ,
237
- 0x80e4a915 , 0x87b08601 , 0x9b09e6ad , 0x3b3ee593 , 0xe990fd5a , 0x9e34d797 ,
238
- 0x2cf0b7d9 , 0x022b8b51 , 0x96d5ac3a , 0x017da67d , 0xd1cf3ed6 , 0x7c7d2d28 ,
239
- 0x1f9f25cf , 0xadf2b89b , 0x5ad6b472 , 0x5a88f54c , 0xe029ac71 , 0xe019a5e6 ,
240
- 0x47b0acfd , 0xed93fa9b , 0xe8d3c48d , 0x283b57cc , 0xf8d56629 , 0x79132e28 ,
241
- 0x785f0191 , 0xed756055 , 0xf7960e44 , 0xe3d35e8c , 0x15056dd4 , 0x88f46dba ,
242
- 0x03a16125 , 0x0564f0bd , 0xc3eb9e15 , 0x3c9057a2 , 0x97271aec , 0xa93a072a ,
243
- 0x1b3f6d9b , 0x1e6321f5 , 0xf59c66fb , 0x26dcf319 , 0x7533d928 , 0xb155fdf5 ,
244
- 0x03563482 , 0x8aba3cbb , 0x28517711 , 0xc20ad9f8 , 0xabcc5167 , 0xccad925f ,
245
- 0x4de81751 , 0x3830dc8e , 0x379d5862 , 0x9320f991 , 0xea7a90c2 , 0xfb3e7bce ,
246
- 0x5121ce64 , 0x774fbe32 , 0xa8b6e37e , 0xc3293d46 , 0x48de5369 , 0x6413e680 ,
247
- 0xa2ae0810 , 0xdd6db224 , 0x69852dfd , 0x09072166 , 0xb39a460a , 0x6445c0dd ,
248
- 0x586cdecf , 0x1c20c8ae , 0x5bbef7dd , 0x1b588d40 , 0xccd2017f , 0x6bb4e3bb ,
249
- 0xdda26a7e , 0x3a59ff45 , 0x3e350a44 , 0xbcb4cdd5 , 0x72eacea8 , 0xfa6484bb ,
250
- 0x8d6612ae , 0xbf3c6f47 , 0xd29be463 , 0x542f5d9e , 0xaec2771b , 0xf64e6370 ,
251
- 0x740e0d8d , 0xe75b1357 , 0xf8721671 , 0xaf537d5d , 0x4040cb08 , 0x4eb4e2cc ,
252
- 0x34d2466a , 0x0115af84 , 0xe1b00428 , 0x95983a1d , 0x06b89fb4 , 0xce6ea048 ,
253
- 0x6f3f3b82 , 0x3520ab82 , 0x011a1d4b , 0x277227f8 , 0x611560b1 , 0xe7933fdc ,
254
- 0xbb3a792b , 0x344525bd , 0xa08839e1 , 0x51ce794b , 0x2f32c9b7 , 0xa01fbac9 ,
255
- 0xe01cc87e , 0xbcc7d1f6 , 0xcf0111c3 , 0xa1e8aac7 , 0x1a908749 , 0xd44fbd9a ,
256
- 0xd0dadecb , 0xd50ada38 , 0x0339c32a , 0xc6913667 , 0x8df9317c , 0xe0b12b4f ,
257
- 0xf79e59b7 , 0x43f5bb3a , 0xf2d519ff , 0x27d9459c , 0xbf97222c , 0x15e6fc2a ,
258
- 0x0f91fc71 , 0x9b941525 , 0xfae59361 , 0xceb69ceb , 0xc2a86459 , 0x12baa8d1 ,
259
- 0xb6c1075e , 0xe3056a0c , 0x10d25065 , 0xcb03a442 , 0xe0ec6e0e , 0x1698db3b ,
260
- 0x4c98a0be , 0x3278e964 , 0x9f1f9532 , 0xe0d392df , 0xd3a0342b , 0x8971f21e ,
261
- 0x1b0a7441 , 0x4ba3348c , 0xc5be7120 , 0xc37632d8 , 0xdf359f8d , 0x9b992f2e ,
262
- 0xe60b6f47 , 0x0fe3f11d , 0xe54cda54 , 0x1edad891 , 0xce6279cf , 0xcd3e7e6f ,
263
- 0x1618b166 , 0xfd2c1d05 , 0x848fd2c5 , 0xf6fb2299 , 0xf523f357 , 0xa6327623 ,
264
- 0x93a83531 , 0x56cccd02 , 0xacf08162 , 0x5a75ebb5 , 0x6e163697 , 0x88d273cc ,
265
- 0xde966292 , 0x81b949d0 , 0x4c50901b , 0x71c65614 , 0xe6c6c7bd , 0x327a140a ,
266
- 0x45e1d006 , 0xc3f27b9a , 0xc9aa53fd , 0x62a80f00 , 0xbb25bfe2 , 0x35bdd2f6 ,
267
- 0x71126905 , 0xb2040222 , 0xb6cbcf7c , 0xcd769c2b , 0x53113ec0 , 0x1640e3d3 ,
268
- 0x38abbd60 , 0x2547adf0 , 0xba38209c , 0xf746ce76 , 0x77afa1c5 , 0x20756060 ,
269
- 0x85cbfe4e , 0x8ae88dd8 , 0x7aaaf9b0 , 0x4cf9aa7e , 0x1948c25c , 0x02fb8a8c ,
270
- 0x01c36ae4 , 0xd6ebe1f9 , 0x90d4f869 , 0xa65cdea0 , 0x3f09252d , 0xc208e69f ,
271
- 0xb74e6132 , 0xce77e25b , 0x578fdfe3 , 0x3ac372e6 ,
272
- ],
273
- ]
229
+ 0x3a39ce37 , 0xd3faf5cf , 0xabc27737 , 0x5ac52d1b , 0x5cb0679e , 0x4fa33742 ,
230
+ 0xd3822740 , 0x99bc9bbe , 0xd5118e9d , 0xbf0f7315 , 0xd62d1c7e , 0xc700c47b ,
231
+ 0xb78c1b6b , 0x21a19045 , 0xb26eb1be , 0x6a366eb4 , 0x5748ab2f , 0xbc946e79 ,
232
+ 0xc6a376d2 , 0x6549c2c8 , 0x530ff8ee , 0x468dde7d , 0xd5730a1d , 0x4cd04dc6 ,
233
+ 0x2939bbdb , 0xa9ba4650 , 0xac9526e8 , 0xbe5ee304 , 0xa1fad5f0 , 0x6a2d519a ,
234
+ 0x63ef8ce2 , 0x9a86ee22 , 0xc089c2b8 , 0x43242ef6 , 0xa51e03aa , 0x9cf2d0a4 ,
235
+ 0x83c061ba , 0x9be96a4d , 0x8fe51550 , 0xba645bd6 , 0x2826a2f9 , 0xa73a3ae1 ,
236
+ 0x4ba99586 , 0xef5562e9 , 0xc72fefd3 , 0xf752f7da , 0x3f046f69 , 0x77fa0a59 ,
237
+ 0x80e4a915 , 0x87b08601 , 0x9b09e6ad , 0x3b3ee593 , 0xe990fd5a , 0x9e34d797 ,
238
+ 0x2cf0b7d9 , 0x022b8b51 , 0x96d5ac3a , 0x017da67d , 0xd1cf3ed6 , 0x7c7d2d28 ,
239
+ 0x1f9f25cf , 0xadf2b89b , 0x5ad6b472 , 0x5a88f54c , 0xe029ac71 , 0xe019a5e6 ,
240
+ 0x47b0acfd , 0xed93fa9b , 0xe8d3c48d , 0x283b57cc , 0xf8d56629 , 0x79132e28 ,
241
+ 0x785f0191 , 0xed756055 , 0xf7960e44 , 0xe3d35e8c , 0x15056dd4 , 0x88f46dba ,
242
+ 0x03a16125 , 0x0564f0bd , 0xc3eb9e15 , 0x3c9057a2 , 0x97271aec , 0xa93a072a ,
243
+ 0x1b3f6d9b , 0x1e6321f5 , 0xf59c66fb , 0x26dcf319 , 0x7533d928 , 0xb155fdf5 ,
244
+ 0x03563482 , 0x8aba3cbb , 0x28517711 , 0xc20ad9f8 , 0xabcc5167 , 0xccad925f ,
245
+ 0x4de81751 , 0x3830dc8e , 0x379d5862 , 0x9320f991 , 0xea7a90c2 , 0xfb3e7bce ,
246
+ 0x5121ce64 , 0x774fbe32 , 0xa8b6e37e , 0xc3293d46 , 0x48de5369 , 0x6413e680 ,
247
+ 0xa2ae0810 , 0xdd6db224 , 0x69852dfd , 0x09072166 , 0xb39a460a , 0x6445c0dd ,
248
+ 0x586cdecf , 0x1c20c8ae , 0x5bbef7dd , 0x1b588d40 , 0xccd2017f , 0x6bb4e3bb ,
249
+ 0xdda26a7e , 0x3a59ff45 , 0x3e350a44 , 0xbcb4cdd5 , 0x72eacea8 , 0xfa6484bb ,
250
+ 0x8d6612ae , 0xbf3c6f47 , 0xd29be463 , 0x542f5d9e , 0xaec2771b , 0xf64e6370 ,
251
+ 0x740e0d8d , 0xe75b1357 , 0xf8721671 , 0xaf537d5d , 0x4040cb08 , 0x4eb4e2cc ,
252
+ 0x34d2466a , 0x0115af84 , 0xe1b00428 , 0x95983a1d , 0x06b89fb4 , 0xce6ea048 ,
253
+ 0x6f3f3b82 , 0x3520ab82 , 0x011a1d4b , 0x277227f8 , 0x611560b1 , 0xe7933fdc ,
254
+ 0xbb3a792b , 0x344525bd , 0xa08839e1 , 0x51ce794b , 0x2f32c9b7 , 0xa01fbac9 ,
255
+ 0xe01cc87e , 0xbcc7d1f6 , 0xcf0111c3 , 0xa1e8aac7 , 0x1a908749 , 0xd44fbd9a ,
256
+ 0xd0dadecb , 0xd50ada38 , 0x0339c32a , 0xc6913667 , 0x8df9317c , 0xe0b12b4f ,
257
+ 0xf79e59b7 , 0x43f5bb3a , 0xf2d519ff , 0x27d9459c , 0xbf97222c , 0x15e6fc2a ,
258
+ 0x0f91fc71 , 0x9b941525 , 0xfae59361 , 0xceb69ceb , 0xc2a86459 , 0x12baa8d1 ,
259
+ 0xb6c1075e , 0xe3056a0c , 0x10d25065 , 0xcb03a442 , 0xe0ec6e0e , 0x1698db3b ,
260
+ 0x4c98a0be , 0x3278e964 , 0x9f1f9532 , 0xe0d392df , 0xd3a0342b , 0x8971f21e ,
261
+ 0x1b0a7441 , 0x4ba3348c , 0xc5be7120 , 0xc37632d8 , 0xdf359f8d , 0x9b992f2e ,
262
+ 0xe60b6f47 , 0x0fe3f11d , 0xe54cda54 , 0x1edad891 , 0xce6279cf , 0xcd3e7e6f ,
263
+ 0x1618b166 , 0xfd2c1d05 , 0x848fd2c5 , 0xf6fb2299 , 0xf523f357 , 0xa6327623 ,
264
+ 0x93a83531 , 0x56cccd02 , 0xacf08162 , 0x5a75ebb5 , 0x6e163697 , 0x88d273cc ,
265
+ 0xde966292 , 0x81b949d0 , 0x4c50901b , 0x71c65614 , 0xe6c6c7bd , 0x327a140a ,
266
+ 0x45e1d006 , 0xc3f27b9a , 0xc9aa53fd , 0x62a80f00 , 0xbb25bfe2 , 0x35bdd2f6 ,
267
+ 0x71126905 , 0xb2040222 , 0xb6cbcf7c , 0xcd769c2b , 0x53113ec0 , 0x1640e3d3 ,
268
+ 0x38abbd60 , 0x2547adf0 , 0xba38209c , 0xf746ce76 , 0x77afa1c5 , 0x20756060 ,
269
+ 0x85cbfe4e , 0x8ae88dd8 , 0x7aaaf9b0 , 0x4cf9aa7e , 0x1948c25c , 0x02fb8a8c ,
270
+ 0x01c36ae4 , 0xd6ebe1f9 , 0x90d4f869 , 0xa65cdea0 , 0x3f09252d , 0xc208e69f ,
271
+ 0xb74e6132 , 0xce77e25b , 0x578fdfe3 , 0x3ac372e6 ,
272
+ )
274
273
end
0 commit comments