1use super::poseidon_params::PoseidonParams;
2use crate::fields::goldilocks::FpGoldiLocks;
3use crate::fields::utils::from_hex;
4
5use lazy_static::lazy_static;
6use std::sync::Arc;
7
8type Scalar = FpGoldiLocks;
9
10lazy_static! {
11 pub static ref MDS8: Vec<Vec<Scalar>> = vec![
12 vec![from_hex("0xe0f94d7cd765c6b6"),
13 from_hex("0x0d55a73a35e45788"),
14 from_hex("0xf55f4f1c1d8415d1"),
15 from_hex("0xfb71f0d333fb34e4"),
16 from_hex("0x1c5f8b1a9cf63ddb"),
17 from_hex("0xb219d881268c3ea5"),
18 from_hex("0x0f1656226fa4ee10"),
19 from_hex("0x5aebb9c358df42fd"),
20 ],
21 vec![from_hex("0x2feca044553f715c"),
22 from_hex("0x5b93a9aa288e570b"),
23 from_hex("0xb42f02f04a5e1a67"),
24 from_hex("0x71ee8fd540b25dbb"),
25 from_hex("0xa52fda13587250fc"),
26 from_hex("0x44a9c31789ec45fc"),
27 from_hex("0x1d79d17a2f1e2fe8"),
28 from_hex("0x4797f524dfbc4e8b"),
29 ],
30 vec![from_hex("0xf63529db6dc0b672"),
31 from_hex("0x2250e2e1cf945041"),
32 from_hex("0x709b539f97eb4dc0"),
33 from_hex("0x8fe1c55753278638"),
34 from_hex("0x06bd10f018f6a48e"),
35 from_hex("0xe047b07f8d2a4e5b"),
36 from_hex("0x8318f041192dd9c8"),
37 from_hex("0xeb7f3a81a7ddbd4f"),
38 ],
39 vec![from_hex("0xa065667fad152c2f"),
40 from_hex("0x081fd70084fa6e0a"),
41 from_hex("0xcf748ddc97143dc2"),
42 from_hex("0x0aba02c726b725b0"),
43 from_hex("0x41730fe68b0d0440"),
44 from_hex("0xe44ced765a912afd"),
45 from_hex("0x7af7d7f200489554"),
46 from_hex("0xbaa9ef6bd1f5874b"),
47 ],
48 vec![from_hex("0xd36ea1761f3dd27e"),
49 from_hex("0xff58e1d6d465da30"),
50 from_hex("0x6b3ec0f61dc231ac"),
51 from_hex("0xb63686a56f2edee0"),
52 from_hex("0x616f5650e3d3f067"),
53 from_hex("0x634d24cfa4e05f3a"),
54 from_hex("0x7d3383234f57abfa"),
55 from_hex("0x5652ea5345a7330a"),
56 ],
57 vec![from_hex("0x0d035014a4c7da9a"),
58 from_hex("0x3c554c01dd639f70"),
59 from_hex("0x0a7b32221475fe11"),
60 from_hex("0x29786b7cdc6a46ef"),
61 from_hex("0x37e1aff642125eb5"),
62 from_hex("0xc17a16c086948a38"),
63 from_hex("0x91c8aac6802c564d"),
64 from_hex("0x74b7c82554f02858"),
65 ],
66 vec![from_hex("0xb18503572ea3b24a"),
67 from_hex("0xa1647c94aae79e95"),
68 from_hex("0x29a616219bd7e4bf"),
69 from_hex("0xac785afe06cb0289"),
70 from_hex("0xd3e7cddb76c0beea"),
71 from_hex("0xfa1a68f59fa5da1c"),
72 from_hex("0xe4fadce8741aa41a"),
73 from_hex("0xa85dbb3444bf480a"),
74 ],
75 vec![from_hex("0x4bdb4a636619d243"),
76 from_hex("0xb173ad8cb21f8041"),
77 from_hex("0x8ab0416194eb4b65"),
78 from_hex("0xd95eed1fbb22203a"),
79 from_hex("0x463688acbc51c5a6"),
80 from_hex("0x1db8cc48ae7523b4"),
81 from_hex("0x5c1dde76650e8279"),
82 from_hex("0xd3dbd272bf01a3d1"),
83 ],
84 ];
85
86 pub static ref RC8: Vec<Vec<Scalar>> = vec![
87 vec![from_hex("0x57056152cedf0fe7"),
88 from_hex("0x44b125d16e93ca85"),
89 from_hex("0x8e8ea2ff8b7a6d2a"),
90 from_hex("0xcce7c6cc1468fa13"),
91 from_hex("0x47f5feb953ce5073"),
92 from_hex("0xfd8f41d8ee6b700e"),
93 from_hex("0xe40f59b8db57aeb7"),
94 from_hex("0x78b572234ff68244"),
95 ],
96 vec![from_hex("0x926b547a9712ed0b"),
97 from_hex("0xb1525da069ba226c"),
98 from_hex("0xf37650e9d8ef46d3"),
99 from_hex("0x3146518c7738aefc"),
100 from_hex("0x04aa9f4d916e9e5b"),
101 from_hex("0xde603b81bb63d21c"),
102 from_hex("0x8382c29e88cf2c81"),
103 from_hex("0x50456f59f404cb88"),
104 ],
105 vec![from_hex("0x44bda4a6711f6ddb"),
106 from_hex("0xe4c94cbc9e7d15b7"),
107 from_hex("0x7faec52ce37a8256"),
108 from_hex("0x7748e71fd7803107"),
109 from_hex("0x9b6baf83e49be593"),
110 from_hex("0xd47fe8a5c8b27ed3"),
111 from_hex("0xfcdf1e28d16392ad"),
112 from_hex("0x976753b4b516a9ee"),
113 ],
114 vec![from_hex("0xc16ea705aa7ee467"),
115 from_hex("0x18183d87f912ebbb"),
116 from_hex("0x02d3b175b21777fe"),
117 from_hex("0x98e4c2d93e0aaaef"),
118 from_hex("0xc31191d90cd41c96"),
119 from_hex("0x69f8f94595ad453e"),
120 from_hex("0x1de4127f3e248a2d"),
121 from_hex("0xbcce9849c99a069c"),
122 ],
123 vec![from_hex("0x8b8e707932590779"),
124 from_hex("0x4d7fff707c77890f"),
125 from_hex("0x7d36116962851777"),
126 from_hex("0x1dc9f40fbb3146b7"),
127 from_hex("0x6a235e2d5bef54e0"),
128 from_hex("0x4d1a9ae6dd337207"),
129 from_hex("0x46ab49a6009cda1a"),
130 from_hex("0x78e759e819648587"),
131 ],
132 vec![from_hex("0xee6e84b7763598a4"),
133 from_hex("0x0b426bdcaad3050e"),
134 from_hex("0x1f3cd981be91490e"),
135 from_hex("0xd54572f7ecf947a1"),
136 from_hex("0x393c4432d0e86a1e"),
137 from_hex("0x3f1b43149ef3f4f8"),
138 from_hex("0x3705f6a66d25dce4"),
139 from_hex("0x3e809302b3d41471"),
140 ],
141 vec![from_hex("0x6e50830e082b17f1"),
142 from_hex("0x711232bf2d77ac38"),
143 from_hex("0x4235f7d079c78096"),
144 from_hex("0xab1bbdc696a72a25"),
145 from_hex("0xdb1ef6f3f7fed243"),
146 from_hex("0xd21981014e77d809"),
147 from_hex("0x5b2cb2bd03a18856"),
148 from_hex("0x8e45a3e4bf30df6c"),
149 ],
150 vec![from_hex("0x3f9948080379716d"),
151 from_hex("0x41c2ba50c09d6c70"),
152 from_hex("0x5c2f57c6f81d2c6b"),
153 from_hex("0x91cfb3d3b4b04a7a"),
154 from_hex("0x81327090650355f6"),
155 from_hex("0x06957eabf4817942"),
156 from_hex("0x7f08201e9da0e064"),
157 from_hex("0x7467dfc268e1d6e0"),
158 ],
159 vec![from_hex("0x38a9992ed589cc80"),
160 from_hex("0x266a6e035fee9286"),
161 from_hex("0xd19ebfbf75ffbf79"),
162 from_hex("0x9f1dc0303ca0acfb"),
163 from_hex("0x230f2d6a36b23347"),
164 from_hex("0xde0cdaab08319a52"),
165 from_hex("0xff9e2984d5f675ba"),
166 from_hex("0x27a10c5aca2fcf50"),
167 ],
168 vec![from_hex("0x8982ec2da08deb87"),
169 from_hex("0x89f9b8d33e98a684"),
170 from_hex("0x269bcee2edb77b24"),
171 from_hex("0xcd7fb3f592ab464f"),
172 from_hex("0x05060bc8d4341e72"),
173 from_hex("0xa75ab333263a6658"),
174 from_hex("0x3962fe1b4bb486e7"),
175 from_hex("0x52160689b78a2fd1"),
176 ],
177 vec![from_hex("0x9e953026b7be93e6"),
178 from_hex("0x7215465ca2fa2b5a"),
179 from_hex("0x458b8385c2107d5b"),
180 from_hex("0xd86fd0264024aad9"),
181 from_hex("0x2cb61942ee72b44c"),
182 from_hex("0x50784c715273f7e7"),
183 from_hex("0x5fdedb33fa9f3a87"),
184 from_hex("0x6a4697bec73efb10"),
185 ],
186 vec![from_hex("0xb47744b651d0a93e"),
187 from_hex("0x9b133ce9b34f9e24"),
188 from_hex("0xb2af63941bc5c8d1"),
189 from_hex("0xa7377cdf898e11ee"),
190 from_hex("0x022a6e8af3f38e95"),
191 from_hex("0xd4b6b57ec3cc0a8d"),
192 from_hex("0xd73929bdd8d1b66b"),
193 from_hex("0x81eb6a301c25206c"),
194 ],
195 vec![from_hex("0x0c7f9ff80801a8ed"),
196 from_hex("0x7a26ac369d2b6d42"),
197 from_hex("0xe0b8317c071c45d8"),
198 from_hex("0xfede923925964753"),
199 from_hex("0xa97836d6da89a463"),
200 from_hex("0xa5ee4da013de472b"),
201 from_hex("0xe677204adbfd65bf"),
202 from_hex("0x3a22524d07758c9f"),
203 ],
204 vec![from_hex("0xd97c24115d694727"),
205 from_hex("0x253300c8bcb8a257"),
206 from_hex("0x1353c0984c181a15"),
207 from_hex("0xebe483bff324731c"),
208 from_hex("0x1511ed8fb6844846"),
209 from_hex("0x53b461511c6ba3a1"),
210 from_hex("0x21fdeb8122efac83"),
211 from_hex("0xbb0db2349bc191d4"),
212 ],
213 vec![from_hex("0x6b4ab5a6fa05727a"),
214 from_hex("0xd0dff6b2b7431743"),
215 from_hex("0xd52b20f2e2546daa"),
216 from_hex("0xfd44d15c2598333a"),
217 from_hex("0xe93aa689ca1f82b1"),
218 from_hex("0xfcf18baf99617666"),
219 from_hex("0x05e145ac14f62606"),
220 from_hex("0x0ffd185d90368f67"),
221 ],
222 vec![from_hex("0x692477023da0015b"),
223 from_hex("0x3aacae49256f4c3a"),
224 from_hex("0x5918382485b68fe7"),
225 from_hex("0x3c603fa51f5ddcf3"),
226 from_hex("0x51bd24c9676f0c84"),
227 from_hex("0xbd46645f6871643c"),
228 from_hex("0xa70bae909556881b"),
229 from_hex("0x0973cdf1fd534f39"),
230 ],
231 vec![from_hex("0x23f5dc5ef40c635f"),
232 from_hex("0xd454ee01ff625a5f"),
233 from_hex("0x649bd02e30734e2d"),
234 from_hex("0xafe63b1172c383c8"),
235 from_hex("0xda8a6d4a224ea3b9"),
236 from_hex("0x938e7e814aac0b6f"),
237 from_hex("0xd4e3a299d450f03e"),
238 from_hex("0x98e542e75908c80c"),
239 ],
240 vec![from_hex("0x7c172f4ac0637345"),
241 from_hex("0x068bbf5eea717d21"),
242 from_hex("0x17aae532ad95953a"),
243 from_hex("0x079fee6318fdacf4"),
244 from_hex("0x132c35dc67906d22"),
245 from_hex("0x4be60392c1b57a95"),
246 from_hex("0xec51e19a49dc4a4e"),
247 from_hex("0xb8ac48db7c41af33"),
248 ],
249 vec![from_hex("0x71ad50f9a91de51b"),
250 from_hex("0x75a74d0ea941a6a8"),
251 from_hex("0x72a6eb718b6babe7"),
252 from_hex("0x06bec5a7937f7aa4"),
253 from_hex("0x8113e4862f68345d"),
254 from_hex("0xa72c44ea227ee9c7"),
255 from_hex("0x42210a1f7c406b32"),
256 from_hex("0xc0760b6236faf43c"),
257 ],
258 vec![from_hex("0x26d1410a43365117"),
259 from_hex("0xf8ceb9f950d53940"),
260 from_hex("0xf628fd2af2b6e5bb"),
261 from_hex("0xc057934a34308393"),
262 from_hex("0xf3cc773469d56186"),
263 from_hex("0x065237420ff7c2bb"),
264 from_hex("0x5453eb7e3bc08a16"),
265 from_hex("0x9aff5a4ee199aadc"),
266 ],
267 vec![from_hex("0x64e829d61e5fa797"),
268 from_hex("0x7c9588d6c404a8b1"),
269 from_hex("0x15a0d6c9d7ef0aec"),
270 from_hex("0x7dd3bdf746a39db2"),
271 from_hex("0x84aede73cd8bb3af"),
272 from_hex("0x606fc5ceb97a60c6"),
273 from_hex("0xcf3c5f62ef49f02f"),
274 from_hex("0xdfef8f0f1e87bc85"),
275 ],
276 vec![from_hex("0x48639fc9447f5fd7"),
277 from_hex("0x504b752b242a66b4"),
278 from_hex("0xadf53e4f4f743697"),
279 from_hex("0x845bedb45f513c52"),
280 from_hex("0x91e707477184e4d1"),
281 from_hex("0xd6e5ca76b7f56559"),
282 from_hex("0x755a6089bf66dd30"),
283 from_hex("0xe602a9a86fecfd8b"),
284 ],
285 vec![from_hex("0x3ff57e8d1c2d1687"),
286 from_hex("0x6f43f7917b1c3394"),
287 from_hex("0x533fb5ae21bf2d04"),
288 from_hex("0x444dc4db45ebb4c0"),
289 from_hex("0x2e471c803b72d085"),
290 from_hex("0x2b53f2c7f50ba37a"),
291 from_hex("0xa6c07f0bfbe85015"),
292 from_hex("0x54a214f32cc02d51"),
293 ],
294 vec![from_hex("0x7b27404b26406739"),
295 from_hex("0xfc4bef705a7f7dc9"),
296 from_hex("0xd6dd660d6a9d30a6"),
297 from_hex("0x40a59c90c7ebe34c"),
298 from_hex("0x33a78eca623d7bbc"),
299 from_hex("0xa7c7daa3adb60427"),
300 from_hex("0xca4bfceeca59dcad"),
301 from_hex("0x8f7c56e3381710a4"),
302 ],
303 vec![from_hex("0x569ca673f517e4d1"),
304 from_hex("0x55970d6132c40df6"),
305 from_hex("0x454236654b451433"),
306 from_hex("0xfe684e4a876de175"),
307 from_hex("0x580a016a208b1f39"),
308 from_hex("0xd7e9971806ea0c8b"),
309 from_hex("0xe38d7016c93b40ff"),
310 from_hex("0x62185e718394a29b"),
311 ],
312 vec![from_hex("0xf810fb01ebb26cea"),
313 from_hex("0x21ddc29682b46878"),
314 from_hex("0xf8ab79b18c09dd5c"),
315 from_hex("0x76bd4cfc027aaad6"),
316 from_hex("0x622f038a4b5cd454"),
317 from_hex("0x77f63fe804886afa"),
318 from_hex("0xed6c954619819ed3"),
319 from_hex("0x64d46e1a53bd56bf"),
320 ],
321 vec![from_hex("0x1851bad534d7b9d0"),
322 from_hex("0xd0a80f4993519712"),
323 from_hex("0x867049a072afe789"),
324 from_hex("0x2ccffd104db57b35"),
325 from_hex("0x6e1170f9d4efa571"),
326 from_hex("0xa61eb4ab448fb4c7"),
327 from_hex("0x7175bbae1d097494"),
328 from_hex("0x90fb4923de14b485"),
329 ],
330 vec![from_hex("0xbe9a25abdc7c0b56"),
331 from_hex("0xc27e243f8582657a"),
332 from_hex("0x6bbdb9dd602700fa"),
333 from_hex("0x5b546e6a5c2337df"),
334 from_hex("0x73f53b99a4056a62"),
335 from_hex("0xe85369b678eab9dc"),
336 from_hex("0xee4ddbd911c67cfd"),
337 from_hex("0x3666de148390a60c"),
338 ],
339 vec![from_hex("0xc305f73f8e7ed55e"),
340 from_hex("0x98f6589bb92766fe"),
341 from_hex("0xed68a166b50e3cd5"),
342 from_hex("0x7bba85aee4a42e8d"),
343 from_hex("0xeba72e21d22d3ba2"),
344 from_hex("0x2df46cf41c763e5a"),
345 from_hex("0x79ba0ca148458c41"),
346 from_hex("0x97a5abcddbaf3e6b"),
347 ],
348 vec![from_hex("0x22f193a7fcc2dfc1"),
349 from_hex("0x48fc93e221d3c3b3"),
350 from_hex("0xb1100bbb875c4e32"),
351 from_hex("0x1384efcf6056a457"),
352 from_hex("0xd2a77ce00115fd04"),
353 from_hex("0x523f48a919d6bfa1"),
354 from_hex("0xb3e11e53c3dd625a"),
355 from_hex("0x5113945a42f34dfa"),
356 ],
357 ];
358
359 pub static ref MDS12: Vec<Vec<Scalar>> = vec![
360 vec![from_hex("0x5f1d4cecfc89ba7a"),
361 from_hex("0x0ca24b673d0b08c7"),
362 from_hex("0x3f26361f21e1fcbc"),
363 from_hex("0xcf5c4373a541115b"),
364 from_hex("0x5cfd4a79844e2d2d"),
365 from_hex("0x1453474d5cb13e6d"),
366 from_hex("0xe716171e92c48eaa"),
367 from_hex("0xb2934f5e1251bb28"),
368 from_hex("0x7851f27525a981a5"),
369 from_hex("0x418c129224496139"),
370 from_hex("0x78e1278db390233a"),
371 from_hex("0x87428e7972077adc"),
372 ],
373 vec![from_hex("0xf355cf5c82963ea9"),
374 from_hex("0xe501d0c36086af6c"),
375 from_hex("0xa8fbc49375afed21"),
376 from_hex("0x5e0c770aab2dc181"),
377 from_hex("0x0565d30771c8f650"),
378 from_hex("0x75879e2cf755ab35"),
379 from_hex("0x4ea0b28f7f720232"),
380 from_hex("0x354f5ff594b578de"),
381 from_hex("0xfe07e7e63168967d"),
382 from_hex("0x72f3ee829f9eecdd"),
383 from_hex("0x16c47c647ef962c3"),
384 from_hex("0x7f8883ef41d15d48"),
385 ],
386 vec![from_hex("0xdc746c611121b0a5"),
387 from_hex("0xbe207e8953c33740"),
388 from_hex("0xffd52c0a8b3bd683"),
389 from_hex("0x3f76bbf0dba89407"),
390 from_hex("0x5e9c584ed8d0fe88"),
391 from_hex("0xa8e125983328e1a1"),
392 from_hex("0x26b77e514c04bb6f"),
393 from_hex("0xc14a72c31021b93e"),
394 from_hex("0x459a2f39d2363e2a"),
395 from_hex("0x0fb0d121ad9a0ac0"),
396 from_hex("0xa5a72aa8f9708cc6"),
397 from_hex("0x91a792606c45522b"),
398 ],
399 vec![from_hex("0xa81f336c52ebbfdc"),
400 from_hex("0x5ee3a892bb8fc7cf"),
401 from_hex("0x8e54ebd12c7db995"),
402 from_hex("0x4bfaf6dfff080ff9"),
403 from_hex("0x7f786b2231384856"),
404 from_hex("0x6e6cef25b53e4622"),
405 from_hex("0x0bff960556cdc6eb"),
406 from_hex("0x2225de7bf977bcdb"),
407 from_hex("0xd55d542052c36f6c"),
408 from_hex("0xb353c8ed5d3c1ca1"),
409 from_hex("0x80f58f25e3d496aa"),
410 from_hex("0x5ec309519ea8d128"),
411 ],
412 vec![from_hex("0x78ef2b156654ec59"),
413 from_hex("0xee1db713e6eac806"),
414 from_hex("0x739f0732db182f33"),
415 from_hex("0xca399840b6c660e6"),
416 from_hex("0x690c16859debda66"),
417 from_hex("0xc1110ae00b83c14b"),
418 from_hex("0x7fbf03e0ca82e8d8"),
419 from_hex("0x1833158bdd00eebd"),
420 from_hex("0x12c904f07f3413f2"),
421 from_hex("0x93034d0e76b4e611"),
422 from_hex("0x9e4cfd863fcc1c54"),
423 from_hex("0x11c9e0b3d24684a6"),
424 ],
425 vec![from_hex("0xa4d9c440006f11a7"),
426 from_hex("0x3235b5cda30310ab"),
427 from_hex("0x6e2599d007138680"),
428 from_hex("0x65d5baf8b8d40d68"),
429 from_hex("0x88b301c1d94b4e66"),
430 from_hex("0x6f1a4e963bc491ba"),
431 from_hex("0x9c11e953245256f2"),
432 from_hex("0xbac593f029e280fb"),
433 from_hex("0x997539053263f791"),
434 from_hex("0x46e53880101d8820"),
435 from_hex("0x9484140b7daf89e2"),
436 from_hex("0x52a39993049722d6"),
437 ],
438 vec![from_hex("0x17c4da56dce49dd3"),
439 from_hex("0x7716b33751e53bfd"),
440 from_hex("0x22e8f8ea831ba6fd"),
441 from_hex("0xe3a0570dcdd2ca90"),
442 from_hex("0x2d3fe778771c643c"),
443 from_hex("0xbcca1c5d0782a03a"),
444 from_hex("0x56e6eaedecd30fbc"),
445 from_hex("0x26a6c1cde627d734"),
446 from_hex("0xb4a1698170840e62"),
447 from_hex("0x0bde82da81e8f8d8"),
448 from_hex("0x917c86d06bcfa19a"),
449 from_hex("0xb293f41a4b4b1012"),
450 ],
451 vec![from_hex("0x2249f4003f17f288"),
452 from_hex("0x2d784d863b3f46a8"),
453 from_hex("0x4c440e95eb101332"),
454 from_hex("0x7922609f4364e2dc"),
455 from_hex("0x4388fefe814e14ea"),
456 from_hex("0xf1694a6c7e2d2e95"),
457 from_hex("0xd3d4795611ff8c9a"),
458 from_hex("0xf4421c8faba77924"),
459 from_hex("0xd37a607a16b67331"),
460 from_hex("0x6344e9a26ded9e81"),
461 from_hex("0x73d370cb72f61418"),
462 from_hex("0x775cd16e8161891d"),
463 ],
464 vec![from_hex("0xdf4589e1bc7fc4a8"),
465 from_hex("0x9b891bd586245062"),
466 from_hex("0xe14673eea6ff8a9f"),
467 from_hex("0x6ff49d004d7c76aa"),
468 from_hex("0xa43ba2253950249b"),
469 from_hex("0x5feb9656feae4095"),
470 from_hex("0x2d937c6444c12016"),
471 from_hex("0x7b0a59c6819b0e00"),
472 from_hex("0x7b5ca76444ccfefe"),
473 from_hex("0x9b18e4c66878ebba"),
474 from_hex("0x0d3924431c20793c"),
475 from_hex("0x8864968b4d01f232"),
476 ],
477 vec![from_hex("0x9ef08219283a49ac"),
478 from_hex("0x1146b5e38a000b5f"),
479 from_hex("0xca7a1184d70d6afc"),
480 from_hex("0xd51b27ff7dbc5ea7"),
481 from_hex("0x4bfc15638b5f5e48"),
482 from_hex("0x418d7966f04d3097"),
483 from_hex("0x14e6ca4bf05f217d"),
484 from_hex("0x92de94ea4d4ed93c"),
485 from_hex("0xf01234a31b1820f3"),
486 from_hex("0xa7f2afc69e14b27d"),
487 from_hex("0x562317b78ddbe1d8"),
488 from_hex("0x9a997f85c6b36924"),
489 ],
490 vec![from_hex("0xfe93722d1bae4842"),
491 from_hex("0xd6201e8712a9cf09"),
492 from_hex("0xe2c45e6ff610544e"),
493 from_hex("0x4af81416b1190fda"),
494 from_hex("0xb634a8c606b034dc"),
495 from_hex("0x9897b99756010c0f"),
496 from_hex("0x8f7a2c4d9845a939"),
497 from_hex("0x0690948bd80ee51f"),
498 from_hex("0x0adb54a45bc118f5"),
499 from_hex("0x15db3f12b969ec38"),
500 from_hex("0x43ea1b602c05d022"),
501 from_hex("0xc7e89ad4f06305eb"),
502 ],
503 vec![from_hex("0xcf6c422c4f64d877"),
504 from_hex("0x9bde7b81520b367d"),
505 from_hex("0x5793f8d971b94824"),
506 from_hex("0xeb864531bbf9f4f6"),
507 from_hex("0xbf6a654fa8f12e89"),
508 from_hex("0xcabf7b051b6c5c34"),
509 from_hex("0x5ee45fd9b1f39f5d"),
510 from_hex("0x991ad6d310a919ac"),
511 from_hex("0xedbb35616accd2ea"),
512 from_hex("0x10c28d695fdde711"),
513 from_hex("0xd3e562fdec3f3d6c"),
514 from_hex("0x555a187be44994c4"),
515 ],
516 ];
517
518 pub static ref RC12: Vec<Vec<Scalar>> = vec![
519 vec![from_hex("0xe034a8785fd284a7"),
520 from_hex("0xe2463f1ea42e1b80"),
521 from_hex("0x048742e681ae290a"),
522 from_hex("0xe4af50ade990154c"),
523 from_hex("0x8b13ffaaf4f78f8a"),
524 from_hex("0xe3fbead7dccd8d63"),
525 from_hex("0x631a47705eb92bf8"),
526 from_hex("0x88fbbb8698548659"),
527 from_hex("0x74cd2003b0f349c9"),
528 from_hex("0xe16a3df6764a3f5d"),
529 from_hex("0x57ce63971a71aaa2"),
530 from_hex("0xdc1f7fd3e7823051"),
531 ],
532 vec![from_hex("0xbb8423be34c18d7a"),
533 from_hex("0xf8bc5a2a0c1b3d6d"),
534 from_hex("0xf1a01bbd6f7123e5"),
535 from_hex("0xed960a080f5e348b"),
536 from_hex("0x1b9c0c1e87e2390e"),
537 from_hex("0x18c83caf729a613e"),
538 from_hex("0x671ab9fe037a72c4"),
539 from_hex("0x508565f67d4c276a"),
540 from_hex("0x4d2cd8827a482590"),
541 from_hex("0xa48e11e84dd3500b"),
542 from_hex("0x825a8c955fc2442b"),
543 from_hex("0xf573a6ee07cddc68"),
544 ],
545 vec![from_hex("0x7dd3f19c73a39e0b"),
546 from_hex("0xcc0f13537a796fa6"),
547 from_hex("0x1d9006bfaedac57f"),
548 from_hex("0x4705f69b68b0b7de"),
549 from_hex("0x5b62bfb718bcc57f"),
550 from_hex("0x879d821770563827"),
551 from_hex("0x3da5ccb7f8dff0e3"),
552 from_hex("0xb49d6a706923fc5b"),
553 from_hex("0xb6a0babe883a969d"),
554 from_hex("0x2984f9b055401960"),
555 from_hex("0xcd3496f05511d79d"),
556 from_hex("0x4791da5d63854fc5"),
557 ],
558 vec![from_hex("0xdb7344d0580a39d4"),
559 from_hex("0x5aedc4dad1de120a"),
560 from_hex("0x5e1bdc1fb8e1abf0"),
561 from_hex("0x3904c09a0e46747c"),
562 from_hex("0xb54a0e23ab85ddcd"),
563 from_hex("0xc0c3cf05bccbdb3a"),
564 from_hex("0xb362076a73baf7e9"),
565 from_hex("0x212c953d81a5d5ba"),
566 from_hex("0x212d4cc965d898bd"),
567 from_hex("0xdd44ddd0f41509b9"),
568 from_hex("0x8931329fa67823c0"),
569 from_hex("0xc65510f4d2a873be"),
570 ],
571 vec![from_hex("0xe3ecbb6ba1e16211"),
572 from_hex("0x70f5b3266792bbb6"),
573 from_hex("0xe7560e690634757e"),
574 from_hex("0xafd0202bc7eaf66e"),
575 from_hex("0x349f4c5871f220fd"),
576 from_hex("0x3697eb3e31529e0d"),
577 from_hex("0x7735d5b0622d9900"),
578 from_hex("0x5f5b58b9cf997668"),
579 from_hex("0x645534b6548af9d9"),
580 from_hex("0x4232d29d91a426a8"),
581 from_hex("0xb987278aed485d35"),
582 from_hex("0x6dabeef669bb406e"),
583 ],
584 vec![from_hex("0x35ee78288b749d40"),
585 from_hex("0x6dcd560f14af0fc3"),
586 from_hex("0x71ed3dc007ea6383"),
587 from_hex("0x8b6b51caab7f5b6f"),
588 from_hex("0xcf2e8cc4181dbfa8"),
589 from_hex("0xa01d3f1c306f825a"),
590 from_hex("0xccee646a5d8ddb87"),
591 from_hex("0x70df6f277cbaffeb"),
592 from_hex("0x64ec0a6556b8f45c"),
593 from_hex("0x6f68c9664fda6e37"),
594 from_hex("0x387356e4516fab6f"),
595 from_hex("0x35310dce33903e67"),
596 ],
597 vec![from_hex("0x45f3e5251d30f912"),
598 from_hex("0x7c97f480ca428f45"),
599 from_hex("0x74d5874c20b50de2"),
600 from_hex("0xff1d5b7cee3dc67f"),
601 from_hex("0xa04d5d5ac0ff3de9"),
602 from_hex("0x1cefb5eb7d24580e"),
603 from_hex("0xf685e1bfcc0104ad"),
604 from_hex("0x6204dd95db22ead4"),
605 from_hex("0x8265c6c57c73c440"),
606 from_hex("0x4f708ab0b4e1e382"),
607 from_hex("0xcfc60c7a52fbffa7"),
608 from_hex("0x9c0c1951d8910306"),
609 ],
610 vec![from_hex("0x4d06df27c89819f2"),
611 from_hex("0x621bdb0e75eca660"),
612 from_hex("0x343adffd079cee57"),
613 from_hex("0xa760f0e5debde398"),
614 from_hex("0xe3110fefd97b188a"),
615 from_hex("0x0ed6584e6b150297"),
616 from_hex("0x2b10e625d0d079c0"),
617 from_hex("0xefa493442057264f"),
618 from_hex("0xebcfaa7b3f26a2b6"),
619 from_hex("0xf36bcda28e343e2a"),
620 from_hex("0xa1183cb63b67aa9e"),
621 from_hex("0x40f3e415d5e5b0ba"),
622 ],
623 vec![from_hex("0xc51fc2367eff7b15"),
624 from_hex("0xe07fe5f3aebc649f"),
625 from_hex("0xc9cb2be56968e8aa"),
626 from_hex("0x648600db69078a0e"),
627 from_hex("0x4e9135ab1256edb9"),
628 from_hex("0x00382c73435556c2"),
629 from_hex("0x1d78cafac9150ddf"),
630 from_hex("0xb8df60ab6215a233"),
631 from_hex("0xa7a65ba31f8fcd9a"),
632 from_hex("0x907d436dd964006b"),
633 from_hex("0x3bdf7fd528633b97"),
634 from_hex("0x265adb359c0cc0f8"),
635 ],
636 vec![from_hex("0xf16cfc4034b39614"),
637 from_hex("0x71f0751b08fa0947"),
638 from_hex("0x3165eda4b5403a37"),
639 from_hex("0xca30fc5680467e46"),
640 from_hex("0x4c743354d37777c5"),
641 from_hex("0x3d1f0a4e6bba4a09"),
642 from_hex("0xc0c2e289afa75181"),
643 from_hex("0x1e4fa2ad948978b7"),
644 from_hex("0x2a226a127a0bb26a"),
645 from_hex("0xe61738a70357ce76"),
646 from_hex("0x965f66eada2905e4"),
647 from_hex("0xe2560d17d78f997b"),
648 ],
649 vec![from_hex("0x491135cfb0b193c4"),
650 from_hex("0x88a7d811ba8c8172"),
651 from_hex("0x7d41dd29039a1493"),
652 from_hex("0x0cd9e984523d5ef9"),
653 from_hex("0xe758a718011f225e"),
654 from_hex("0xa1b19355c645c206"),
655 from_hex("0x2b3f098c8ba43f7e"),
656 from_hex("0xa79ec72dff37d575"),
657 from_hex("0x7f64bb4c1a7ba443"),
658 from_hex("0x0e9b008eda4002d2"),
659 from_hex("0xcf6f77ac16722afa"),
660 from_hex("0x3fd4c0d74672aebd"),
661 ],
662 vec![from_hex("0x9b72bf1c1c3d08a9"),
663 from_hex("0xe4940f84b71e4ac3"),
664 from_hex("0x61b27b077118bc73"),
665 from_hex("0x2efd8379b8e661e3"),
666 from_hex("0x858edcf353df0342"),
667 from_hex("0x2d9c20affb5c4517"),
668 from_hex("0x5120143f0695defc"),
669 from_hex("0x62fc898ae34a5c5c"),
670 from_hex("0xa3d9560c99123ed3"),
671 from_hex("0x98fd739d8e7fc934"),
672 from_hex("0x49c0bad1b2023adf"),
673 from_hex("0x2bc9cf2aec60ebf6"),
674 ],
675 vec![from_hex("0x43b995c4ef12dcc6"),
676 from_hex("0x3c69a9d2d4555790"),
677 from_hex("0x43fc8b0b247132c0"),
678 from_hex("0x217b0f6f3b52feff"),
679 from_hex("0xa10cebbb66f1f5b3"),
680 from_hex("0xcc81ed1130a2c36e"),
681 from_hex("0x63da22539da7b97e"),
682 from_hex("0x8bf756d728bf5553"),
683 from_hex("0x373ce92bcc4dfab8"),
684 from_hex("0x2f1720d02fb0b850"),
685 from_hex("0xa04ad342d9e5071b"),
686 from_hex("0x4a2758463a4bc975"),
687 ],
688 vec![from_hex("0x3d95dc5c0aae0025"),
689 from_hex("0xadaca762a70a4139"),
690 from_hex("0x19eafc0ac322234c"),
691 from_hex("0x90f7d010345e3191"),
692 from_hex("0x8de683caae7e23c6"),
693 from_hex("0xc8c4de0badedd6a5"),
694 from_hex("0x2982932ceb559a26"),
695 from_hex("0xecd9864a9b3046f5"),
696 from_hex("0xfe26e58fc0fdfc38"),
697 from_hex("0x34d8ccf408b18b11"),
698 from_hex("0x305263531bf413e5"),
699 from_hex("0x9d740626025dc1e2"),
700 ],
701 vec![from_hex("0x9bb62131c8873ac5"),
702 from_hex("0x39a2e90839d2b1b5"),
703 from_hex("0x79b976bd771e389a"),
704 from_hex("0xdd518ffeb5b209d6"),
705 from_hex("0xcc0ae5430247d957"),
706 from_hex("0x69d45a7c309cece9"),
707 from_hex("0xcab8f84a11dc89c2"),
708 from_hex("0xa2f298798ac57fd0"),
709 from_hex("0x31a1581972494aab"),
710 from_hex("0x3d7247a8bad73c1b"),
711 from_hex("0xcfd1cf2abfdf8e9d"),
712 from_hex("0xd2b3f55a53c0f36e"),
713 ],
714 vec![from_hex("0xc1b5c91f9528675f"),
715 from_hex("0xaea262169d3ce0d6"),
716 from_hex("0xcf744aeea9a85186"),
717 from_hex("0xb14caf9c8e665072"),
718 from_hex("0x9036fdf0f750c7d7"),
719 from_hex("0xd50ed0260936689a"),
720 from_hex("0x67d5900d08a564a7"),
721 from_hex("0x02ff541f79857b26"),
722 from_hex("0xc83ad8ef65a5dd34"),
723 from_hex("0xcd9087f66c8913a6"),
724 from_hex("0xc81bcc8f049cec68"),
725 from_hex("0xd04bb2943fdb30ad"),
726 ],
727 vec![from_hex("0x16e3179444fdc702"),
728 from_hex("0x16b1d70d695e019e"),
729 from_hex("0x4ff845a458f34230"),
730 from_hex("0x766e3f44b85c9dbe"),
731 from_hex("0x7c4c3acf8514557c"),
732 from_hex("0x57adabf739fd4da0"),
733 from_hex("0xc66f77381d247cbc"),
734 from_hex("0x6e2a4a99a74cfc14"),
735 from_hex("0xea8d1862edc8f863"),
736 from_hex("0xc6db4cd97dc665da"),
737 from_hex("0x949056b5e892bf9a"),
738 from_hex("0x462fe0ca6f15ab99"),
739 ],
740 vec![from_hex("0x9adb62723963213e"),
741 from_hex("0xe6727c5fd42965fc"),
742 from_hex("0x7fbdd9a508ac0f2d"),
743 from_hex("0x81fe716d0f7abc16"),
744 from_hex("0x9576f06f87da27da"),
745 from_hex("0xfc365eab4c817bc4"),
746 from_hex("0xfd9ef2ac09e90378"),
747 from_hex("0xd617a6538caecd71"),
748 from_hex("0x65b8045fbc97224e"),
749 from_hex("0xa9d715b7578ad6db"),
750 from_hex("0xc2dea08b2f8e0fec"),
751 from_hex("0xb2a75f374961bd18"),
752 ],
753 vec![from_hex("0xbd384569c776ea85"),
754 from_hex("0x3830b682c3aaaf39"),
755 from_hex("0xae0fd86a8479f28a"),
756 from_hex("0x3af2201bcba3c6c8"),
757 from_hex("0xc62b22ab3d6edcef"),
758 from_hex("0xd82a8399ca086539"),
759 from_hex("0x9a8a1adb11b997e1"),
760 from_hex("0x62e9c6079f0f4489"),
761 from_hex("0x5b42e26cad54c3eb"),
762 from_hex("0x0d23026116e75052"),
763 from_hex("0x117b3df6a1bcabd3"),
764 from_hex("0xdc15f849a793f4ff"),
765 ],
766 vec![from_hex("0xcb55e856cff1a9fc"),
767 from_hex("0x4f276ed50185804c"),
768 from_hex("0x9a2a1c18334e8eee"),
769 from_hex("0x942eae69c7b2ac12"),
770 from_hex("0x372123fca5367880"),
771 from_hex("0x7299f05b81f6ab8c"),
772 from_hex("0xc4b6d222335c0d40"),
773 from_hex("0x54e175dc9898de82"),
774 from_hex("0x9a59ed2ff8185bb6"),
775 from_hex("0xe31cffc4a4d1595c"),
776 from_hex("0x953ea6a8cf91eb62"),
777 from_hex("0xd73df50b58e3de87"),
778 ],
779 vec![from_hex("0xcba164ac5529a437"),
780 from_hex("0xed86532f13f5a01b"),
781 from_hex("0x48638620ea9a8cdf"),
782 from_hex("0xbf39c6d292e61897"),
783 from_hex("0xcbeafcace75ae54b"),
784 from_hex("0x9b1c4ba273aef896"),
785 from_hex("0x34a3fa4e9ea8b222"),
786 from_hex("0x388497890444f9e4"),
787 from_hex("0x1ceeb6d09ae44039"),
788 from_hex("0xc934ed066fc000bd"),
789 from_hex("0x5420b49b40809695"),
790 from_hex("0x227bb866b6e43b27"),
791 ],
792 vec![from_hex("0x023cce4d47323bd5"),
793 from_hex("0x9bdd445cfb266aa9"),
794 from_hex("0xba558b69d5e89ac6"),
795 from_hex("0x45e50280e3d7c220"),
796 from_hex("0xc7b336bf7db5785e"),
797 from_hex("0x17c3a2296aa7cabc"),
798 from_hex("0xe7a055c8663e8ece"),
799 from_hex("0x7014aeac12a9562a"),
800 from_hex("0xf1a5396bf65b5aa2"),
801 from_hex("0x4e6642abd7507fb0"),
802 from_hex("0x630e0222d5393a15"),
803 from_hex("0x173af02aa4f69206"),
804 ],
805 vec![from_hex("0xaf5c39865a5eb017"),
806 from_hex("0x4ae10acdc3c41602"),
807 from_hex("0x0058046e6d9df692"),
808 from_hex("0xa44bff2bee5f1073"),
809 from_hex("0x944a687060c16827"),
810 from_hex("0xc43390133b0d7316"),
811 from_hex("0xd41f77f6bad6185a"),
812 from_hex("0x9af59b9c3c1d1cfc"),
813 from_hex("0x3e36dd171e4a675d"),
814 from_hex("0xc7ba958b07eb9943"),
815 from_hex("0xc4b47b8808de11c0"),
816 from_hex("0x001ef692416bc9cd"),
817 ],
818 vec![from_hex("0xa2fb05ec5711129e"),
819 from_hex("0x3a2f12f04b368596"),
820 from_hex("0x44fd1b36bd05ded4"),
821 from_hex("0xc132a1c940e7efac"),
822 from_hex("0x0990f606eef60c22"),
823 from_hex("0xed8ec2a68338a212"),
824 from_hex("0xbfb310dd70919411"),
825 from_hex("0xadf2a5d0d908ac0d"),
826 from_hex("0x6fd5fa590b36a39b"),
827 from_hex("0xa264d5481bcadb21"),
828 from_hex("0x2c0452d2bc532534"),
829 from_hex("0xfa6641a6cf17cc0b"),
830 ],
831 vec![from_hex("0x6ada4c9390f0eafa"),
832 from_hex("0x152c1b3439da0ac2"),
833 from_hex("0x615013a63de9adb0"),
834 from_hex("0xcd17255ec2e4cb01"),
835 from_hex("0xba7715fb4a4fadfa"),
836 from_hex("0xa0ca4b6d43eebdf4"),
837 from_hex("0xf290b6fed5af6f62"),
838 from_hex("0xdc0fe55c9e65aa26"),
839 from_hex("0xbd600ace449304c2"),
840 from_hex("0x0e53a360f26da9b5"),
841 from_hex("0x78605b519f96abe6"),
842 from_hex("0xea7e408734243799"),
843 ],
844 vec![from_hex("0xf53ac0707eb51726"),
845 from_hex("0x0336f478469cef21"),
846 from_hex("0xbc6af9b810b9f89c"),
847 from_hex("0xb722092616785496"),
848 from_hex("0xbca7b0ca58c04422"),
849 from_hex("0xf7870109a513441b"),
850 from_hex("0x8c71931c2de63eb8"),
851 from_hex("0xf79815be37e5ce04"),
852 from_hex("0xeee4e1205eab3d44"),
853 from_hex("0x52a23d6299839b6c"),
854 from_hex("0x9fc5362010ac1103"),
855 from_hex("0x9690d2f4abc80294"),
856 ],
857 vec![from_hex("0x0481281fb649ab93"),
858 from_hex("0xf2cd1f90ecede2fc"),
859 from_hex("0x301c378877734c25"),
860 from_hex("0xd20b8a3b7d6679d3"),
861 from_hex("0x33a8b5db96979da3"),
862 from_hex("0x13034e5c7269d9ef"),
863 from_hex("0xcfbce2ab85636d0e"),
864 from_hex("0x3f37a4c42edf4a97"),
865 from_hex("0xb63fd6ec7ff50302"),
866 from_hex("0x436b1e86ddc7362a"),
867 from_hex("0x6a54ae4b5c97b739"),
868 from_hex("0xf3bd6dd9365f3915"),
869 ],
870 vec![from_hex("0x4181aca49c9b271e"),
871 from_hex("0x49d4d7643da6aafb"),
872 from_hex("0x2036bf0f76786aa0"),
873 from_hex("0x7a42c4d2c7ae05b7"),
874 from_hex("0xd5ace3058744be86"),
875 from_hex("0x181a59418ab1c592"),
876 from_hex("0x77b67d60a5a07b36"),
877 from_hex("0x1e7cd334ecbf8178"),
878 from_hex("0x4c6e85d690a6141e"),
879 from_hex("0xf4b6a9f1be304bc9"),
880 from_hex("0x60d3f578fb9c343a"),
881 from_hex("0xdaac75db3c11fc58"),
882 ],
883 vec![from_hex("0x0864ae3ba35af1b9"),
884 from_hex("0xb6bc40765fb2570b"),
885 from_hex("0xd46b53cbe6a6f811"),
886 from_hex("0x8429e09e6ac7d398"),
887 from_hex("0x1ffb73140f60b153"),
888 from_hex("0x803d688fe62a93f8"),
889 from_hex("0xb41e9f0d9c051046"),
890 from_hex("0x098746d28211cd65"),
891 from_hex("0xe919f936e43f4b3b"),
892 from_hex("0x690416052f3471f3"),
893 from_hex("0x656d94333b449fc7"),
894 from_hex("0xf2b8a970984acf87"),
895 ],
896 vec![from_hex("0x8a3f96f9ca67752e"),
897 from_hex("0xce1efcd7a468c992"),
898 from_hex("0x5a4f3f1df0662069"),
899 from_hex("0xbece1eb8967e9e42"),
900 from_hex("0x872f99ff7891f554"),
901 from_hex("0xfd7cb913022fb888"),
902 from_hex("0xa4d257eb39902d5d"),
903 from_hex("0x67c99dfda1508416"),
904 from_hex("0x50cda61566da959e"),
905 from_hex("0xec462bbe31e2c852"),
906 from_hex("0x2569ce8db808f43c"),
907 from_hex("0x679a9dfdcf0fccb4"),
908 ],
909 ];
910
911 pub static ref MDS16: Vec<Vec<Scalar>> = vec![
912 vec![from_hex("0xd1f72c94cc38baf8"),
913 from_hex("0x7b9e20d05536a134"),
914 from_hex("0x2e92d4ee40d4f6c8"),
915 from_hex("0x0a6df8304c4de7cf"),
916 from_hex("0xccf70b5c865b43bb"),
917 from_hex("0x787ab84e1263a290"),
918 from_hex("0x1d50d467d0f5b9aa"),
919 from_hex("0x58cbef8ffd65acde"),
920 from_hex("0x0dea77d8dd449182"),
921 from_hex("0x5eda51ef02d2b21a"),
922 from_hex("0x492039ed145f0cd8"),
923 from_hex("0x59a4fb63f3e664f9"),
924 from_hex("0xaa8ea2676c72e406"),
925 from_hex("0x9e154b4c8d76cfd9"),
926 from_hex("0x2807bfc7d27be022"),
927 from_hex("0x2d25215689be2b19"),
928 ],
929 vec![from_hex("0xcd297db5504340d8"),
930 from_hex("0xdf3fa36c2adc3362"),
931 from_hex("0x0cf6358eea36e7a0"),
932 from_hex("0x4cab8980f5a85fd8"),
933 from_hex("0xb31dfa180c787aad"),
934 from_hex("0x564aaa9121325cc6"),
935 from_hex("0x98616ba874ee1aff"),
936 from_hex("0x04c67661b89943a5"),
937 from_hex("0xe277630ad99e5872"),
938 from_hex("0x7924d20fc05e2fcd"),
939 from_hex("0x347efef6f0f56085"),
940 from_hex("0xaf65451e463d129b"),
941 from_hex("0x41b4d27e56d1e23a"),
942 from_hex("0x02a6d4d5d1046a0d"),
943 from_hex("0x1a16b42008443b2e"),
944 from_hex("0xf54f3d895f2ce505"),
945 ],
946 vec![from_hex("0x27964c37cef643d7"),
947 from_hex("0x65975ef102914d08"),
948 from_hex("0x12f9ca8708b5fab0"),
949 from_hex("0x5c51d4430ceec970"),
950 from_hex("0x646c7fbf68422612"),
951 from_hex("0x50b0681028d3fe78"),
952 from_hex("0x805ef6956438be6d"),
953 from_hex("0x298ea5dae2773292"),
954 from_hex("0x6ca8264c7b1b7e6d"),
955 from_hex("0x30e01cc9147a2d19"),
956 from_hex("0xee9beff843321f54"),
957 from_hex("0x943c50770d390bd7"),
958 from_hex("0xd9978166df59a162"),
959 from_hex("0xab4edc98711a172b"),
960 from_hex("0xceaa0f735083bcaa"),
961 from_hex("0x9419e491b4f7bd61"),
962 ],
963 vec![from_hex("0x46081611685b6f7a"),
964 from_hex("0x86c94214d3fe7e48"),
965 from_hex("0x415be49e0ab81705"),
966 from_hex("0xc0a09b1603f8570e"),
967 from_hex("0x5fb23ce32358a134"),
968 from_hex("0xcd73d8ad6b467a95"),
969 from_hex("0x90e9d8a8c9f18da5"),
970 from_hex("0xb999b5448ca6b939"),
971 from_hex("0x8384ee1bb9db6b3a"),
972 from_hex("0x16a667b8a4df7ea7"),
973 from_hex("0x29ed2d2af08096a1"),
974 from_hex("0x58c2fcbe2ed395ea"),
975 from_hex("0xf6ad06966b3eea7b"),
976 from_hex("0x4ebb81a2fcf4c876"),
977 from_hex("0x3a217f10a9d3fa19"),
978 from_hex("0x4e731cb0dfff8913"),
979 ],
980 vec![from_hex("0x01ca6125b505c736"),
981 from_hex("0x231600bd6c8c4839"),
982 from_hex("0x7d2960c8f3480dbc"),
983 from_hex("0xbb484bcccd7956a1"),
984 from_hex("0xf3f8063f399628f7"),
985 from_hex("0xb4b2258df84c9d3b"),
986 from_hex("0xef4cdc141c2db20c"),
987 from_hex("0xb6dd585a8b20129f"),
988 from_hex("0x0e59e8cbf20ce890"),
989 from_hex("0x3764c40406933776"),
990 from_hex("0xf645c43797a60b70"),
991 from_hex("0x5bb78d28713f21d7"),
992 from_hex("0xb725df332d753981"),
993 from_hex("0xb5023485e7731efa"),
994 from_hex("0x4461877fe4a4052e"),
995 from_hex("0x1b3ea242d9411170"),
996 ],
997 vec![from_hex("0xba533d5ecd1ba827"),
998 from_hex("0x96c7402d6c49bd60"),
999 from_hex("0x4550f909a264b599"),
1000 from_hex("0x89f00eaf4e84ec38"),
1001 from_hex("0x5e6e3d487906c8f5"),
1002 from_hex("0xf173eb8791f13393"),
1003 from_hex("0x38eb042903697ec7"),
1004 from_hex("0x3dcd521766030a35"),
1005 from_hex("0x4e7242f2e2590ced"),
1006 from_hex("0xbcde2b17c6465f55"),
1007 from_hex("0xa419b8edb51b6e4f"),
1008 from_hex("0xa3ef8c7d6e68b1e1"),
1009 from_hex("0xfefec1d78dcb8cfc"),
1010 from_hex("0xfe175fbf8b5df0c5"),
1011 from_hex("0x667e57935a45dbe1"),
1012 from_hex("0x0ebd7ace9c8d4ee9"),
1013 ],
1014 vec![from_hex("0x773e50c25d3819c1"),
1015 from_hex("0x45c85c224565241a"),
1016 from_hex("0x64a03a2eef9ebf43"),
1017 from_hex("0x4a02400f4b167ddd"),
1018 from_hex("0x2f417842ac9ed456"),
1019 from_hex("0x249949b1eefff202"),
1020 from_hex("0x80243cf4c47eafb9"),
1021 from_hex("0x18037a034a4c95cf"),
1022 from_hex("0xacbefccaade70854"),
1023 from_hex("0x66cf8aa07d35a1ce"),
1024 from_hex("0x846d3408b710d4ba"),
1025 from_hex("0x04aa48cee2a78a82"),
1026 from_hex("0x6ef3e866d8dc086e"),
1027 from_hex("0xcfcb1a3e3159959b"),
1028 from_hex("0x59c94e1f3fec63ed"),
1029 from_hex("0x862975f11117ac97"),
1030 ],
1031 vec![from_hex("0xa9c0df03d0096889"),
1032 from_hex("0x125667a6e22bd90b"),
1033 from_hex("0x6b758e10eaf466e1"),
1034 from_hex("0x8303385b88d09832"),
1035 from_hex("0xf27c4b1152bf6303"),
1036 from_hex("0x260aa1dd16bd7a29"),
1037 from_hex("0xccb3ee8963585ef3"),
1038 from_hex("0xc91ea670d0764254"),
1039 from_hex("0x832d87939f7a730f"),
1040 from_hex("0xaabeb1c3b49d188a"),
1041 from_hex("0x68dd8c924da85779"),
1042 from_hex("0x2d7a73409dc5af2c"),
1043 from_hex("0x4ad4dc809209a3aa"),
1044 from_hex("0x7a790e95a29937f6"),
1045 from_hex("0x9bc2517fc5470b20"),
1046 from_hex("0x455d3ef557aec75d"),
1047 ],
1048 vec![from_hex("0x8c09b790b9924cdb"),
1049 from_hex("0x6c142ef227480b6c"),
1050 from_hex("0xa85307823bc738dc"),
1051 from_hex("0x14e8f203e95e96dc"),
1052 from_hex("0xa5e48f036434be29"),
1053 from_hex("0xc783a1f3687d21f3"),
1054 from_hex("0x78a7e06af0895d88"),
1055 from_hex("0xb6a88527428a3c61"),
1056 from_hex("0x0d4b3ed1059252ba"),
1057 from_hex("0x73771025f87f2ad8"),
1058 from_hex("0x60bec6b717adf983"),
1059 from_hex("0x33bb3588b19d2285"),
1060 from_hex("0xfeaf4100b934b218"),
1061 from_hex("0x4f7a094efa1b9961"),
1062 from_hex("0x3fea7bab3558bea8"),
1063 from_hex("0xefb5a71995aeec28"),
1064 ],
1065 vec![from_hex("0x1f5c2be69b275cd3"),
1066 from_hex("0x601ca94ef0f71c07"),
1067 from_hex("0xfb79b43347d994ef"),
1068 from_hex("0x69dc8d4f987b5201"),
1069 from_hex("0x24cc03252eb2374a"),
1070 from_hex("0x8295f9ae5537a22e"),
1071 from_hex("0xf1abcc5b63ef006c"),
1072 from_hex("0xdf51dc4b3828b280"),
1073 from_hex("0x7f092a1158c4dbad"),
1074 from_hex("0x9be76d66d200c117"),
1075 from_hex("0x8a6def8cc4448c56"),
1076 from_hex("0x610b4970582102b2"),
1077 from_hex("0x63c913db43362d19"),
1078 from_hex("0xf81eb47a5a63bdda"),
1079 from_hex("0xc33a17e927948fb3"),
1080 from_hex("0x83002b64bfc2593f"),
1081 ],
1082 vec![from_hex("0x1f2af41677d60c99"),
1083 from_hex("0x7a7f8e62a9f41f25"),
1084 from_hex("0x3120870e704735ed"),
1085 from_hex("0x5ff11d9de9ee538c"),
1086 from_hex("0xeb4bf76edbd8d353"),
1087 from_hex("0xac405ef785fd2ab2"),
1088 from_hex("0x5350c2f7aedaedb0"),
1089 from_hex("0xb58f8976af75dbc0"),
1090 from_hex("0x47c1d3783117e45b"),
1091 from_hex("0xdfb5dcfdf4cffce2"),
1092 from_hex("0xa8745c4cf5bc5427"),
1093 from_hex("0xd581d168117b9b6a"),
1094 from_hex("0x91e249fbade53f57"),
1095 from_hex("0x5903a10df9872f0c"),
1096 from_hex("0x562acf2bdba9d7c4"),
1097 from_hex("0xc050686b81c9b093"),
1098 ],
1099 vec![from_hex("0x095858d2e32ab71a"),
1100 from_hex("0x19a6a8adfac2ff37"),
1101 from_hex("0xb863bc0e1b8c08e8"),
1102 from_hex("0x1344624c09dec5db"),
1103 from_hex("0x97c5cac341b8e639"),
1104 from_hex("0x90aba2779f256eb4"),
1105 from_hex("0x43f500942d9d35b0"),
1106 from_hex("0x8aef02396eec3c05"),
1107 from_hex("0x68f6492a7d63ec08"),
1108 from_hex("0x4eeb512ae03c9f79"),
1109 from_hex("0xdc24fc149014cdb8"),
1110 from_hex("0x05fe22c8acac87e9"),
1111 from_hex("0xa84c8912b19fa0d5"),
1112 from_hex("0x1f87566955cc3ce4"),
1113 from_hex("0xf89c861696efef5c"),
1114 from_hex("0xce8308124ef615bb"),
1115 ],
1116 vec![from_hex("0xaba66ee6849b1d9b"),
1117 from_hex("0x0ae907ae4337583b"),
1118 from_hex("0x27439812305741b7"),
1119 from_hex("0x327c7be21bf7c43c"),
1120 from_hex("0x9035a91ee69f1dc5"),
1121 from_hex("0x65e8945d23073a57"),
1122 from_hex("0x67ddf6c74a06c9ec"),
1123 from_hex("0x7828ed0e343036ca"),
1124 from_hex("0x1c23ec99287d20d1"),
1125 from_hex("0x516080796ce5eee6"),
1126 from_hex("0x41110ae6d505e0f8"),
1127 from_hex("0xe7c4e5644cc872ad"),
1128 from_hex("0xbbb566b9d72a6580"),
1129 from_hex("0x9b45a6ecbcfce6da"),
1130 from_hex("0xde193c9a3137e2d3"),
1131 from_hex("0x8563f8060ecc6704"),
1132 ],
1133 vec![from_hex("0x09d4c3e560c472c1"),
1134 from_hex("0xb5917bf411e5081d"),
1135 from_hex("0xc682348ad8800d21"),
1136 from_hex("0xeea1d4e76023f198"),
1137 from_hex("0x66ce6c9d45e93eb6"),
1138 from_hex("0x5d3b80d1db692854"),
1139 from_hex("0x951db9f8008de585"),
1140 from_hex("0x1709f64a6e3ffa56"),
1141 from_hex("0x806d2e0e401ed39f"),
1142 from_hex("0x0d39f78057f53891"),
1143 from_hex("0x1e810566bf1a51a9"),
1144 from_hex("0x796a727fd89f3c9a"),
1145 from_hex("0x64548b2c571f4735"),
1146 from_hex("0x608a1f1a4445891b"),
1147 from_hex("0x425a98690e5162a1"),
1148 from_hex("0xef4deb7bd3c5f4a6"),
1149 ],
1150 vec![from_hex("0xad01626374e71d0b"),
1151 from_hex("0xce02c3a4551b17c1"),
1152 from_hex("0x363476bf74d27362"),
1153 from_hex("0xd54e47ee97df11c7"),
1154 from_hex("0xc6c657c070ccab05"),
1155 from_hex("0xb8f830d6b8b8e627"),
1156 from_hex("0x391b4e14848b3114"),
1157 from_hex("0x41629d3dae56ac1b"),
1158 from_hex("0x1912182a866c5972"),
1159 from_hex("0x19fb91266172d39a"),
1160 from_hex("0xf948468aa17a3aa4"),
1161 from_hex("0x3ee0191096ae9b6a"),
1162 from_hex("0xd09dc7117976d158"),
1163 from_hex("0x1940bfb24dab5d87"),
1164 from_hex("0xbfa79639475d9aa2"),
1165 from_hex("0x260b6e80e416bf11"),
1166 ],
1167 vec![from_hex("0x6b61f1c6528ae3fc"),
1168 from_hex("0x233c9299a2acaa4e"),
1169 from_hex("0xde38fd357fa2553b"),
1170 from_hex("0x2d5fa44f52f5a64d"),
1171 from_hex("0x615ca0b34cff4504"),
1172 from_hex("0xf4cf70b9422ae8b6"),
1173 from_hex("0x1f5053c097884f54"),
1174 from_hex("0xd443ca780d5cb4d0"),
1175 from_hex("0x44922fc63b4e271b"),
1176 from_hex("0x5ea7655f6e687f2e"),
1177 from_hex("0xc8b428b75026f3fe"),
1178 from_hex("0x4a8d88511d46fbf9"),
1179 from_hex("0xcc356deef940bd0a"),
1180 from_hex("0x96923b4dcdec7f6e"),
1181 from_hex("0x1121bd7f89966379"),
1182 from_hex("0x1ce32b4b19d1bc4b"),
1183 ],
1184 ];
1185
1186 pub static ref RC16: Vec<Vec<Scalar>> = vec![
1187 vec![from_hex("0xd000d63865fc3c79"),
1188 from_hex("0x625e35f2cf528cb4"),
1189 from_hex("0x11980e3aa17243c9"),
1190 from_hex("0xb476ff23fcaa08a7"),
1191 from_hex("0x7f0a1baae2432674"),
1192 from_hex("0x8b56aec89ff6c7e7"),
1193 from_hex("0x01f902395c689674"),
1194 from_hex("0x95947693180687a9"),
1195 from_hex("0x0ccd73f4a379482d"),
1196 from_hex("0xb45fdd2f193b569b"),
1197 from_hex("0xc7b212e43e71e466"),
1198 from_hex("0x819afa4b1b0202a7"),
1199 from_hex("0x9e027d1c2b610a5b"),
1200 from_hex("0x0bfb9ec5c9f9cbb3"),
1201 from_hex("0xeb9bf343723104f9"),
1202 from_hex("0xae766e96252b2656"),
1203 ],
1204 vec![from_hex("0xda02515e2766a048"),
1205 from_hex("0xa3921eb2015adc86"),
1206 from_hex("0xa772fe350f22fb8a"),
1207 from_hex("0x1599c6c592074c04"),
1208 from_hex("0x9bc0ba13748156a2"),
1209 from_hex("0x7381f42f653c176f"),
1210 from_hex("0x53723090a31caa25"),
1211 from_hex("0x87d8e85074c15c32"),
1212 from_hex("0xc6ab4bc6b252f73a"),
1213 from_hex("0x3b92c7efe30b6747"),
1214 from_hex("0xf493db4ff9e6e85e"),
1215 from_hex("0xc4a97a9dc5042b58"),
1216 from_hex("0xe68aa5bfb5c0a955"),
1217 from_hex("0xb2e03200ab273d96"),
1218 from_hex("0x61a5a6b113268d0d"),
1219 from_hex("0x03390549d615b9c9"),
1220 ],
1221 vec![from_hex("0x1b35cf0dc5a75b2f"),
1222 from_hex("0x6a54080327e421db"),
1223 from_hex("0xb73e75141cf92d5d"),
1224 from_hex("0x6056dc7cefa54d78"),
1225 from_hex("0x1793230346e0b975"),
1226 from_hex("0x4ae6b9aaeb4a2ef5"),
1227 from_hex("0x3b8f29130ae81d15"),
1228 from_hex("0x3a9f434c423184b9"),
1229 from_hex("0x1fc677d3508a5ba4"),
1230 from_hex("0xc9d6a1b47b42e007"),
1231 from_hex("0x195f995cbb31f778"),
1232 from_hex("0xa7aa751c0ebc14c1"),
1233 from_hex("0x3d03884de7132c60"),
1234 from_hex("0x118ee67b4671a434"),
1235 from_hex("0xbd89f76cd3957c0f"),
1236 from_hex("0x6c329e14fa4fd371"),
1237 ],
1238 vec![from_hex("0x60b0fbea23b1dab9"),
1239 from_hex("0xf5a23ebfd3ed4e0b"),
1240 from_hex("0x2f215c1ef6f9c458"),
1241 from_hex("0x999cd763f23cbb09"),
1242 from_hex("0x7e4490aa9edd6bea"),
1243 from_hex("0x874fa590705da731"),
1244 from_hex("0x7b37b4ce8014d07c"),
1245 from_hex("0x9f5783038eb65c5b"),
1246 from_hex("0x3f42e10ee1591f11"),
1247 from_hex("0x5e4369eaa49a3821"),
1248 from_hex("0x89ef55a6fb2ade43"),
1249 from_hex("0xb8060860b74f9c2b"),
1250 from_hex("0xde592820e29b4497"),
1251 from_hex("0x8319837cefd566eb"),
1252 from_hex("0xf17ce493f83202ba"),
1253 from_hex("0x8641b85c30af1ead"),
1254 ],
1255 vec![from_hex("0xede68830a4f41a8a"),
1256 from_hex("0xcbc8935129b8b3ae"),
1257 from_hex("0xd900f46e0bd9f835"),
1258 from_hex("0x712ffe80a2b5e27f"),
1259 from_hex("0x324ef5191380a966"),
1260 from_hex("0x145c5d1efb4d2f2c"),
1261 from_hex("0x4ece20b46bd9fe3c"),
1262 from_hex("0xbe34c76999632f0c"),
1263 from_hex("0x624e132f90758836"),
1264 from_hex("0xb67609c571435444"),
1265 from_hex("0xc3773930385a9ac1"),
1266 from_hex("0x00b1a16a97029c2c"),
1267 from_hex("0xe8a428ea8a9b1e6f"),
1268 from_hex("0x10a0693ac3ef2379"),
1269 from_hex("0x4fde81dd4f314e52"),
1270 from_hex("0x84055b7abc500fc1"),
1271 ],
1272 vec![from_hex("0x88c97ea49cd1ec7a"),
1273 from_hex("0x270c5b0171dd26b5"),
1274 from_hex("0xe09c20585f668e5f"),
1275 from_hex("0xa80c9f432d726ae2"),
1276 from_hex("0xa3729b911e0f1467"),
1277 from_hex("0x213d5fccfd3a0b78"),
1278 from_hex("0xab866543fa3bb04c"),
1279 from_hex("0x3c1d38bdad75eb1f"),
1280 from_hex("0xa9fd54e3ad7aa5fd"),
1281 from_hex("0x4022415a9b729707"),
1282 from_hex("0xe5fd034962bd0ac4"),
1283 from_hex("0x92522922a90ce2a6"),
1284 from_hex("0x113f8176684744ce"),
1285 from_hex("0xe5af7e3cc616d956"),
1286 from_hex("0x7108bc1d7ff8a8e5"),
1287 from_hex("0x3a8d56f1f9f5242f"),
1288 ],
1289 vec![from_hex("0x2a2c96094631b171"),
1290 from_hex("0x2ec6427b5b51309f"),
1291 from_hex("0x835f6fe82d4758b5"),
1292 from_hex("0x7197288dfeaef71a"),
1293 from_hex("0x32b138a01cae2583"),
1294 from_hex("0x4eb52e3feefd5729"),
1295 from_hex("0x64e62a868d35ff26"),
1296 from_hex("0x4c26b4dfc666aef4"),
1297 from_hex("0x2ce88776ee6e1224"),
1298 from_hex("0x3d3013b22282ea61"),
1299 from_hex("0x50b2aa4c2399c6a5"),
1300 from_hex("0xa90c33e69e09b9f8"),
1301 from_hex("0x1636915f9dcf0916"),
1302 from_hex("0x73be99bef627a714"),
1303 from_hex("0x3d57ed10a41be33b"),
1304 from_hex("0x7f042ea08b122a39"),
1305 ],
1306 vec![from_hex("0xedca7a4351a96798"),
1307 from_hex("0xdaa0a5ada1cc2fb3"),
1308 from_hex("0x9dd60bc727fbc5bc"),
1309 from_hex("0x2791fc8a389e22d2"),
1310 from_hex("0x6c174a7d086ac880"),
1311 from_hex("0x07edb6190c3e67e3"),
1312 from_hex("0x23801a6f49e3e4a6"),
1313 from_hex("0x7c7c7c291a29f9b5"),
1314 from_hex("0x1a277b22cf85d7ac"),
1315 from_hex("0x740738f1673fca96"),
1316 from_hex("0xb15ee3cc44f33f02"),
1317 from_hex("0x3498d0046f49b6e2"),
1318 from_hex("0x94da571222f109a0"),
1319 from_hex("0x2d353bde470ac14a"),
1320 from_hex("0xecaa0c17e8055dbd"),
1321 from_hex("0x5e2454e3ffdb18da"),
1322 ],
1323 vec![from_hex("0xd7e3a64fb3264d1d"),
1324 from_hex("0x3052a31719b78a06"),
1325 from_hex("0x59162aadd0b3f312"),
1326 from_hex("0xb64608bd05eb60bd"),
1327 from_hex("0x528a2c6a0617f640"),
1328 from_hex("0x7637880938c26d42"),
1329 from_hex("0x59e4ddbdc0182ec9"),
1330 from_hex("0xd211ed10bac2fdad"),
1331 from_hex("0x586f46c2184d1ac0"),
1332 from_hex("0x78b786eed7815aeb"),
1333 from_hex("0xce0e642f7fb52862"),
1334 from_hex("0x12e626f6958f9565"),
1335 from_hex("0x9493c7055845f65b"),
1336 from_hex("0xd51320190b26e38d"),
1337 from_hex("0x2c508bd722a470ce"),
1338 from_hex("0x009d22a4c29ca249"),
1339 ],
1340 vec![from_hex("0xfcfac08baf9e14a1"),
1341 from_hex("0x4cf798aa444a61d5"),
1342 from_hex("0x46126bcd2f7a63d4"),
1343 from_hex("0x9c1e078766e93c7e"),
1344 from_hex("0x50f8748021791216"),
1345 from_hex("0x22efb8d16a77f94f"),
1346 from_hex("0x1712b1704ea7112a"),
1347 from_hex("0x2a73c448ac4d5b65"),
1348 from_hex("0xa45227035bd5affe"),
1349 from_hex("0x79cb39c66ef33806"),
1350 from_hex("0x6c38644bbdc61071"),
1351 from_hex("0xc1f45a7dc1ef3553"),
1352 from_hex("0xa85d74d4bfaf04ae"),
1353 from_hex("0x8e313517a2f79099"),
1354 from_hex("0x8d046211d1b63db9"),
1355 from_hex("0x62f180251d281209"),
1356 ],
1357 vec![from_hex("0x06f7994127052ceb"),
1358 from_hex("0x5d13b0a3290b908f"),
1359 from_hex("0x1a0265629c004c38"),
1360 from_hex("0xec280d7b23925d69"),
1361 from_hex("0x1d6299932e9d2a8e"),
1362 from_hex("0xa6a71d56f4d3e367"),
1363 from_hex("0xe6a946e0cc6035f4"),
1364 from_hex("0x6f21374b5568cc25"),
1365 from_hex("0xc1628f13cfb174cb"),
1366 from_hex("0x85eab0c54a183006"),
1367 from_hex("0xe3820623a252e6d8"),
1368 from_hex("0x6275743e5403cd8a"),
1369 from_hex("0x932ce37e88729ab1"),
1370 from_hex("0xa19d9df5d70202de"),
1371 from_hex("0x2836927a604f754d"),
1372 from_hex("0x20d772c204e8f463"),
1373 ],
1374 vec![from_hex("0x9f76028c1d55bb04"),
1375 from_hex("0x5dab8100b8fe7988"),
1376 from_hex("0xf6a0e11dcd8e0927"),
1377 from_hex("0x329aafc9e7b5d6e5"),
1378 from_hex("0x57969325de1a0c7f"),
1379 from_hex("0x895e26cae3fc8189"),
1380 from_hex("0xaf2cbe1f27176d3d"),
1381 from_hex("0xd0f214ac99c66006"),
1382 from_hex("0xae5a012a279e87b0"),
1383 from_hex("0x84c1f38ec5f72b38"),
1384 from_hex("0x40abb9d2714ae2e6"),
1385 from_hex("0xef8e1878f1c6384a"),
1386 from_hex("0xa13cabb7d7242b27"),
1387 from_hex("0xac6e771de7832d78"),
1388 from_hex("0x2ae007b1be327246"),
1389 from_hex("0x9422d6b53c7e5968"),
1390 ],
1391 vec![from_hex("0x6a44b5f00103941a"),
1392 from_hex("0x3716571d8b74b899"),
1393 from_hex("0xc8410a92f75e94dd"),
1394 from_hex("0x5e1d8cae64000676"),
1395 from_hex("0x329e3d1ee726ecc4"),
1396 from_hex("0xa32101d2a10934bc"),
1397 from_hex("0x35d6181f5343688e"),
1398 from_hex("0xb5f03e3daa363f0b"),
1399 from_hex("0xffecbba4145edc33"),
1400 from_hex("0xcbf46dafd7bf028c"),
1401 from_hex("0x19a58b9ba090596e"),
1402 from_hex("0x117b7413575a04dc"),
1403 from_hex("0x78f1ea355a0c9757"),
1404 from_hex("0x175d101430240370"),
1405 from_hex("0x866209921c858707"),
1406 from_hex("0xe3a2d19bd84ee83c"),
1407 ],
1408 vec![from_hex("0xe666636b5a656888"),
1409 from_hex("0xba88d558a74f8fb4"),
1410 from_hex("0x06b71be6eb5229aa"),
1411 from_hex("0xaa5fa7f623becee5"),
1412 from_hex("0x9abeaf9d20bfd330"),
1413 from_hex("0x1f5d71551b536f15"),
1414 from_hex("0xd280fd25f7415f0e"),
1415 from_hex("0x7c7123b195ba9302"),
1416 from_hex("0x75b866c72151e12b"),
1417 from_hex("0xcf32198b0b3aed23"),
1418 from_hex("0x594f7a84cd4ecf83"),
1419 from_hex("0xaa21157cf7799f2b"),
1420 from_hex("0xea66722bf254a1fe"),
1421 from_hex("0xaa53769120658ebe"),
1422 from_hex("0xb8624569a4b334ff"),
1423 from_hex("0x8505d51f73c79848"),
1424 ],
1425 vec![from_hex("0xdf4f7401d0b6a2c3"),
1426 from_hex("0x80d2a83296ea3664"),
1427 from_hex("0x330c4da955cb1f46"),
1428 from_hex("0x85c6dc8fe982adc5"),
1429 from_hex("0x4befc2f3efa1469f"),
1430 from_hex("0x130ab7449d2fc4f4"),
1431 from_hex("0x033d5e212dae2e90"),
1432 from_hex("0x7245a72c0414df03"),
1433 from_hex("0x64527ad2a4cfdfdd"),
1434 from_hex("0x3c3599450578e3b6"),
1435 from_hex("0x4c67f97704b01c79"),
1436 from_hex("0xbae39f372f35faca"),
1437 from_hex("0x61a825cd44fc0755"),
1438 from_hex("0x94c954c252ba7cf1"),
1439 from_hex("0xa35da0feaea82507"),
1440 from_hex("0x133270b0034f52fe"),
1441 ],
1442 vec![from_hex("0xdb7de91668b5b097"),
1443 from_hex("0x7a0f7aaf33f14eb1"),
1444 from_hex("0xd7385148e3f7c7e6"),
1445 from_hex("0xcc74d169083af284"),
1446 from_hex("0x57e8355765943e59"),
1447 from_hex("0x3d6f0688ede3bbef"),
1448 from_hex("0x481b403b9695cddd"),
1449 from_hex("0xc045c1733f6edd61"),
1450 from_hex("0x3fc632ceac1128fe"),
1451 from_hex("0x449d9de7f5ba20e4"),
1452 from_hex("0xa4d2f22eab5f49c1"),
1453 from_hex("0x50f115112e95049e"),
1454 from_hex("0xeaf3d84652e7d084"),
1455 from_hex("0xc0e466033de73e49"),
1456 from_hex("0xe54dadfeecad7182"),
1457 from_hex("0x598eaa20bfb99a66"),
1458 ],
1459 vec![from_hex("0x289dd303b9c88b4b"),
1460 from_hex("0x35db931222f6c425"),
1461 from_hex("0x20e47f82475e0b67"),
1462 from_hex("0xdd535f820a81d525"),
1463 from_hex("0x23f78d0e5348f9ca"),
1464 from_hex("0x0cf985aa2ff98674"),
1465 from_hex("0x34ff2472dc6b00f0"),
1466 from_hex("0x468ccb9a8ee94524"),
1467 from_hex("0xb7f9fc3f817dec38"),
1468 from_hex("0xf0c8233075a61866"),
1469 from_hex("0x46754315ff97b18f"),
1470 from_hex("0x2316fa75cc5add95"),
1471 from_hex("0x8539f2c944bcf6ab"),
1472 from_hex("0x2904619cc6e4b358"),
1473 from_hex("0x3a6153c863ba43c9"),
1474 from_hex("0xac03376516c156e2"),
1475 ],
1476 vec![from_hex("0x24746156aca3e66d"),
1477 from_hex("0xee770137e30b7356"),
1478 from_hex("0x223004f75d592e60"),
1479 from_hex("0x185e7caffc050d98"),
1480 from_hex("0xbe891de0a86f5933"),
1481 from_hex("0x655f4f7ba641156c"),
1482 from_hex("0x32b2c57ee017e02e"),
1483 from_hex("0xb5331ca6db1cd369"),
1484 from_hex("0xe724c737bdc7679a"),
1485 from_hex("0xda2a83f15ea92eff"),
1486 from_hex("0x3cfc2fd0a666ec00"),
1487 from_hex("0x9fc3d8eec44f81d1"),
1488 from_hex("0x180b46b5bb846c99"),
1489 from_hex("0xc874bc8e6b4f5e49"),
1490 from_hex("0xe806772184f95539"),
1491 from_hex("0x2f98a307c07fe712"),
1492 ],
1493 vec![from_hex("0xf7ad05d2152cc8e0"),
1494 from_hex("0x6184ff1c55623341"),
1495 from_hex("0x7db76fcd1a1ad1cc"),
1496 from_hex("0x420dff7b490b63b7"),
1497 from_hex("0xd3909efd62446633"),
1498 from_hex("0xc0a9626010d9337a"),
1499 from_hex("0x6467e51bf3d4a159"),
1500 from_hex("0xbcd86f8ed95c8029"),
1501 from_hex("0x865395802d298270"),
1502 from_hex("0xe4b1763459e41e22"),
1503 from_hex("0x2da4f5a76bbef23b"),
1504 from_hex("0x42702ba7e249fe76"),
1505 from_hex("0x7b6353f0c4d29929"),
1506 from_hex("0xd7f5676c38479db8"),
1507 from_hex("0x4dc314866efb67ce"),
1508 from_hex("0xe85869cfa847af8f"),
1509 ],
1510 vec![from_hex("0xef9f7c17e4a27a79"),
1511 from_hex("0xabaf0627a707a823"),
1512 from_hex("0x09455b5c8396308f"),
1513 from_hex("0x428ba8cbc6f9cf06"),
1514 from_hex("0xbe2c1090485097ca"),
1515 from_hex("0x480a0d60cbaf82ea"),
1516 from_hex("0xcfa057d3fa626482"),
1517 from_hex("0xbc503c07a7e9f5e0"),
1518 from_hex("0xca7975f1df177dab"),
1519 from_hex("0x321e02d20e4e5d65"),
1520 from_hex("0xcb6a32aa135a964e"),
1521 from_hex("0xdaf05df856da4d42"),
1522 from_hex("0xa10051d35e6e3fb9"),
1523 from_hex("0x43718453b12ab383"),
1524 from_hex("0x3c8ab6e656dbe1a3"),
1525 from_hex("0x3ec17f317541ad0d"),
1526 ],
1527 vec![from_hex("0xd39b352e9397633e"),
1528 from_hex("0x48bd29d8f9fcd3bc"),
1529 from_hex("0xd748355f24fbe7f1"),
1530 from_hex("0x3368971efcb6436c"),
1531 from_hex("0x0817e09b59a0fc66"),
1532 from_hex("0x24e8a91962876d77"),
1533 from_hex("0xcc60978c7b4c5586"),
1534 from_hex("0x64829552f391bdbb"),
1535 from_hex("0x325bc8ab539a4c27"),
1536 from_hex("0x49693d73a18ac412"),
1537 from_hex("0xe929e1e64a1b95e3"),
1538 from_hex("0x185f85788c07f98d"),
1539 from_hex("0xb50d567c6fdf6e6a"),
1540 from_hex("0x003bf8e721ac8a22"),
1541 from_hex("0x4d92621b9fc818e0"),
1542 from_hex("0x84d1ba59aa24fa2b"),
1543 ],
1544 vec![from_hex("0x8d316d60e8e75521"),
1545 from_hex("0x9790a2f7ea30de17"),
1546 from_hex("0x9b63b3ad85ae695c"),
1547 from_hex("0x20759635de34383b"),
1548 from_hex("0xeea73e79557b311d"),
1549 from_hex("0x8ef4cdc3785c65f8"),
1550 from_hex("0x1d431b940d8e1f19"),
1551 from_hex("0xf4bd6f5afecc281c"),
1552 from_hex("0x0d20aa83cbb2ad12"),
1553 from_hex("0x96393ca0afee2d4b"),
1554 from_hex("0x504abb88f6a297c2"),
1555 from_hex("0x0b7bd427f9c766ca"),
1556 from_hex("0x68ef5e0144436ec8"),
1557 from_hex("0x350f612e4415e5a7"),
1558 from_hex("0x583d8c9e3a70d1bd"),
1559 from_hex("0xd507b357f62cfdd8"),
1560 ],
1561 vec![from_hex("0x9bfa89d56c7877ff"),
1562 from_hex("0x2ba30d34f15b5823"),
1563 from_hex("0xcb095e5eb639f250"),
1564 from_hex("0xdab5126c8c219a20"),
1565 from_hex("0x319844bf4a41539b"),
1566 from_hex("0xa672f82bba3987c8"),
1567 from_hex("0x4e3d25bd968bb8bb"),
1568 from_hex("0x797add768278b6eb"),
1569 from_hex("0x60bf02d0b26672cf"),
1570 from_hex("0x37934c0e69acd0aa"),
1571 from_hex("0x3d235d313dd8d3f1"),
1572 from_hex("0xc5aa7f9292bea193"),
1573 from_hex("0x09f887b635171f39"),
1574 from_hex("0xd7bd52f89f018158"),
1575 from_hex("0xe72f8221b3820d8e"),
1576 from_hex("0xfd860fd5dc39902d"),
1577 ],
1578 vec![from_hex("0xf966a2e631b7d690"),
1579 from_hex("0x42e791fa2be2ccee"),
1580 from_hex("0xc033f72d38b693cd"),
1581 from_hex("0x75f8a5c39e45e8c4"),
1582 from_hex("0xdad9656bfce8c522"),
1583 from_hex("0x987614dd9bc2108b"),
1584 from_hex("0xc50ac80b4fcfbc33"),
1585 from_hex("0x67f6b6ec58df99bf"),
1586 from_hex("0x5cd288a2e6520249"),
1587 from_hex("0x585babb78bc8102c"),
1588 from_hex("0x8762bf9dc5d0a32c"),
1589 from_hex("0xad42efaa96599cf1"),
1590 from_hex("0x69315e582f1b459a"),
1591 from_hex("0xf5d26e5c45bff516"),
1592 from_hex("0xfcf3ae9b915dda37"),
1593 from_hex("0x7813796bc1100358"),
1594 ],
1595 vec![from_hex("0xd0ad7352ed016598"),
1596 from_hex("0x9db6bfcdb541fa72"),
1597 from_hex("0xb4d00522f9672c57"),
1598 from_hex("0x232e9f2d10f533c6"),
1599 from_hex("0x05ac8efd78de7c28"),
1600 from_hex("0x80af32d5532d5fed"),
1601 from_hex("0x5577f2d9ea9385b2"),
1602 from_hex("0x228240f230b2f217"),
1603 from_hex("0x5394a71b1fb7aa85"),
1604 from_hex("0x0b5a8ccb396a59db"),
1605 from_hex("0x4ee98f09437f36ba"),
1606 from_hex("0x7cbf7be4c085616c"),
1607 from_hex("0x41c9111fa2784069"),
1608 from_hex("0x5f6ea06b7b76c7d0"),
1609 from_hex("0xcfb5cafb92bc789b"),
1610 from_hex("0x1b2e25ebfb353232"),
1611 ],
1612 vec![from_hex("0x0339ad1ec3c545f6"),
1613 from_hex("0x170b3989cd4c901e"),
1614 from_hex("0x05999b936a0d08e8"),
1615 from_hex("0x3f2610d0b9a2b4e7"),
1616 from_hex("0x0eb14b74e61a97e8"),
1617 from_hex("0x23ad4807a8eca40e"),
1618 from_hex("0x4b025b456b647ad5"),
1619 from_hex("0x0629e57b11d67e01"),
1620 from_hex("0x06c032015700129d"),
1621 from_hex("0xb23fc7f77d1765d3"),
1622 from_hex("0x3006b8d5792b4fba"),
1623 from_hex("0x6f1b1cb04a273f8a"),
1624 from_hex("0x40435b1f6d00c098"),
1625 from_hex("0x9d9f1b6a615665e7"),
1626 from_hex("0xc5e16d0e6a022561"),
1627 from_hex("0x0b2a5df381ce2057"),
1628 ],
1629 vec![from_hex("0x9c1e3befac8a72b2"),
1630 from_hex("0x1fe72d504d48d602"),
1631 from_hex("0x7ce7659ce3f56c5d"),
1632 from_hex("0x4f29df77a478551d"),
1633 from_hex("0x9fcbc22506d311e7"),
1634 from_hex("0x992289d629af8e66"),
1635 from_hex("0xc12270dc76264177"),
1636 from_hex("0x35f3498c897aba9b"),
1637 from_hex("0x2fcb5c8187b95b2e"),
1638 from_hex("0x5a0ab40452f54c81"),
1639 from_hex("0x8adcd8364189414f"),
1640 from_hex("0x337b35f2c897dff4"),
1641 from_hex("0x232594383801c32f"),
1642 from_hex("0x73489782f5927673"),
1643 from_hex("0xec3e0e552b1f03cb"),
1644 from_hex("0x1646ce1d8e480f26"),
1645 ],
1646 vec![from_hex("0x24a68157b9163f07"),
1647 from_hex("0xda9aa874a46c5784"),
1648 from_hex("0x73464771c7aef63c"),
1649 from_hex("0xe42a199798f2362d"),
1650 from_hex("0x96fbd5d1f2a95378"),
1651 from_hex("0x5bbe562687bbfec9"),
1652 from_hex("0x4aaf67815e051ad5"),
1653 from_hex("0xcec0acf60974e6df"),
1654 from_hex("0x46572c4e6561e849"),
1655 from_hex("0x92abbb4ee2ff6bba"),
1656 from_hex("0x4101a993af9e3937"),
1657 from_hex("0x815293a6b6c68a7b"),
1658 from_hex("0x55d02e79935f57d9"),
1659 from_hex("0x977a20d1d1fcdbb0"),
1660 from_hex("0xc333167a6ed8d47f"),
1661 from_hex("0x0b73e784b6252b3c"),
1662 ],
1663 vec![from_hex("0x51a1547e569a76d4"),
1664 from_hex("0x73cb6ced73d1a18f"),
1665 from_hex("0xa8fc013106e550c4"),
1666 from_hex("0x59058f7ba21fdda3"),
1667 from_hex("0x4a8c6ea4803fad19"),
1668 from_hex("0xd210726ed054ae7e"),
1669 from_hex("0x53956148027c6d24"),
1670 from_hex("0x99b6d710f2e2c043"),
1671 from_hex("0x25470228a5e271dc"),
1672 from_hex("0x599fcd4e82da008a"),
1673 from_hex("0x04b9379301480533"),
1674 from_hex("0x2fa21f4896602d4c"),
1675 from_hex("0x1c98db53b8a7fdc6"),
1676 from_hex("0xc45156db2011317a"),
1677 from_hex("0x493cf970151760b4"),
1678 from_hex("0xdb69d4da1eee559a"),
1679 ],
1680 vec![from_hex("0x6b7f4a6fd72ea156"),
1681 from_hex("0xd52d6bb2cbb87762"),
1682 from_hex("0x2e06388870964f14"),
1683 from_hex("0xeb93e95552706e41"),
1684 from_hex("0xe2f9f82355e40c9d"),
1685 from_hex("0x5ba28e864b42970b"),
1686 from_hex("0xef58359afceeaa09"),
1687 from_hex("0x0ed89ea0a3c649ab"),
1688 from_hex("0x266a4798c1a3c79c"),
1689 from_hex("0x687953b84a72e982"),
1690 from_hex("0x26ce2a01e775ff44"),
1691 from_hex("0xc3ae2291dae70eb9"),
1692 from_hex("0xc455b857b4799ae3"),
1693 from_hex("0xa6729a7261adaa73"),
1694 from_hex("0x1e25f923e13bf80f"),
1695 from_hex("0xadcbf556b2afde5b"),
1696 ],
1697 ];
1698
1699 pub static ref MDS20: Vec<Vec<Scalar>> = vec![
1700 vec![from_hex("0xe20ee5c2654d981f"),
1701 from_hex("0x518174152bab12a0"),
1702 from_hex("0x281bc4a4a2de3e00"),
1703 from_hex("0x90b0f6cae0da1926"),
1704 from_hex("0x38b1839b7638a2bc"),
1705 from_hex("0x54ec04dcbc096558"),
1706 from_hex("0xd33eb141a213cce0"),
1707 from_hex("0x8a484a2b1862d4f5"),
1708 from_hex("0xe032f407201cd062"),
1709 from_hex("0x870e6317b8339a4a"),
1710 from_hex("0x2ce1ae7a8928d264"),
1711 from_hex("0xcd9e09afb4351cf6"),
1712 from_hex("0x48c956fd1250ba8f"),
1713 from_hex("0x88ac92e12742532d"),
1714 from_hex("0x3fb991afb66d427c"),
1715 from_hex("0x0269a68d71720c56"),
1716 from_hex("0xdd51b565ac70e33f"),
1717 from_hex("0xdb14d740b08bbf36"),
1718 from_hex("0x7cc3a28b7c06fa4b"),
1719 from_hex("0x0ef450d56bebf48a"),
1720 ],
1721 vec![from_hex("0x0ceb3b278249efbf"),
1722 from_hex("0xbb771c4839efaffb"),
1723 from_hex("0x6b285fe38283bbb9"),
1724 from_hex("0xb8fc67f589fd29ca"),
1725 from_hex("0x8d803efb3ff271c4"),
1726 from_hex("0xa2b8084c4f628ec5"),
1727 from_hex("0x8aa133e515abb782"),
1728 from_hex("0xfdc7d6f5fa3e7987"),
1729 from_hex("0xe96b499e044e824c"),
1730 from_hex("0xc83ba91943ec1875"),
1731 from_hex("0x905ef38045bff728"),
1732 from_hex("0x95af7ff95a95a7bc"),
1733 from_hex("0xc05ac939d9f9f349"),
1734 from_hex("0xa83aa4665d2a3dea"),
1735 from_hex("0x4a1e8e834001972e"),
1736 from_hex("0x3d728b9033d97470"),
1737 from_hex("0xfbfe7cca85b3b75c"),
1738 from_hex("0x080f2da1a30fbead"),
1739 from_hex("0x875200f73196e6c2"),
1740 from_hex("0xd7827fdb46055309"),
1741 ],
1742 vec![from_hex("0xebe0b35c6dbe140d"),
1743 from_hex("0x7fd6ab6616bb1bf9"),
1744 from_hex("0x717459d485d98a2e"),
1745 from_hex("0xe5116ba24f65dd01"),
1746 from_hex("0x8d04c1cf01afa122"),
1747 from_hex("0xf40bd92dc7f748fa"),
1748 from_hex("0xea29b69b8fe3bb21"),
1749 from_hex("0xeadcb5aea5dea4bb"),
1750 from_hex("0x4826cb34cbb71d6f"),
1751 from_hex("0xf40fb738afbcc97c"),
1752 from_hex("0x8888d4c4af2b6fc2"),
1753 from_hex("0x674e54a1a362ccb4"),
1754 from_hex("0x32e3f837973d5ba7"),
1755 from_hex("0x59fa8fa72fa83974"),
1756 from_hex("0x0d4226f6e8f4112d"),
1757 from_hex("0xad2847094a7aade7"),
1758 from_hex("0xb6a4b5229bd9d017"),
1759 from_hex("0x06b13180699f85e7"),
1760 from_hex("0xb6b7445f538f152e"),
1761 from_hex("0xccb2069b377ddcfe"),
1762 ],
1763 vec![from_hex("0x814b5a240e8b153e"),
1764 from_hex("0x746302a0aa0ad2bc"),
1765 from_hex("0x3929e96b6756353a"),
1766 from_hex("0x7fa42027e0611bfd"),
1767 from_hex("0xb257d6ba7b39c573"),
1768 from_hex("0x517efba54b1c1923"),
1769 from_hex("0xacd00549a88a93e6"),
1770 from_hex("0x5377fa3a29d4c1eb"),
1771 from_hex("0x146c295978bf8ea0"),
1772 from_hex("0x344bfb309bd0b204"),
1773 from_hex("0xb8677bab0a14c312"),
1774 from_hex("0x97e853268ca1c651"),
1775 from_hex("0x46ff8798cf1f5762"),
1776 from_hex("0x987ca1bc1773dfd5"),
1777 from_hex("0xbc9ee7b36a6f15bb"),
1778 from_hex("0x7cbc8c40769552dc"),
1779 from_hex("0x66786b9f1ef83b8d"),
1780 from_hex("0xd1e1a3a1c7a1b495"),
1781 from_hex("0x5fde309c0af01879"),
1782 from_hex("0x4c6fc6acbfcaff9b"),
1783 ],
1784 vec![from_hex("0x5929fe3e30df3a13"),
1785 from_hex("0x58a40701953d7ecf"),
1786 from_hex("0x406b59ebecf429cf"),
1787 from_hex("0x4982d5c020f9a506"),
1788 from_hex("0xf2027a297055a1b3"),
1789 from_hex("0xfcb289fa258aabd7"),
1790 from_hex("0x85a7cfda55ab0bf1"),
1791 from_hex("0x7d4f9b12a6f967ff"),
1792 from_hex("0x38490bec54936b2c"),
1793 from_hex("0xd94f9e503ef03a40"),
1794 from_hex("0x37b88607055d4cec"),
1795 from_hex("0x8a7fc712c6116831"),
1796 from_hex("0xd6b9b4fc99a4ac4b"),
1797 from_hex("0x2026711056fcbc76"),
1798 from_hex("0x9651883ef9101097"),
1799 from_hex("0xab956d787fac85ff"),
1800 from_hex("0xa19234a70d3ad948"),
1801 from_hex("0x75e7287e8f16444c"),
1802 from_hex("0x6fd7d292a88f03d2"),
1803 from_hex("0x8eaf78617a79feaf"),
1804 ],
1805 vec![from_hex("0xb865ae019c1346fd"),
1806 from_hex("0xd5e79938f71ec956"),
1807 from_hex("0xd21dd339cc65b51d"),
1808 from_hex("0xdeb97e384320b0ff"),
1809 from_hex("0x7051681f247e9f2c"),
1810 from_hex("0x22e8161797d8e4f3"),
1811 from_hex("0x398e2ce0fe9d5167"),
1812 from_hex("0x0b1487b64fd7a870"),
1813 from_hex("0xbe0b3e3ec09150a7"),
1814 from_hex("0x633b61628e35f645"),
1815 from_hex("0x770ae56ef94a032e"),
1816 from_hex("0x4e88ad7314773e9a"),
1817 from_hex("0x728474f8c16e442e"),
1818 from_hex("0xb3321043f6800e83"),
1819 from_hex("0x06da583bbb2654a7"),
1820 from_hex("0xccb97b44ce3b5ada"),
1821 from_hex("0x792654a168963f84"),
1822 from_hex("0x42674eea15035327"),
1823 from_hex("0x5adfdff132b23e06"),
1824 from_hex("0x25f4bc1b91a1a4ce"),
1825 ],
1826 vec![from_hex("0xecce5c4c0371478f"),
1827 from_hex("0x7749a4c098d5787d"),
1828 from_hex("0x2d81a0c7957becb3"),
1829 from_hex("0x86e1a8daeef32880"),
1830 from_hex("0x34f16eb0ace67156"),
1831 from_hex("0x44cd0fb268d80f45"),
1832 from_hex("0x2760ce25cffdbb90"),
1833 from_hex("0xe0beda502b21ab0d"),
1834 from_hex("0x27530290e9966989"),
1835 from_hex("0x92e8fb8a3138c3d7"),
1836 from_hex("0x21cbe77e06b5c615"),
1837 from_hex("0x493cbf01ab150b2f"),
1838 from_hex("0x1163dfd3a49229a7"),
1839 from_hex("0xb6653a1f64c8a539"),
1840 from_hex("0x7ce1a5653934f262"),
1841 from_hex("0x444b96c25e1f6570"),
1842 from_hex("0xf58490b9848242ad"),
1843 from_hex("0x725535161c6288c1"),
1844 from_hex("0xada88e4e12d38721"),
1845 from_hex("0x86d97d02dae840b1"),
1846 ],
1847 vec![from_hex("0xc9a908289fdca616"),
1848 from_hex("0x12ff7717cb445051"),
1849 from_hex("0x3e685709c41d8c98"),
1850 from_hex("0x0f41272b92a3b5da"),
1851 from_hex("0x59da64ce2f138061"),
1852 from_hex("0x4f52009fc4e61d0a"),
1853 from_hex("0xe0e2ea9b542b9ed9"),
1854 from_hex("0x92dffd5dd3b45f2e"),
1855 from_hex("0xeaba09306d2c1a30"),
1856 from_hex("0x12778f70c9b721b9"),
1857 from_hex("0x3e7c37fc23d48ae1"),
1858 from_hex("0x5c88591cbebc8115"),
1859 from_hex("0x4274de695867ca7e"),
1860 from_hex("0x1063c5c38f1af0a2"),
1861 from_hex("0xd7db78cde81bd49a"),
1862 from_hex("0x48dd97d20e157b12"),
1863 from_hex("0xac9278cb86df622f"),
1864 from_hex("0x42094d2446810c90"),
1865 from_hex("0xe999ad90db75ccd4"),
1866 from_hex("0x1e71630138525965"),
1867 ],
1868 vec![from_hex("0x9525b966cea721bc"),
1869 from_hex("0x4b603d00f2dc6644"),
1870 from_hex("0xd858007915f0bad8"),
1871 from_hex("0x2a7d290ec9613069"),
1872 from_hex("0xfb079890a3dd1be7"),
1873 from_hex("0x1913c107059b61a6"),
1874 from_hex("0xc6fd288a876dd4ee"),
1875 from_hex("0xdb9c62469b5e9ef5"),
1876 from_hex("0x9cf84070d111dc6f"),
1877 from_hex("0xedc8957c6ed7c400"),
1878 from_hex("0x45aeeae15e7b030d"),
1879 from_hex("0x269382694ac8dd3c"),
1880 from_hex("0xf00c23b469c2519c"),
1881 from_hex("0xc6c0734764f29e4b"),
1882 from_hex("0xe08ac27af8a3d08d"),
1883 from_hex("0x9cdaf508fd24a7c2"),
1884 from_hex("0x0935ea13ce0dc0dc"),
1885 from_hex("0xd8f29918ca9b9b90"),
1886 from_hex("0xf03003344ca923a6"),
1887 from_hex("0xfb361c8a207ea0cc"),
1888 ],
1889 vec![from_hex("0x8d2d1bed00dbaca8"),
1890 from_hex("0x6697c6c37e45c909"),
1891 from_hex("0x25eae0a3d9301463"),
1892 from_hex("0xc359baa32d2dc6ab"),
1893 from_hex("0x1935122bc4596d52"),
1894 from_hex("0x6df62146f11cf63f"),
1895 from_hex("0x44349cd3f4c7abd3"),
1896 from_hex("0x4874855f489d0e64"),
1897 from_hex("0x65269d25f684f3e4"),
1898 from_hex("0x2a92d1533eb120f0"),
1899 from_hex("0xaae7a35483cc8423"),
1900 from_hex("0xf56307bec1cc94ac"),
1901 from_hex("0xf8f7783bdae7f1b1"),
1902 from_hex("0x3f37784d54b8f67b"),
1903 from_hex("0x15323ecd2ff996ea"),
1904 from_hex("0x4dae293ba6ef3ff7"),
1905 from_hex("0x6ed611497f3c5f39"),
1906 from_hex("0xcc79ce692da5480f"),
1907 from_hex("0xa49ed9d637b200a6"),
1908 from_hex("0x4a4e37a35bbb80c5"),
1909 ],
1910 vec![from_hex("0xb82da8fadc09722e"),
1911 from_hex("0x1acc35f387a5f90e"),
1912 from_hex("0x5731d08e6fc6b2e7"),
1913 from_hex("0xfe7c3d1da5a27786"),
1914 from_hex("0xc5947c104c217477"),
1915 from_hex("0xa7b021da22497bf9"),
1916 from_hex("0x4de952cec8e048cc"),
1917 from_hex("0xfd6ba9da155cac61"),
1918 from_hex("0xe5b2469ed786b689"),
1919 from_hex("0x8249096163f0bb43"),
1920 from_hex("0x9a0fe3552f309995"),
1921 from_hex("0x58b2cc6057db129a"),
1922 from_hex("0x914fba165abd11f1"),
1923 from_hex("0x807db1e013a20a12"),
1924 from_hex("0xdca0f24faa68bcf3"),
1925 from_hex("0x54f3b00e0ba8e832"),
1926 from_hex("0xa963f5e5a994f065"),
1927 from_hex("0x1a973b222311614d"),
1928 from_hex("0x0b9da0756dc62df4"),
1929 from_hex("0xee930b1f2baef1e0"),
1930 ],
1931 vec![from_hex("0x4eb85e70780753eb"),
1932 from_hex("0x753bf2470b34607d"),
1933 from_hex("0xff65c82dbee71189"),
1934 from_hex("0x8234d6874e26bf0b"),
1935 from_hex("0x148a152ea155efba"),
1936 from_hex("0x1d8054f3c5667fee"),
1937 from_hex("0x9dbb7cdff5015ee6"),
1938 from_hex("0xcb832029d3efdee1"),
1939 from_hex("0x036289daf9ffc3c8"),
1940 from_hex("0x5d3eaa1b25a8674c"),
1941 from_hex("0x2429af1681e55681"),
1942 from_hex("0x0ef96fe4fd5480c3"),
1943 from_hex("0xa2ec22ce95dd00b7"),
1944 from_hex("0x1baf48a952da8441"),
1945 from_hex("0xb8c13ac02177108e"),
1946 from_hex("0x2955e7bce2836cda"),
1947 from_hex("0x4fd25b6caeb45318"),
1948 from_hex("0x9ac7b5a7740b6714"),
1949 from_hex("0xb55649023a280520"),
1950 from_hex("0xd4a587de36095f3c"),
1951 ],
1952 vec![from_hex("0x0fa5c31e2dfd5090"),
1953 from_hex("0xe23454ecde6d2c28"),
1954 from_hex("0x03e9f4bfdb5dbe20"),
1955 from_hex("0xdea844b0900e4e1a"),
1956 from_hex("0x890e6755eafd8f8b"),
1957 from_hex("0xdbda7af07dca2223"),
1958 from_hex("0x735c78edfa9a88c6"),
1959 from_hex("0x53995bad3238f9b5"),
1960 from_hex("0x4e255f732e930106"),
1961 from_hex("0x48acd3ddf664ee5c"),
1962 from_hex("0x8a7857ff22189606"),
1963 from_hex("0xe996a52e14198362"),
1964 from_hex("0x1ceaca4d5479e108"),
1965 from_hex("0x9b65a03f391c1665"),
1966 from_hex("0xd251e64208d69e4b"),
1967 from_hex("0x6ea87fd5798fb592"),
1968 from_hex("0x2bb5c300d5e6bef8"),
1969 from_hex("0x822c28c84c048f74"),
1970 from_hex("0x4a8ce2033bf58ee5"),
1971 from_hex("0xd9698648ab79db95"),
1972 ],
1973 vec![from_hex("0x55d98c22ae08afba"),
1974 from_hex("0x14323b66ef9a3540"),
1975 from_hex("0xa35174222e5c136f"),
1976 from_hex("0xd3a2287e97779a2e"),
1977 from_hex("0xb666a7d72cd2ecce"),
1978 from_hex("0xcb863f33c3062806"),
1979 from_hex("0xae18c5ba869e6f9c"),
1980 from_hex("0x14d2d3baa10f0bfb"),
1981 from_hex("0x6567ad3ec588a95a"),
1982 from_hex("0x7dde49fa34cdc26f"),
1983 from_hex("0x18effa7ffa5dcc41"),
1984 from_hex("0x95c2f94c2f3fa7e6"),
1985 from_hex("0x37b1745e5cc29484"),
1986 from_hex("0x77e49537520a0a11"),
1987 from_hex("0x23fe139583916ef4"),
1988 from_hex("0x79c6fe52cbfa7015"),
1989 from_hex("0xcad0a50614338ec9"),
1990 from_hex("0x6feee8b2b0ad09cf"),
1991 from_hex("0x155b3f3f17be5ff0"),
1992 from_hex("0x472e502dafe51581"),
1993 ],
1994 vec![from_hex("0x771c0e4f03f090d4"),
1995 from_hex("0x72c0f6b672b46742"),
1996 from_hex("0x9cb52ff7fecb72c8"),
1997 from_hex("0x4636b524711adb01"),
1998 from_hex("0x6e3caaadeb7ade6b"),
1999 from_hex("0xce697b70473098d2"),
2000 from_hex("0x0e090962d143ff2f"),
2001 from_hex("0xdcc52e52afba0bf9"),
2002 from_hex("0x24f2c535b9cb5cfa"),
2003 from_hex("0xd5f5fe2c9462aadf"),
2004 from_hex("0xab920942763151de"),
2005 from_hex("0xd7ed4fa61a74ecf5"),
2006 from_hex("0xddda0819fede290a"),
2007 from_hex("0x386fec2a07520ae8"),
2008 from_hex("0x2e887a9403f49a86"),
2009 from_hex("0x2a14eeb328ad3ab6"),
2010 from_hex("0x926c7187c1493097"),
2011 from_hex("0x1165c5aa0c9a5d52"),
2012 from_hex("0xb388492b1dacb603"),
2013 from_hex("0xc2696bb18b7f239f"),
2014 ],
2015 vec![from_hex("0xa5ba46a402604b4a"),
2016 from_hex("0xd1301db49fa9922e"),
2017 from_hex("0xb96932147c16a69c"),
2018 from_hex("0x1368afe741eb692b"),
2019 from_hex("0x5bb0c69f730cea46"),
2020 from_hex("0xea88e622c8a4ff54"),
2021 from_hex("0x28d3afd211fad741"),
2022 from_hex("0x7b54de491aac878b"),
2023 from_hex("0x163335ba9960bad3"),
2024 from_hex("0x15f7cbe083ba4835"),
2025 from_hex("0x33cb903e8dc4a364"),
2026 from_hex("0xc88e859a7338ec4f"),
2027 from_hex("0x8ca490b846c03e97"),
2028 from_hex("0xc679cb9a58a53fed"),
2029 from_hex("0x655abad740fb0a7e"),
2030 from_hex("0x19728ebea39b1bb0"),
2031 from_hex("0x80a02aecdbc43ae5"),
2032 from_hex("0x7f7dc2f4c1c0fd5b"),
2033 from_hex("0xab0b2662998b4381"),
2034 from_hex("0xe91870876999ee83"),
2035 ],
2036 vec![from_hex("0xd3a797047efd9a11"),
2037 from_hex("0xef617a22f3b3c0ea"),
2038 from_hex("0x70cdbcc1f4309512"),
2039 from_hex("0x04485b90457dd6ae"),
2040 from_hex("0x3440f55dd5c784a8"),
2041 from_hex("0x1d128a8fc2b6c46d"),
2042 from_hex("0xff225ba8bf3a500d"),
2043 from_hex("0xb15640280aab0738"),
2044 from_hex("0x9cef42a0d2bd5e29"),
2045 from_hex("0x4430a3c2dda1ae8c"),
2046 from_hex("0xe5d2df0338447c3a"),
2047 from_hex("0xc20dff5d6a36769b"),
2048 from_hex("0xa1434726235fd354"),
2049 from_hex("0x1de859a6260817f4"),
2050 from_hex("0xab2a59e51b50288b"),
2051 from_hex("0x9cbd325d8d82f15f"),
2052 from_hex("0xefa15d476c837b9f"),
2053 from_hex("0x14b2c0623e2268db"),
2054 from_hex("0xd2c8368c9176fd43"),
2055 from_hex("0x3e52cca70618f25f"),
2056 ],
2057 vec![from_hex("0x49435d868e20f223"),
2058 from_hex("0xfb4d62d9850850fc"),
2059 from_hex("0x89e30f85e7d29d7d"),
2060 from_hex("0x3f66597c118f2290"),
2061 from_hex("0x1c65cc57d1d72c0f"),
2062 from_hex("0xddb08ae2d0ed40c1"),
2063 from_hex("0x34362bec1b7de7fc"),
2064 from_hex("0xba86d06ffb019fb1"),
2065 from_hex("0x4386e5928b36a732"),
2066 from_hex("0x6bd033bca1ac0991"),
2067 from_hex("0x101a67a76ff9d3a8"),
2068 from_hex("0x0deceb9baeb6b710"),
2069 from_hex("0xed86741d9bb29d68"),
2070 from_hex("0x2c33db61ba683a4b"),
2071 from_hex("0x409ba42642230210"),
2072 from_hex("0x1e27bfbfff63cdfe"),
2073 from_hex("0x9a4329a3ac4a1b3c"),
2074 from_hex("0xb3b8f30a53423dd7"),
2075 from_hex("0xdae36fb1e3b3724b"),
2076 from_hex("0x1976687a292ad837"),
2077 ],
2078 vec![from_hex("0xba5676d1fa11b506"),
2079 from_hex("0x187afbfcd9a78cc9"),
2080 from_hex("0x1202741c89f613e9"),
2081 from_hex("0x6c36605c4276ec94"),
2082 from_hex("0xf859c461b9bd0431"),
2083 from_hex("0x93264dc301b3d02c"),
2084 from_hex("0xa1de5bb5b615d6e7"),
2085 from_hex("0xc3b31a6ed078317b"),
2086 from_hex("0x1fc5166e438035f0"),
2087 from_hex("0x6c839e7a4c054188"),
2088 from_hex("0xa589039eb5de3f6b"),
2089 from_hex("0x7c85511e40fdaa4e"),
2090 from_hex("0x685888cffb01e049"),
2091 from_hex("0xfcb4dcf088cc8626"),
2092 from_hex("0xa57cdf1cacf09e75"),
2093 from_hex("0x07fbbe7dbd7102f4"),
2094 from_hex("0xf6c750055eb27d20"),
2095 from_hex("0xdc986ee13bb19379"),
2096 from_hex("0x8f60d029732fc3bd"),
2097 from_hex("0x579f0cb43d98d187"),
2098 ],
2099 vec![from_hex("0x9b8043cd47cafc6d"),
2100 from_hex("0x9c238ece97371e15"),
2101 from_hex("0x9d7dc25092653dc0"),
2102 from_hex("0x69aa57e065c0f278"),
2103 from_hex("0xfdbf47c79d4779cc"),
2104 from_hex("0xdaecbea35bf7a302"),
2105 from_hex("0xd9cb34ebc1b11296"),
2106 from_hex("0x2a3e68f05826207e"),
2107 from_hex("0x9b7cb28936b6e2ae"),
2108 from_hex("0x264b44f8f4c26709"),
2109 from_hex("0x995c953fb4775415"),
2110 from_hex("0x0ce8a7dafb5ffb48"),
2111 from_hex("0x8aa4fbe44c1e215f"),
2112 from_hex("0x8a2c7d2ad065f634"),
2113 from_hex("0xfe594429088fede5"),
2114 from_hex("0x6451723ffc89d66f"),
2115 from_hex("0xdf12aadccadf478e"),
2116 from_hex("0x90581c4f4ba58b95"),
2117 from_hex("0x8b7c2ae1e2ad3046"),
2118 from_hex("0xd8a0d1998cbd7a92"),
2119 ],
2120 ];
2121
2122 pub static ref RC20: Vec<Vec<Scalar>> = vec![
2123 vec![from_hex("0x6981dad19a1fa023"),
2124 from_hex("0x51440402c8038c8f"),
2125 from_hex("0x726f2a9e56a645aa"),
2126 from_hex("0x6d30607b5295bde9"),
2127 from_hex("0x9ccbfcc05ae67651"),
2128 from_hex("0xbbd3ff26676325d2"),
2129 from_hex("0x42b30def6b8f3cda"),
2130 from_hex("0x6e030c209f46d861"),
2131 from_hex("0x5eacfe6a4c60ea99"),
2132 from_hex("0xf84f85ecb1bd7d9c"),
2133 from_hex("0xbaf56a4fad1aef37"),
2134 from_hex("0x10a7784c3387efca"),
2135 from_hex("0x389c5c8427b99ad3"),
2136 from_hex("0xb1945685cbb5b4ab"),
2137 from_hex("0x1118cda8fbbf444b"),
2138 from_hex("0x2e2c20412df155af"),
2139 from_hex("0x930ef973ce8241c3"),
2140 from_hex("0x7d4bb748f94ec583"),
2141 from_hex("0x1a398ea0df17efce"),
2142 from_hex("0xaee08c2c29c11d61"),
2143 ],
2144 vec![from_hex("0xe65bb6f236f6950b"),
2145 from_hex("0xdba9ecb83f901fcc"),
2146 from_hex("0x6d99fb1a54f0f05b"),
2147 from_hex("0xe0c7644d10614494"),
2148 from_hex("0x08777f1bf349e1ea"),
2149 from_hex("0x84b8821cc2b45724"),
2150 from_hex("0xaddbc85a0a30b218"),
2151 from_hex("0xca4206abdfe13f6c"),
2152 from_hex("0xa6b8582a3d144726"),
2153 from_hex("0x756fb643ba710e8b"),
2154 from_hex("0x0b5e6b9ae3bef0f9"),
2155 from_hex("0x73b7f419f0e22bef"),
2156 from_hex("0x58dcef9c1774e191"),
2157 from_hex("0x67500f3f2ae692d1"),
2158 from_hex("0xe2640d1fd2a97b93"),
2159 from_hex("0x60fe3b3a1c8f2e1b"),
2160 from_hex("0xf920dd2ff8a9da98"),
2161 from_hex("0x71e1319e103d4e47"),
2162 from_hex("0x734e6e076c7f470a"),
2163 from_hex("0xa95250e5b49b5f2c"),
2164 ],
2165 vec![from_hex("0x384f99ab90678ae5"),
2166 from_hex("0x42fcbfa54d7fea12"),
2167 from_hex("0x0a598f68340dfeda"),
2168 from_hex("0x2d9478a02268f03c"),
2169 from_hex("0x5777afb8ad76b03b"),
2170 from_hex("0xc696ab80736c0ef8"),
2171 from_hex("0x6fb36df17c93ecc1"),
2172 from_hex("0xee8fa09b477dc902"),
2173 from_hex("0x20e1bf3afe5104c1"),
2174 from_hex("0x87982149446abd5d"),
2175 from_hex("0x3c5c54b88fe48060"),
2176 from_hex("0x3dbeb27b5c3a0adc"),
2177 from_hex("0x66a5d5290486955a"),
2178 from_hex("0xee01586e822598b1"),
2179 from_hex("0xf98d7832aebad826"),
2180 from_hex("0x59c3c278d8a3dc91"),
2181 from_hex("0xda5f1fbcd8f67bcd"),
2182 from_hex("0x151a9bb5c667debb"),
2183 from_hex("0x60ed32f420551f44"),
2184 from_hex("0x0ab9270b0b2edd5a"),
2185 ],
2186 vec![from_hex("0xa6c8bb848ddb3ab4"),
2187 from_hex("0x07d3c5f11f27f3fa"),
2188 from_hex("0xc2ea2dc436fbd137"),
2189 from_hex("0xc5d2dc6341115453"),
2190 from_hex("0x2b508d8b06d70585"),
2191 from_hex("0x46b6744eb5cffcaa"),
2192 from_hex("0xe4f75059fcb6663a"),
2193 from_hex("0xca6ef10616df9e37"),
2194 from_hex("0x335d580740f25125"),
2195 from_hex("0xa5702d05a2425639"),
2196 from_hex("0xa149506c8d73fc5e"),
2197 from_hex("0x63e9984becaa8022"),
2198 from_hex("0x30646495a7a3fa56"),
2199 from_hex("0x52b1aaea836bd6d0"),
2200 from_hex("0xdd204963cdce4901"),
2201 from_hex("0xb4ec09d655996b1c"),
2202 from_hex("0x8c38212fdb6d6b0d"),
2203 from_hex("0x629bd92d0539ad0a"),
2204 from_hex("0x09fcd570c2b53940"),
2205 from_hex("0x3373bae8b375d056"),
2206 ],
2207 vec![from_hex("0x866440bef5e9cd38"),
2208 from_hex("0x1edea195808d554b"),
2209 from_hex("0x5610051a10a46d77"),
2210 from_hex("0xc5f153c78769c8b2"),
2211 from_hex("0x34d77d35a43796e0"),
2212 from_hex("0x7509b1f0360a5b97"),
2213 from_hex("0x1ca9999ccf432805"),
2214 from_hex("0xb4f64d72709ebbd0"),
2215 from_hex("0x9895b26fba394635"),
2216 from_hex("0x0fa930199c5e702d"),
2217 from_hex("0x60e226dff0fa47d0"),
2218 from_hex("0x46a28dea42c2625a"),
2219 from_hex("0xaedf45dfc81ffb75"),
2220 from_hex("0xb103f01fabae41c0"),
2221 from_hex("0x3c422fbb558befa0"),
2222 from_hex("0x97c399bb52883fbe"),
2223 from_hex("0xb0316d7b5cdcfc9c"),
2224 from_hex("0xcbea86380c0525be"),
2225 from_hex("0x4f3cd2816c9330d6"),
2226 from_hex("0x0ba8b2e38ea783b8"),
2227 ],
2228 vec![from_hex("0x05a0393d147db966"),
2229 from_hex("0xe615c569613a1aaf"),
2230 from_hex("0x0058e3428d60c47a"),
2231 from_hex("0xe5f71b2b3df39a78"),
2232 from_hex("0x3acf4cad50583619"),
2233 from_hex("0xfde069bad7f13b56"),
2234 from_hex("0x1b27a15dc6595bde"),
2235 from_hex("0xe6bde1b851713e2c"),
2236 from_hex("0xe3d0b1ddf441cda2"),
2237 from_hex("0xacc3675bfea1bb4a"),
2238 from_hex("0x704e6c146656bb95"),
2239 from_hex("0xf75a460cdf578c71"),
2240 from_hex("0x9127686ec5f487a0"),
2241 from_hex("0xa6146e65fd652511"),
2242 from_hex("0xad5387f03299f1d7"),
2243 from_hex("0x8409a605c755bdf5"),
2244 from_hex("0x45447da64b7eb6c6"),
2245 from_hex("0x5408e0a0e4a11a35"),
2246 from_hex("0xeb6df76405e8d9f9"),
2247 from_hex("0x70e522b76795ddd5"),
2248 ],
2249 vec![from_hex("0x1aee25ad0cbbf025"),
2250 from_hex("0x596c9da9d2e26f82"),
2251 from_hex("0xe2e0766ab0fb6fcd"),
2252 from_hex("0xb3cc98eae9bd4e9f"),
2253 from_hex("0xa1c2d10d84e23f3d"),
2254 from_hex("0xb79a156feda57843"),
2255 from_hex("0x73a17947dba62795"),
2256 from_hex("0x9c8f7829d166f453"),
2257 from_hex("0x74fed4905fb4a455"),
2258 from_hex("0x6c2cd74e0f0b824b"),
2259 from_hex("0x44e0cc34887e52b4"),
2260 from_hex("0x735207ecee404946"),
2261 from_hex("0x63afcb27ca58b055"),
2262 from_hex("0x02044e83f8deb67f"),
2263 from_hex("0x28f9d98a7f8298d0"),
2264 from_hex("0x99e2fa5af3b1cc71"),
2265 from_hex("0x351989fc6575bcc1"),
2266 from_hex("0x49972db29e3a09f3"),
2267 from_hex("0x883a656acf66e68e"),
2268 from_hex("0x833468b72f4b5368"),
2269 ],
2270 vec![from_hex("0xae2c477a23fc5798"),
2271 from_hex("0x645325608657487c"),
2272 from_hex("0xad20d404920ecacd"),
2273 from_hex("0x4c3e83ac02d774eb"),
2274 from_hex("0x361c403678d392aa"),
2275 from_hex("0x86cbe90e58111630"),
2276 from_hex("0xc9dcf4d57ab75cc6"),
2277 from_hex("0x38c1ef3c7de44bb6"),
2278 from_hex("0xbce0e40d72d10742"),
2279 from_hex("0x16717083d26b2e61"),
2280 from_hex("0x206c4bb5f1c8b5a0"),
2281 from_hex("0xd245e84024f84e7f"),
2282 from_hex("0x396a7d3f34b1ca2d"),
2283 from_hex("0xd441cfb86199e0e3"),
2284 from_hex("0x41b9e2baa4c1fa65"),
2285 from_hex("0x0397783d09608549"),
2286 from_hex("0xa2b0a0681254c6cb"),
2287 from_hex("0x126a01d85eca77a7"),
2288 from_hex("0x2f144d0b594c1421"),
2289 from_hex("0x583cec6b0e909128"),
2290 ],
2291 vec![from_hex("0xd66864540bdc6b00"),
2292 from_hex("0x8a8a51ed25af17cc"),
2293 from_hex("0xc7c1c8cfb232273b"),
2294 from_hex("0xcdbc7cbd9c8e6661"),
2295 from_hex("0x50221f54709a15cd"),
2296 from_hex("0xad2df053099bc876"),
2297 from_hex("0x854ae71f455b09df"),
2298 from_hex("0x5cad6ab344b8da97"),
2299 from_hex("0x7cc589839c1b86d7"),
2300 from_hex("0x9fe8c273e76f7b89"),
2301 from_hex("0x7bfa7166df42346f"),
2302 from_hex("0x99944921fd8a3739"),
2303 from_hex("0x33ee5ba799a75159"),
2304 from_hex("0xb153a16c15c7623d"),
2305 from_hex("0x04538cc50860152a"),
2306 from_hex("0x4ec2a822cd8920c5"),
2307 from_hex("0xdebb0a35feaa8d42"),
2308 from_hex("0xb237c7cd54261a42"),
2309 from_hex("0x3d7baa39f1db4c33"),
2310 from_hex("0xfd3808a70a7b4e64"),
2311 ],
2312 vec![from_hex("0x880363b483815600"),
2313 from_hex("0x34d65c0f37178891"),
2314 from_hex("0x0cf0fa848759a909"),
2315 from_hex("0x5440c89152fdfd0f"),
2316 from_hex("0xb5ed727415c944e9"),
2317 from_hex("0x10f454035525b8b0"),
2318 from_hex("0x3089aed9f5151aa6"),
2319 from_hex("0xec6b9cc2bd41e790"),
2320 from_hex("0x4c7a2856a407d5ac"),
2321 from_hex("0xe3ffd30cb2331432"),
2322 from_hex("0xbafcf249440e435a"),
2323 from_hex("0xe7b71246008d7a67"),
2324 from_hex("0x8a493008b2f2168d"),
2325 from_hex("0xa57bc90732254a83"),
2326 from_hex("0xb857f82ad5cc55b1"),
2327 from_hex("0xf46fcf0c66f25604"),
2328 from_hex("0x24b46bd08891f291"),
2329 from_hex("0x8ce8ce2e0ac82bdb"),
2330 from_hex("0xfd371abf1fe19393"),
2331 from_hex("0x921b6d3bd4718207"),
2332 ],
2333 vec![from_hex("0x81312036d9d541b8"),
2334 from_hex("0x12e8d49422811ac8"),
2335 from_hex("0xe5bbf1a0046c9cda"),
2336 from_hex("0x46fa1d70053b85d4"),
2337 from_hex("0x1ae07f59bb7bb07c"),
2338 from_hex("0x1676c1db9c9f94cf"),
2339 from_hex("0x58e165eb0ec38fbb"),
2340 from_hex("0xf2dfebddf1339e7e"),
2341 from_hex("0xb9ae4d1c99bbc907"),
2342 from_hex("0x701b1962cda9920c"),
2343 from_hex("0x8c8a0d66c96daa2f"),
2344 from_hex("0x94d547dde6de5e5e"),
2345 from_hex("0x2501a1939066e171"),
2346 from_hex("0xc1492bd3828bc8ca"),
2347 from_hex("0xabb078ded26707db"),
2348 from_hex("0xe8d3986f510f9005"),
2349 from_hex("0x34d5b7cf4fce48fb"),
2350 from_hex("0x603d27a9c650d7c4"),
2351 from_hex("0xd5b412151b366626"),
2352 from_hex("0x4d6b160aceca3c72"),
2353 ],
2354 vec![from_hex("0x760b99e9b44230a8"),
2355 from_hex("0x7a9aee47adc061a5"),
2356 from_hex("0x625dd60e2f8e8f17"),
2357 from_hex("0x05d37fac0dea663c"),
2358 from_hex("0x18c4f89efc353d09"),
2359 from_hex("0x83ad72fdfa5f04a2"),
2360 from_hex("0xab589d9391ad6e46"),
2361 from_hex("0xa9a0ff4c7176965a"),
2362 from_hex("0x754959629ad54b62"),
2363 from_hex("0xfb0c02335d60f3e8"),
2364 from_hex("0x21a5ee17d909350a"),
2365 from_hex("0xe4d497f87a4939c7"),
2366 from_hex("0x697f1ebaf3f29fe6"),
2367 from_hex("0x3c6d9ed21d024b0a"),
2368 from_hex("0xca86de82e15da893"),
2369 from_hex("0x0b44c3422826800d"),
2370 from_hex("0x3a2802c65c7c457b"),
2371 from_hex("0xbb970dc1dd4387ba"),
2372 from_hex("0xea38cae3480ad28e"),
2373 from_hex("0xa4f2778820068104"),
2374 ],
2375 vec![from_hex("0x9017f0ea3a000348"),
2376 from_hex("0x064727418e5c3a25"),
2377 from_hex("0x39004e2cc1ac023a"),
2378 from_hex("0x13811e748f59ee90"),
2379 from_hex("0xe8c578b1ba8e9ccc"),
2380 from_hex("0x46dd5a359a575bb7"),
2381 from_hex("0xd5c30f3589137b1a"),
2382 from_hex("0x7d0fb50b30c515bb"),
2383 from_hex("0xe80f79310b6fcbe4"),
2384 from_hex("0x3db6d64a182de627"),
2385 from_hex("0xf5269783662ed6a2"),
2386 from_hex("0x0a15ef6aadaf2a81"),
2387 from_hex("0xca02f689e9c58087"),
2388 from_hex("0x0fed49279c3e6def"),
2389 from_hex("0xfce8b0172f6e09a3"),
2390 from_hex("0xf09d1a78efd1e4e4"),
2391 from_hex("0x02a44058a74c53e1"),
2392 from_hex("0xa45cfe667145cf58"),
2393 from_hex("0x396058de5b01d1a2"),
2394 from_hex("0x7719b6bf3778e79f"),
2395 ],
2396 vec![from_hex("0xd6d27ed48e0e929a"),
2397 from_hex("0x3c8c452eac2a2d10"),
2398 from_hex("0x7939ac664dec4c1f"),
2399 from_hex("0xfbf99f894b14b881"),
2400 from_hex("0x024f73b5ad40633c"),
2401 from_hex("0x637ce50ac886aede"),
2402 from_hex("0x845c3b6795f0bd2d"),
2403 from_hex("0x54dac9281cacca38"),
2404 from_hex("0x11b6b7a83258fb0f"),
2405 from_hex("0x21c374ccefe5763a"),
2406 from_hex("0xc5e78ea801a38c29"),
2407 from_hex("0x8a7a3a3c4f94273c"),
2408 from_hex("0xb71f8edaa42f8d4e"),
2409 from_hex("0xc442c388e231e028"),
2410 from_hex("0x9133f2bd27112dce"),
2411 from_hex("0x87ef6dc9547b0320"),
2412 from_hex("0xfe99c46fcd75b606"),
2413 from_hex("0xe430c08956a330e6"),
2414 from_hex("0xe92ebcefed614d1c"),
2415 from_hex("0x9b5fb30e47a58f2e"),
2416 ],
2417 vec![from_hex("0xbe73033fc1fb86c0"),
2418 from_hex("0x6f83571eaec604ac"),
2419 from_hex("0xa1184b4ac98f48e0"),
2420 from_hex("0xcb4e2db1856be5d0"),
2421 from_hex("0xc037d0a379ee4c64"),
2422 from_hex("0x4c0b3c0d23fead5b"),
2423 from_hex("0x062197e720e9b6bf"),
2424 from_hex("0x5a9fc20cf14e668b"),
2425 from_hex("0x940853712de7d0e9"),
2426 from_hex("0xa74b9fe6aabe1817"),
2427 from_hex("0x21ce06158ae871ed"),
2428 from_hex("0x9a7629dc8f02ac6f"),
2429 from_hex("0xead315d3ba1b4107"),
2430 from_hex("0x3b154b4eb2066551"),
2431 from_hex("0x56ab9cf6af92ec64"),
2432 from_hex("0x6520cbf30000e63c"),
2433 from_hex("0x85cbbd5889a0169b"),
2434 from_hex("0x1d31e96c49100d5d"),
2435 from_hex("0xa189affb977c98ac"),
2436 from_hex("0x531d9ab71fd34c8e"),
2437 ],
2438 vec![from_hex("0x793ec15aed4915a3"),
2439 from_hex("0x32602c15df29b9ea"),
2440 from_hex("0x21d11a1d22c95a49"),
2441 from_hex("0xe84493d639f6de05"),
2442 from_hex("0xe236eafd9d247eec"),
2443 from_hex("0x30e118ab67352176"),
2444 from_hex("0x75097c44a8e7f2a4"),
2445 from_hex("0x270f5bc3c82c3b21"),
2446 from_hex("0x46e67d8a6dd70ba3"),
2447 from_hex("0xd76891eeff3a329e"),
2448 from_hex("0x1d5ca8dc656d71ef"),
2449 from_hex("0x6f9dfff675a02665"),
2450 from_hex("0x405d51dd2020f445"),
2451 from_hex("0x925bab30824f9d7a"),
2452 from_hex("0x70e7dcdb9823684b"),
2453 from_hex("0x697c0e1c532d99d1"),
2454 from_hex("0xd1a04906b2147924"),
2455 from_hex("0x5e9fcd664a825f98"),
2456 from_hex("0x70c59c721457b47e"),
2457 from_hex("0x2701639f15155d69"),
2458 ],
2459 vec![from_hex("0x82a0c088545cae72"),
2460 from_hex("0xadfcbf408f1fc185"),
2461 from_hex("0xbd86e6bfd854b914"),
2462 from_hex("0x2e1396c63b2d5352"),
2463 from_hex("0xaa4cbaa0bd693738"),
2464 from_hex("0xa02dd7856b0a5b14"),
2465 from_hex("0x3a9e88e07c5c2ac0"),
2466 from_hex("0x3bd6fddfba1f4fdd"),
2467 from_hex("0xb07efbe48245534b"),
2468 from_hex("0x8e583cad3bc4f169"),
2469 from_hex("0x466a490a4adb8f87"),
2470 from_hex("0x9e37f35555d5cac1"),
2471 from_hex("0x61a64f8ca78405d7"),
2472 from_hex("0xc1e1668298333e22"),
2473 from_hex("0x958db833024270e0"),
2474 from_hex("0x38c5be51b7243f73"),
2475 from_hex("0x46f7f839795a0f5e"),
2476 from_hex("0x8ce9192013f9dc62"),
2477 from_hex("0xe2effd951ae35d54"),
2478 from_hex("0xa1344f400c62ecbb"),
2479 ],
2480 vec![from_hex("0x7d8fa818233f9ddd"),
2481 from_hex("0x38d6b40915d75347"),
2482 from_hex("0x8770c273a0ee75e0"),
2483 from_hex("0x7c84b82c0e1c0f95"),
2484 from_hex("0xb49c3e8a93c48570"),
2485 from_hex("0x58f7faec159e031c"),
2486 from_hex("0xda0f0e1b0f7902c2"),
2487 from_hex("0x0c2f5a7a06c6949e"),
2488 from_hex("0xa23124fbc6ee0bd0"),
2489 from_hex("0x75f1f6f45e2f2321"),
2490 from_hex("0x57a2ca8f30d8e07f"),
2491 from_hex("0xd141a57918ba4557"),
2492 from_hex("0x7c191e2934179022"),
2493 from_hex("0x99340eb57cade48e"),
2494 from_hex("0x09724dff93ec81c2"),
2495 from_hex("0x9d1bb3ea60923080"),
2496 from_hex("0x24289ed7a9470dfb"),
2497 from_hex("0x456937f8398a2800"),
2498 from_hex("0x20f3c16f337e5f33"),
2499 from_hex("0x69f8082800d62bba"),
2500 ],
2501 vec![from_hex("0x3d8a3e29d1712aab"),
2502 from_hex("0xe6084f6493e32416"),
2503 from_hex("0x8717b3d380d9e7b6"),
2504 from_hex("0x966abd1b8cdfbb64"),
2505 from_hex("0xb1be42c679ad72b4"),
2506 from_hex("0x6997b8c70fb96875"),
2507 from_hex("0x9ce7612611a26f86"),
2508 from_hex("0x8c4357d27846c7ba"),
2509 from_hex("0x2b0115a45b5bed3f"),
2510 from_hex("0xdeab0b07d76d8f4d"),
2511 from_hex("0x4a29bd81c6bc26db"),
2512 from_hex("0xa9308a607900061c"),
2513 from_hex("0x9bece71795ae57c4"),
2514 from_hex("0x61740338a47a6a9b"),
2515 from_hex("0x87cd9d755ed61f06"),
2516 from_hex("0xbf3919c26d4b6281"),
2517 from_hex("0x953b9506b3079919"),
2518 from_hex("0x228a8906c5b524bb"),
2519 from_hex("0x0ae71c0b9dc1844b"),
2520 from_hex("0x0d1ca2b18e47bbdb"),
2521 ],
2522 vec![from_hex("0xb71e1cbaaadc5023"),
2523 from_hex("0x06aaf129dd7b383c"),
2524 from_hex("0xda9170537b829d80"),
2525 from_hex("0x5c77e07340af7586"),
2526 from_hex("0x762a845b3beb704a"),
2527 from_hex("0xce89a923a5f4a39b"),
2528 from_hex("0xa8b88841d2becffd"),
2529 from_hex("0xdbda39792d771bd3"),
2530 from_hex("0x3c89b741475d2204"),
2531 from_hex("0x112451051d87c1a9"),
2532 from_hex("0x07756184081bd3e6"),
2533 from_hex("0x21231dab1b10fa02"),
2534 from_hex("0x43d368caf7389874"),
2535 from_hex("0x41cfd943473acddf"),
2536 from_hex("0x3e3727412d97e196"),
2537 from_hex("0xfdf0c8e515780c0a"),
2538 from_hex("0x4a7185fcc6eedfc1"),
2539 from_hex("0x07378787276cb8c1"),
2540 from_hex("0x3489ee3c726e4721"),
2541 from_hex("0xdcc701e7bf1bce73"),
2542 ],
2543 vec![from_hex("0x35789f3b6effd7d7"),
2544 from_hex("0x295d8f7c9ddb15ed"),
2545 from_hex("0x3a62b7f625536399"),
2546 from_hex("0x32a889bd0a31ffa8"),
2547 from_hex("0x8792bc5d1cddc6c9"),
2548 from_hex("0x1b1183b275380eb7"),
2549 from_hex("0x89fb5c081e4e6f0c"),
2550 from_hex("0x2b721fa4caa690ef"),
2551 from_hex("0x3dddddba990f91ee"),
2552 from_hex("0x147b23e51ba83238"),
2553 from_hex("0x1715726285f384c7"),
2554 from_hex("0xa7b4e10f2ab98d11"),
2555 from_hex("0x144f5977d07945f7"),
2556 from_hex("0x4fde5cf0899abbb5"),
2557 from_hex("0xf8e402c5369bae14"),
2558 from_hex("0x9916bf8add9effa7"),
2559 from_hex("0x211a6bcd9b7f9f9c"),
2560 from_hex("0x7b94394296d802eb"),
2561 from_hex("0x1a86a72221cde2c8"),
2562 from_hex("0xc22825ef48aac3de"),
2563 ],
2564 vec![from_hex("0xb8e5822dae2ce541"),
2565 from_hex("0x8c89f54a8e30a809"),
2566 from_hex("0x5a5c81b819af51c0"),
2567 from_hex("0x64834a45cf45436f"),
2568 from_hex("0x3c6381bf5bf202f9"),
2569 from_hex("0xadf8e536adc41a5e"),
2570 from_hex("0x3a4aa1ca52683373"),
2571 from_hex("0x4ac936fd66fa360e"),
2572 from_hex("0x91ed63748d7b8416"),
2573 from_hex("0xc91bdf144c5ef815"),
2574 from_hex("0x23d0ce26d30faddb"),
2575 from_hex("0x527fee2c37ef79ea"),
2576 from_hex("0x41f17d371c8ba782"),
2577 from_hex("0x2080ee09b121480a"),
2578 from_hex("0xfaa1e2a9a561a29c"),
2579 from_hex("0x04223b32f93ad53d"),
2580 from_hex("0xcd94f79b783dd70b"),
2581 from_hex("0x099338f131bd85a5"),
2582 from_hex("0x21d4cbb0315e5b25"),
2583 from_hex("0x5a4b6af7888f6fb2"),
2584 ],
2585 vec![from_hex("0xa519b168ca98903d"),
2586 from_hex("0x9e3739c3e89fc143"),
2587 from_hex("0x9d8a18497eaab5f2"),
2588 from_hex("0x90db0be00aea8f43"),
2589 from_hex("0x59fe2f4a891e50c6"),
2590 from_hex("0xfea17fdf26df588c"),
2591 from_hex("0x25a691b5b4525e47"),
2592 from_hex("0x7986b0398c8dd01a"),
2593 from_hex("0x47ab1ca71bf9cdc9"),
2594 from_hex("0xc0eae8d70b1845a3"),
2595 from_hex("0x089db30b6e804ad9"),
2596 from_hex("0x33e5a95711167476"),
2597 from_hex("0x92907fd372b1adcc"),
2598 from_hex("0x77a03cebfc0cba5c"),
2599 from_hex("0x3ddd7f080ba54421"),
2600 from_hex("0x88a3dc22cbaaf179"),
2601 from_hex("0xde551384217267f5"),
2602 from_hex("0x7e32462211286b07"),
2603 from_hex("0x25cb66d9293ba22a"),
2604 from_hex("0xd9262eecd8ec2a41"),
2605 ],
2606 vec![from_hex("0x2d3e341ce1f994bb"),
2607 from_hex("0x27d4b85b927f831d"),
2608 from_hex("0xf406412c789b46ce"),
2609 from_hex("0xc1fc9171f3c4b1d2"),
2610 from_hex("0xafc585d5de56a01f"),
2611 from_hex("0xdc488c08deb3eb87"),
2612 from_hex("0xcf59fd57e26b30cb"),
2613 from_hex("0xb38da2bbb4116180"),
2614 from_hex("0x39874fc9f208311b"),
2615 from_hex("0xb1d61c3ec4161493"),
2616 from_hex("0x27d7a092e373772e"),
2617 from_hex("0x9f7e7fa29d85cf1f"),
2618 from_hex("0xcf957f9a58b15541"),
2619 from_hex("0xb2f31191e7c0481e"),
2620 from_hex("0x30a089675775b944"),
2621 from_hex("0x53752f3ca5969fe3"),
2622 from_hex("0x49c615b232a1894b"),
2623 from_hex("0xa11c26004b20a349"),
2624 from_hex("0x2f3a10d4186afd47"),
2625 from_hex("0x3cfb5cd9bb38072f"),
2626 ],
2627 vec![from_hex("0xc2d7eff7e41317d6"),
2628 from_hex("0xf215fab688c82f9a"),
2629 from_hex("0x7f9eacf075761ef0"),
2630 from_hex("0x71c7dc7858d47d7f"),
2631 from_hex("0xd80ecb9fe468548f"),
2632 from_hex("0xf4246eaa9769747d"),
2633 from_hex("0xe55b72fa0755b2b1"),
2634 from_hex("0x9053f24090383428"),
2635 from_hex("0xb3df6446569a3124"),
2636 from_hex("0xe9220989cf5402ac"),
2637 from_hex("0x03706f295a283f12"),
2638 from_hex("0xbb911948ce8c3572"),
2639 from_hex("0x5e874d4dc5c26940"),
2640 from_hex("0x10b5a564dc0dbb7c"),
2641 from_hex("0x0c1c313804a79523"),
2642 from_hex("0xeb976aea56d5634f"),
2643 from_hex("0xf37782a2e74d3214"),
2644 from_hex("0x3e059b747064849d"),
2645 from_hex("0x28052f01747ba6cc"),
2646 from_hex("0x977e283e1fb4c09b"),
2647 ],
2648 vec![from_hex("0xe648f1c2b24db3ef"),
2649 from_hex("0x9d8fb60c32e1cefc"),
2650 from_hex("0xac7d7463c8e3faf7"),
2651 from_hex("0x95a31610e6d9f6f0"),
2652 from_hex("0xfcf120ac44e2375b"),
2653 from_hex("0x4b9bb58165f9293e"),
2654 from_hex("0x252b2c3c00086e2c"),
2655 from_hex("0x9dac20406725abe8"),
2656 from_hex("0x97b2e782c55bf19d"),
2657 from_hex("0x6650b10edb6ef7d9"),
2658 from_hex("0x2e99c528be0a82ed"),
2659 from_hex("0xc243ef261056e0bd"),
2660 from_hex("0xbcbe5cfa6f69efc7"),
2661 from_hex("0xf50439a3efa6ab4d"),
2662 from_hex("0x3fe63cbed2216251"),
2663 from_hex("0xe8b44221c9487561"),
2664 from_hex("0x6dc6df39b08d5539"),
2665 from_hex("0xb7b40f791c2d6e5e"),
2666 from_hex("0x3b51d4457932e3b6"),
2667 from_hex("0xf849cf8be592a1d5"),
2668 ],
2669 vec![from_hex("0x755c048bafc608aa"),
2670 from_hex("0xcfd7ffb9de5c3f46"),
2671 from_hex("0xfb20ea446e196a5d"),
2672 from_hex("0x28359de3f0a75593"),
2673 from_hex("0x361c96febdbb2993"),
2674 from_hex("0xde088f5cc8b99f3b"),
2675 from_hex("0x2f58c248a386e52f"),
2676 from_hex("0x271df056207e4b45"),
2677 from_hex("0xf432599ba2016943"),
2678 from_hex("0xb277767a1dbcd62f"),
2679 from_hex("0x5d2ad97cae255d5a"),
2680 from_hex("0x52f108a3496726dc"),
2681 from_hex("0x56ea6dac1101bdab"),
2682 from_hex("0x03c7072cff7416a9"),
2683 from_hex("0x2690ea28bcfe170e"),
2684 from_hex("0xf1e4f90b056065ff"),
2685 from_hex("0xb8c4343114021ebf"),
2686 from_hex("0x53cd768d0a2469c9"),
2687 from_hex("0xea2a4cfeebcfcf29"),
2688 from_hex("0x85092b96df737b7c"),
2689 ],
2690 vec![from_hex("0x5706a9b2f87b8e81"),
2691 from_hex("0xbc29720c8ad2e4fe"),
2692 from_hex("0x560c79e11bd3c004"),
2693 from_hex("0x7bb0839cb613ecc0"),
2694 from_hex("0xd3ad997f04011f81"),
2695 from_hex("0xb9ca1b4e4aa57095"),
2696 from_hex("0x397619d048c301a9"),
2697 from_hex("0x18c4756eaabbcf17"),
2698 from_hex("0x02219e17a043f5d6"),
2699 from_hex("0x5533f13157ad0cee"),
2700 from_hex("0xa047207e71f2b84d"),
2701 from_hex("0x47b13cf1403578ab"),
2702 from_hex("0x2157979a62e80078"),
2703 from_hex("0xe8b73a6514aaf977"),
2704 from_hex("0x85b98b7bd9a8bb67"),
2705 from_hex("0x07241975ad5d752d"),
2706 from_hex("0xc322ad54de1b3cb3"),
2707 from_hex("0xef00fb8816b6e95a"),
2708 from_hex("0x6fb3452ccec8b4fb"),
2709 from_hex("0xa80cf53a1f387e50"),
2710 ],
2711 vec![from_hex("0x53f9ee3cf5940e92"),
2712 from_hex("0x9165058a6e75bfcb"),
2713 from_hex("0x9ae23c6a7d7c9d2b"),
2714 from_hex("0x1b0d8228a0c19927"),
2715 from_hex("0x9c40a9c9b9ce973d"),
2716 from_hex("0x47d4f4df6d0e130d"),
2717 from_hex("0xcbe6020c7577cf09"),
2718 from_hex("0xdec0062894512fb5"),
2719 from_hex("0x4e11bb78b98c564b"),
2720 from_hex("0x4056479f3412e6ee"),
2721 from_hex("0x075e8263608597f8"),
2722 from_hex("0x636dcfb850778d8f"),
2723 from_hex("0x57bde5d8b7e0f514"),
2724 from_hex("0xd4e0eeb339c7bb03"),
2725 from_hex("0x35912f2843b81064"),
2726 from_hex("0xab5494664a07c463"),
2727 from_hex("0x3e94a9175fbe66c3"),
2728 from_hex("0x6f4d785849d7127a"),
2729 from_hex("0x937afd5414c2fd22"),
2730 from_hex("0x38c759800e58ad99"),
2731 ],
2732 vec![from_hex("0x8c85774cce01f879"),
2733 from_hex("0x9650b10f187b2637"),
2734 from_hex("0x9beafb25333046e8"),
2735 from_hex("0x2fd4e6e7583a0767"),
2736 from_hex("0x8746e29568f03a3b"),
2737 from_hex("0xb0c4a7079c5cc75e"),
2738 from_hex("0x6b22bf45f256e6a2"),
2739 from_hex("0x244c9b3ea1d52f4a"),
2740 from_hex("0x523d9b20b9262424"),
2741 from_hex("0xcc8bfaa29bf05973"),
2742 from_hex("0x07e7cd381f126691"),
2743 from_hex("0x36dd9289bac4c64e"),
2744 from_hex("0x83dddc7ac800fa88"),
2745 from_hex("0x54578c7e013ddffa"),
2746 from_hex("0x9d5704f714cb8b45"),
2747 from_hex("0x632793c9c7ea5aeb"),
2748 from_hex("0x59f17ddaa45e58c5"),
2749 from_hex("0x777364e82a3fcb54"),
2750 from_hex("0x2032244656b13368"),
2751 from_hex("0xb446c5532c8ce895"),
2752 ],
2753 ];
2754
2755 pub static ref POSEIDON_GOLDILOCKS_8_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(8, 7, 8, 22, &MDS8, &RC8)
2756 );
2757
2758 pub static ref POSEIDON_GOLDILOCKS_12_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(12, 7, 8, 22, &MDS12, &RC12)
2759 );
2760
2761 pub static ref POSEIDON_GOLDILOCKS_16_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(16, 7, 8, 22, &MDS16, &RC16)
2762 );
2763
2764 pub static ref POSEIDON_GOLDILOCKS_20_PARAMS: Arc<PoseidonParams<Scalar>> = Arc::new(PoseidonParams::new(20, 7, 8, 22, &MDS20, &RC20)
2765 );
2766
2767}