halo2_gadgets 0.2.0

Reusable gadgets and chip implementations for Halo 2
Documentation
//! Constants for using Poseidon with the Pallas field.
//!
//! The constants can be reproduced by running the following Sage script from
//! [this repository](https://github.com/daira/pasta-hadeshash):
//!
//! ```text
//! $ sage generate_parameters_grain.sage 1 0 255 3 8 56 0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001
//! ```
use pasta_curves::pallas;

// Number of round constants: 192
// Round constants for GF(p):
pub(crate) const ROUND_CONSTANTS: [[pallas::Base; 3]; 64] = [
    [
        pallas::Base::from_raw([
            0x5753_8c25_9642_6303,
            0x4e71_162f_3100_3b70,
            0x353f_628f_76d1_10f3,
            0x360d_7470_611e_473d,
        ]),
        pallas::Base::from_raw([
            0xbdb7_4213_bf63_188b,
            0x4908_ac2f_12eb_e06f,
            0x5dc3_c6c5_febf_aa31,
            0x2bab_94d7_ae22_2d13,
        ]),
        pallas::Base::from_raw([
            0x0939_d927_53cc_5dc8,
            0xef77_e7d7_3676_6c5d,
            0x2bf0_3e1a_29aa_871f,
            0x150c_93fe_f652_fb1c,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x1425_9dce_5377_82b2,
            0x03cc_0a60_141e_894e,
            0x955d_55db_56dc_57c1,
            0x3270_661e_6892_8b3a,
        ]),
        pallas::Base::from_raw([
            0xce9f_b9ff_c345_afb3,
            0xb407_c370_f2b5_a1cc,
            0xa0b7_afe4_e205_7299,
            0x073f_116f_0412_2e25,
        ]),
        pallas::Base::from_raw([
            0x8eba_d76f_c715_54d8,
            0x55c9_cd20_61ae_93ca,
            0x7aff_d09c_1f53_f5fd,
            0x2a32_ec5c_4ee5_b183,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2d8c_cbe2_92ef_eead,
            0x634d_24fc_6e25_59f2,
            0x651e_2cfc_7406_28ca,
            0x2703_26ee_039d_f19e,
        ]),
        pallas::Base::from_raw([
            0xa068_fc37_c182_e274,
            0x8af8_95bc_e012_f182,
            0xdc10_0fe7_fcfa_5491,
            0x27c6_642a_c633_bc66,
        ]),
        pallas::Base::from_raw([
            0x9ca1_8682_e26d_7ff9,
            0x710e_1fb6_ab97_6a45,
            0xd27f_5739_6989_129d,
            0x1bdf_d8b0_1401_c70a,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xc832_d824_261a_35ea,
            0xf4f6_fb3f_9054_d373,
            0x14b9_d6a9_c84d_d678,
            0x162a_14c6_2f9a_89b8,
        ]),
        pallas::Base::from_raw([
            0xf798_2466_7b5b_6bec,
            0xac0a_1fc7_1e2c_f0c0,
            0x2af6_f79e_3127_feea,
            0x2d19_3e0f_76de_586b,
        ]),
        pallas::Base::from_raw([
            0x5d0b_f58d_c8a4_aa94,
            0x4fef_f829_8499_0ff8,
            0x8169_6ef1_104e_674f,
            0x044c_a3cc_4a85_d73b,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x6198_785f_0cd6_b9af,
            0xb8d9_e2d4_f314_f46f,
            0x1d04_5341_6d3e_235c,
            0x1cba_f2b3_71da_c6a8,
        ]),
        pallas::Base::from_raw([
            0x343e_0761_0f3f_ede5,
            0x293c_4ab0_38fd_bbdc,
            0x0e6c_49d0_61b6_b5f4,
            0x1d5b_2777_692c_205b,
        ]),
        pallas::Base::from_raw([
            0xf60e_971b_8d73_b04f,
            0x06a9_adb0_c1e6_f962,
            0xaa30_535b_dd74_9a7e,
            0x2e9b_dbba_3dd3_4bff,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x035a_1366_1f22_418b,
            0xde40_fbe2_6d04_7b05,
            0x8bd5_bae3_6969_299f,
            0x2de1_1886_b180_11ca,
        ]),
        pallas::Base::from_raw([
            0xbc99_8884_ba96_a721,
            0x2ab9_395c_449b_e947,
            0x0d5b_4a3f_1841_dcd8,
            0x2e07_de17_80b8_a70d,
        ]),
        pallas::Base::from_raw([
            0x825e_4c2b_b749_25ca,
            0x2504_40a9_9d6b_8af3,
            0xbbdb_63db_d52d_ad16,
            0x0f69_f185_4d20_ca0c,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x816c_0594_22dc_705e,
            0x6ce5_1135_07f9_6de9,
            0x0d13_5dc6_39fb_09a4,
            0x2eb1_b254_17fe_1767,
        ]),
        pallas::Base::from_raw([
            0xb8b1_bdf4_953b_d82c,
            0xff36_c661_d26c_c42d,
            0x8c24_cb44_c3fa_b48a,
            0x115c_d0a0_643c_fb98,
        ]),
        pallas::Base::from_raw([
            0xde80_1612_311d_04cd,
            0xbb57_ddf1_4e0f_958a,
            0x066d_7378_b999_868b,
            0x26ca_293f_7b2c_462d,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xf520_9d14_b248_20ca,
            0x0f16_0bf9_f71e_967f,
            0x2a83_0aa1_6241_2cd9,
            0x17bf_1b93_c4c7_e01a,
        ]),
        pallas::Base::from_raw([
            0x05c8_6f2e_7dc2_93c5,
            0xe03c_0354_bd8c_fd38,
            0xa24f_8456_369c_85df,
            0x35b4_1a7a_c4f3_c571,
        ]),
        pallas::Base::from_raw([
            0x72ac_156a_f435_d09e,
            0x64e1_4d3b_eb2d_ddde,
            0x4359_2799_4849_bea9,
            0x3b14_8008_0523_c439,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2716_18d8_74b1_4c6d,
            0x08e2_8644_2a2d_3eb2,
            0x4950_856d_c907_d575,
            0x2cc6_8100_31dc_1b0d,
        ]),
        pallas::Base::from_raw([
            0x91f3_18c0_9f0c_b566,
            0x9e51_7aa9_3b78_341d,
            0x0596_18e2_afd2_ef99,
            0x25bd_bbed_a1bd_e8c1,
        ]),
        pallas::Base::from_raw([
            0xc631_3487_073f_7f7b,
            0x2a5e_d0a2_7b61_926c,
            0xb95f_33c2_5dde_8ac0,
            0x392a_4a87_58e0_6ee8,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xe7bb_cef0_2eb5_866c,
            0x5e6a_6fd1_5db8_9365,
            0x9aa6_111f_4de0_0948,
            0x272a_5587_8a08_442b,
        ]),
        pallas::Base::from_raw([
            0x9b92_5b3c_5b21_e0e2,
            0xa6eb_ba01_1694_dd12,
            0xefa1_3c4e_60e2_6239,
            0x2d5b_308b_0cf0_2cdf,
        ]),
        pallas::Base::from_raw([
            0xef38_c57c_3116_73ac,
            0x44df_f42f_18b4_6c56,
            0xdd5d_293d_72e2_e5f2,
            0x1654_9fc6_af2f_3b72,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x9b71_26d9_b468_60df,
            0x7639_8265_3442_0311,
            0xfa69_c3a2_ad52_f76d,
            0x1b10_bb7a_82af_ce39,
        ]),
        pallas::Base::from_raw([
            0x90d2_7f6a_00b7_dfc8,
            0xd1b3_6968_ba04_05c0,
            0xc79c_2df7_dc98_a3be,
            0x0f1e_7505_ebd9_1d2f,
        ]),
        pallas::Base::from_raw([
            0xff45_7756_b819_bb20,
            0x797f_d6e3_f18e_b1ca,
            0x537a_7497_a3b4_3f46,
            0x2f31_3faf_0d3f_6187,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xf0bc_3e73_2ecb_26f6,
            0x5cad_11eb_f0f7_ceb8,
            0xfa3c_a61c_0ed1_5bc5,
            0x3a5c_bb6d_e450_b481,
        ]),
        pallas::Base::from_raw([
            0x8655_27cb_ca91_5982,
            0x51ba_a6e2_0f89_2b62,
            0xd920_86e2_53b4_39d6,
            0x3dab_54bc_9bef_688d,
        ]),
        pallas::Base::from_raw([
            0x3680_45ac_f2b7_1ae3,
            0x4c24_b33b_410f_efd4,
            0xe280_d316_7012_3f74,
            0x06db_fb42_b979_884d,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xa7fc_32d2_2f18_b9d3,
            0xb8d2_de72_e3d2_c9ec,
            0xc6f0_39ea_1973_a63e,
            0x068d_6b46_08aa_e810,
        ]),
        pallas::Base::from_raw([
            0x2b5d_fcc5_5725_55df,
            0xb868_a7d7_e1f1_f69a,
            0x0ee2_58c9_b8fd_fccd,
            0x366e_bfaf_a3ad_381c,
        ]),
        pallas::Base::from_raw([
            0xe6bc_229e_95bc_76b1,
            0x7ef6_6d89_d044_d022,
            0x04db_3024_f41d_3f56,
            0x3967_8f65_512f_1ee4,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xe534_c88f_e53d_85fe,
            0xcf82_c25f_99dc_01a4,
            0xd58b_7750_a3bc_2fe1,
            0x2166_8f01_6a80_63c0,
        ]),
        pallas::Base::from_raw([
            0x4bef_429b_c533_1608,
            0xe34d_ea56_439f_e195,
            0x1bc7_4936_3e98_a768,
            0x39d0_0994_a8a5_046a,
        ]),
        pallas::Base::from_raw([
            0x770c_956f_60d8_81b3,
            0xb163_d416_05d3_9f99,
            0x6b20_3bbe_12fb_3425,
            0x1f9d_bdc3_f843_1263,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x9794_a9f7_c336_eab2,
            0xbe0b_c829_fe5e_66c6,
            0xe5f1_7b9e_0ee0_cab6,
            0x0277_45a9_cddf_ad95,
        ]),
        pallas::Base::from_raw([
            0x5202_5657_abd8_aee0,
            0x2fa4_3fe2_0a45_c78d,
            0x788d_695c_61e9_3212,
            0x1cec_0803_c504_b635,
        ]),
        pallas::Base::from_raw([
            0xd387_2a95_59a0_3a73,
            0xed50_82c8_dbf3_1365,
            0x7207_7448_ef87_cc6e,
            0x1235_23d7_5e9f_abc1,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x0017_79e3_a1d3_57f4,
            0x27fe_ba35_975e_e7e5,
            0xf419_b848_e5d6_94bf,
            0x1723_d145_2c9c_f02d,
        ]),
        pallas::Base::from_raw([
            0x9dab_1ee4_dcf9_6622,
            0x21c3_f776_f572_836d,
            0xfcc0_573d_7e61_3694,
            0x1739_d180_a160_10bd,
        ]),
        pallas::Base::from_raw([
            0x7029_0452_042d_048d,
            0xfafa_96fb_eb0a_b893,
            0xacce_3239_1794_b627,
            0x2d4e_6354_da9c_c554,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x670b_cf6f_8b48_5dcd,
            0x8f3b_d43f_9926_0621,
            0x4a86_9553_c9d0_07f8,
            0x153e_e614_2e53_5e33,
        ]),
        pallas::Base::from_raw([
            0xd258_d2e2_b778_2172,
            0x968a_d442_4af8_3700,
            0x635e_f7e7_a430_b486,
            0x0c45_bfd3_a69a_aa65,
        ]),
        pallas::Base::from_raw([
            0x0e56_33d2_51f7_3307,
            0x6897_ac0a_8ffa_5ff1,
            0xf2d5_6aec_8314_4600,
            0x0adf_d53b_256a_6957,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xac9d_36a8_b751_6d63,
            0x3f87_b28f_1c1b_e4bd,
            0x8cd1_726b_7cba_b8ee,
            0x315d_2ac8_ebdb_ac3c,
        ]),
        pallas::Base::from_raw([
            0x299c_e44e_a423_d8e1,
            0xc9bb_60d1_f695_9879,
            0xcfae_c23d_2b16_883f,
            0x1b84_7271_2d02_eef4,
        ]),
        pallas::Base::from_raw([
            0xc4a5_4041_98ad_f70c,
            0x367d_2c54_e369_28c9,
            0xbd0b_70fa_2255_eb6f,
            0x3c1c_d07e_fda6_ff24,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xbbe5_23ae_f9ab_107a,
            0x4a16_073f_738f_7e0c,
            0x687f_4e51_b2e1_dcd3,
            0x1360_52d2_6bb3_d373,
        ]),
        pallas::Base::from_raw([
            0x676c_36c2_4ef9_67dd,
            0x7b3c_fbb8_7303_2681,
            0xc1bd_d859_a123_2a1d,
            0x16c9_6bee_f6a0_a848,
        ]),
        pallas::Base::from_raw([
            0x067e_ec7f_2d63_40c4,
            0x0123_87ba_b4f1_662d,
            0x2ab7_fed8_f499_a9fb,
            0x284b_38c5_7ff6_5c26,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xaf1d_ff20_4c92_2f86,
            0xfc06_772c_1c04_11a6,
            0x39e2_4219_8897_d17c,
            0x0c59_93d1_75e8_1f66,
        ]),
        pallas::Base::from_raw([
            0xbbf5_3f67_b1f8_7b15,
            0xf248_87ad_48e1_7759,
            0xfcda_655d_1ba9_c8f9,
            0x03bf_7a3f_7bd0_43da,
        ]),
        pallas::Base::from_raw([
            0x9b5c_d09e_36d8_be62,
            0x4c8f_9cbe_69f0_e827,
            0xb0cf_9995_67f0_0e73,
            0x3188_fe4e_e9f9_fafb,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xafea_99a2_ec6c_595a,
            0x3af5_bf77_c1c4_2652,
            0x5a39_768c_480d_61e1,
            0x171f_528c_cf65_8437,
        ]),
        pallas::Base::from_raw([
            0x5a05_63b9_b8e9_f1d5,
            0x812c_3286_ee70_0067,
            0x196e_4185_9b35_ef88,
            0x12f4_175c_4ab4_5afc,
        ]),
        pallas::Base::from_raw([
            0x0e74_d4d3_6911_8b79,
            0x7e23_e1aa_be96_cfab,
            0x8f8f_dcf8_00a9_ac69,
            0x3a50_9e15_5cb7_ebfd,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x9871_2c65_678c_fd30,
            0x984b_c8f2_e4c1_b69e,
            0x1a89_920e_2504_c3b3,
            0x10f2_a685_df4a_27c8,
        ]),
        pallas::Base::from_raw([
            0xe8a1_6728_cc9d_4918,
            0x5457_3c93_33c5_6321,
            0x1d8d_93d5_4ab9_1a0e,
            0x09e5_f497_90c8_a0e2,
        ]),
        pallas::Base::from_raw([
            0x609a_7403_47cf_5fea,
            0x42d1_7ed6_ee0f_ab7e,
            0x2bf3_5705_d9f8_4a34,
            0x352d_69be_d80e_e3e5,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x3a75_8af6_fa84_e0e8,
            0xc634_debd_281b_76a6,
            0x4915_62fa_f2b1_90d3,
            0x058e_e73b_a9f3_f293,
        ]),
        pallas::Base::from_raw([
            0x621a_1325_10a4_3904,
            0x092c_b921_19bc_76be,
            0xcd0f_1fc5_5b1a_3250,
            0x232f_99cc_911e_ddd9,
        ]),
        pallas::Base::from_raw([
            0xc3b9_7c1e_301b_c213,
            0xf9ef_d52c_a6bc_2961,
            0x86c2_2c6c_5d48_69f0,
            0x201b_eed7_b8f3_ab81,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xbf6b_3431_ba94_e9bc,
            0x2938_8842_744a_1210,
            0xa1c9_291d_5860_2f51,
            0x1376_dce6_5800_30c6,
        ]),
        pallas::Base::from_raw([
            0x6454_843c_5486_d7b3,
            0x072b_a8b0_2d92_e722,
            0x2b33_56c3_8238_f761,
            0x1793_199e_6fd6_ba34,
        ]),
        pallas::Base::from_raw([
            0x06a3_f1d3_b433_311b,
            0x3c66_160d_c62a_acac,
            0x9fee_9c20_c87a_67df,
            0x22de_7a74_88dc_c735,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x30d6_e3fd_516b_47a8,
            0xdbe0_b77f_ae77_e1d0,
            0xdf8f_f37f_e2d8_edf8,
            0x3514_d5e9_066b_b160,
        ]),
        pallas::Base::from_raw([
            0x1937_7427_137a_81c7,
            0xff45_3d6f_900f_144a,
            0xf919_a00d_abbf_5fa5,
            0x30cd_3006_931a_d636,
        ]),
        pallas::Base::from_raw([
            0x5b6a_7422_0692_b506,
            0x8f9e_4b2c_ae2e_bb51,
            0x41f8_1a5c_f613_c8df,
            0x253d_1a5c_5293_4127,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x73f6_66cb_86a4_8e8e,
            0x851b_3a59_c990_fafc,
            0xa35e_9613_e7f5_fe92,
            0x035b_461c_02d7_9d19,
        ]),
        pallas::Base::from_raw([
            0x7cfb_f86a_3aa0_4780,
            0x92b1_283c_2d5f_ccde,
            0x5bc0_0eed_d56b_93e0,
            0x23a9_9280_79d1_75bd,
        ]),
        pallas::Base::from_raw([
            0xf1e4_ccd7_3fa0_0a82,
            0xb5e2_ea34_36ee_f957,
            0xf159_4a07_63c6_11ab,
            0x13a7_785a_e134_ea92,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xbbf0_4f52_52de_4279,
            0x3889_c578_6344_6d88,
            0x4962_ae3c_0da1_7e31,
            0x39fc_e308_b7d4_3c57,
        ]),
        pallas::Base::from_raw([
            0x3b57_e344_89b5_3fad,
            0xbef0_0a08_c6ed_38d2,
            0xc0fd_f016_62f6_0d22,
            0x1aae_1883_3f8e_1d3a,
        ]),
        pallas::Base::from_raw([
            0x5551_3e03_3398_513f,
            0x27c1_b3fd_8f85_d8a8,
            0x8b2e_80c0_64fd_83ed,
            0x1a76_1ce8_2400_af01,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x5244_ca74_9b73_e481,
            0xdcf6_af28_30a5_0287,
            0x16dd_1a87_ca22_e1cc,
            0x275a_03e4_5add_a7c3,
        ]),
        pallas::Base::from_raw([
            0x58a2_53cf_b6a9_5786,
            0x07e5_6145_3fc5_648b,
            0xeb08_e47e_5fea_bcf8,
            0x2e5a_10f0_8b5a_b8bb,
        ]),
        pallas::Base::from_raw([
            0xe033_d82c_efe7_8ce3,
            0xc141_a5b6_d594_bec4,
            0xb84e_9c33_3b29_32f1,
            0x1459_cb85_8720_8473,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x5cec_7e7b_338f_be1b,
            0x52f9_332f_bffc_fbbd,
            0x7b92_ce81_0e14_a400,
            0x193a_e592_1d78_b5de,
        ]),
        pallas::Base::from_raw([
            0x6022_4be6_7248_e82c,
            0x3743_84f4_a072_8205,
            0x8911_1fb2_c466_0281,
            0x3097_898a_5d00_11a4,
        ]),
        pallas::Base::from_raw([
            0x5499_80de_8629_30f5,
            0x1979_b2d1_c465_b4d9,
            0x5717_82fd_96ce_54b4,
            0x378d_97bf_8c86_4ae7,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x37ea_32a9_71d1_7884,
            0xdbc7_f5cb_4609_3421,
            0x8813_6287_ce37_6b08,
            0x2eb0_4ea7_c01d_97ec,
        ]),
        pallas::Base::from_raw([
            0xead3_726f_1af2_e7b0,
            0x861c_bda4_7680_4e6c,
            0x2302_a1c2_2e49_baec,
            0x3642_5347_ea03_f641,
        ]),
        pallas::Base::from_raw([
            0xecd6_27e5_9590_d09e,
            0x3f5b_5ca5_a19a_9701,
            0xcc99_6cd8_5c98_a1d8,
            0x26b7_2df4_7408_ad42,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x59be_ce31_f0a3_1e95,
            0xde01_212e_e458_8f89,
            0x1f05_636c_610b_89aa,
            0x1301_80e4_4e29_24db,
        ]),
        pallas::Base::from_raw([
            0x9ea8_e7bc_7926_3550,
            0xdf77_93cc_89e5_b52f,
            0x7327_5aca_ed5f_579c,
            0x219e_9773_7d39_79ba,
        ]),
        pallas::Base::from_raw([
            0x9c12_635d_f251_d153,
            0x3b06_72dd_7d42_cbb4,
            0x3461_363f_81c4_89a2,
            0x3cdb_9359_8a5c_a528,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2861_ce16_f219_d5a9,
            0x4ad0_4470_45a7_c5aa,
            0x2072_4b92_7a0c_a81c,
            0x0e59_e6f3_32d7_ed37,
        ]),
        pallas::Base::from_raw([
            0x43b0_a3fc_ff20_36bd,
            0x172c_c07b_9d33_fbf9,
            0x3d73_6946_7222_697a,
            0x1b06_4342_d51a_4275,
        ]),
        pallas::Base::from_raw([
            0x3eb3_1022_8a0e_5f6c,
            0x78fa_9fb9_1712_21b7,
            0x2f36_3c55_b288_2e0b,
            0x30b8_2a99_8cbd_8e8a,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xe46f_6d42_9874_0107,
            0x8ad7_1ea7_15be_0573,
            0x63df_7a76_e858_a4aa,
            0x23e4_ab37_183a_cba4,
        ]),
        pallas::Base::from_raw([
            0xfca9_95e2_b599_14a1,
            0xacfe_1464_0de0_44f2,
            0x5d33_094e_0bed_a75b,
            0x2795_d5c5_fa42_8022,
        ]),
        pallas::Base::from_raw([
            0xc26d_909d_ee8b_53c0,
            0xa668_7c3d_f16c_8fe4,
            0xd765_f26d_d03f_4c45,
            0x3001_ca40_1e89_601c,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xe7fe_a6bd_f347_1380,
            0xe84b_5beb_ae4e_501d,
            0xf7bf_86e8_9280_827f,
            0x0072_e45c_c676_b08e,
        ]),
        pallas::Base::from_raw([
            0xd0c5_4dde_b26b_86c0,
            0xb648_29e2_d40e_41bd,
            0xe2ab_e4c5_18ce_599e,
            0x13de_7054_8487_4bb5,
        ]),
        pallas::Base::from_raw([
            0x3891_5b43_2a99_59a5,
            0x82bb_18e5_af1b_05bb,
            0x3159_50f1_211d_efe8,
            0x0408_a9fc_f9d6_1abf,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x3407_0cbe_e268_86a0,
            0xae4d_23b0_b41b_e9a8,
            0xbb4e_4a14_00cc_d2c4,
            0x2780_b9e7_5b55_676e,
        ]),
        pallas::Base::from_raw([
            0x9405_5920_98b4_056f,
            0xdc4d_8fbe_fe24_405a,
            0xf803_33ec_8563_4ac9,
            0x3a57_0d4d_7c4e_7ac3,
        ]),
        pallas::Base::from_raw([
            0x78d2_b247_8995_20b4,
            0xe2cc_1507_bebd_cc62,
            0xf347_c247_fcf0_9294,
            0x0c13_cca7_cb1f_9d2c,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2e8c_88f7_7074_70e0,
            0x0b50_bb2e_b82d_f74d,
            0xd261_4a19_7c6b_794b,
            0x14f5_9baa_03cd_0ca4,
        ]),
        pallas::Base::from_raw([
            0xbe52_476e_0a16_f3be,
            0xa51d_54ed_e661_67f5,
            0x6f54_6e17_04c3_9c60,
            0x307d_efee_925d_fb43,
        ]),
        pallas::Base::from_raw([
            0x380b_67d8_0473_dce3,
            0x6611_0683_6adf_e5e7,
            0x7a07_e767_4b5a_2621,
            0x1960_cd51_1a91_e060,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x15aa_f1f7_7125_89dd,
            0xb8ee_335d_8828_4cbe,
            0xca2a_d0fb_5667_2500,
            0x2301_ef9c_63ea_84c5,
        ]),
        pallas::Base::from_raw([
            0x5e68_478c_4d60_27a9,
            0xc861_82d1_b424_6b58,
            0xd10f_4cd5_2be9_7f6b,
            0x029a_5a47_da79_a488,
        ]),
        pallas::Base::from_raw([
            0x2cc4_f962_eaae_2260,
            0xf97f_e46b_6a92_5428,
            0x2360_d17d_890e_55cb,
            0x32d7_b16a_7f11_cc96,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xc0ca_b915_d536_3d9f,
            0xa5f2_404c_d7b3_5eb0,
            0x18e8_57a9_8d49_8cf7,
            0x2670_3e48_c03b_81ca,
        ]),
        pallas::Base::from_raw([
            0xf691_123a_e112_b928,
            0xf443_88bd_6b89_221e,
            0x88ac_8d25_a246_03f1,
            0x0486_82a3_5b32_65bc,
        ]),
        pallas::Base::from_raw([
            0x3ab7_defc_b8d8_03e2,
            0x91d6_e171_5164_775e,
            0xd72c_ddc6_cf06_b507,
            0x06b1_3904_41fa_7030,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xbcd7_9541_4a6e_2e86,
            0x43b3_60f6_386a_86d7,
            0x1689_426d_ce05_fcd8,
            0x31aa_0eeb_868c_626d,
        ]),
        pallas::Base::from_raw([
            0xed77_f5d5_76b9_9cc3,
            0x90ef_d8f4_1b20_78b2,
            0x057a_bad3_764c_104b,
            0x2394_64f7_5bf7_b6af,
        ]),
        pallas::Base::from_raw([
            0xb2cb_4873_07c1_cecf,
            0xa5cc_47c5_9654_b2a7,
            0xa45e_19ed_813a_54ab,
            0x0a64_d4c0_4fd4_26bd,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x1f73_1532_2f65_8735,
            0x777c_7a92_1a06_2e9d,
            0x576a_4ad2_5986_0fb1,
            0x21fb_bdbb_7367_0734,
        ]),
        pallas::Base::from_raw([
            0x6743_2400_3fc5_2146,
            0x5b86_d294_63d3_1564,
            0xd937_1ca2_eb95_acf3,
            0x31b8_6f3c_f017_05d4,
        ]),
        pallas::Base::from_raw([
            0x7045_f48a_a4eb_4f6f,
            0x1354_1d65_157e_e1ce,
            0x05ef_1736_d090_56f6,
            0x2bfd_e533_5437_7c91,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x5a13_a58d_2001_1e2f,
            0xf4d5_239c_11d0_eafa,
            0xd558_f36e_65f8_eca7,
            0x1233_ca93_6ec2_4671,
        ]),
        pallas::Base::from_raw([
            0x6e70_af0a_7a92_4b3a,
            0x8780_58d0_234a_576f,
            0xc437_846d_8e0b_2b30,
            0x27d4_52a4_3ac7_dea2,
        ]),
        pallas::Base::from_raw([
            0xa025_76b9_4392_f980,
            0x6a30_641a_1c3d_87b2,
            0xe816_ea8d_a493_e0fa,
            0x2699_dba8_2184_e413,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x608c_6f7a_61b5_6e55,
            0xf185_8466_4f8c_ab49,
            0xc398_8bae_e42e_4b10,
            0x36c7_22f0_efcc_8803,
        ]),
        pallas::Base::from_raw([
            0x6e49_ac17_0dbb_7fcd,
            0x85c3_8899_a7b5_a833,
            0x08b0_f2ec_89cc_aa37,
            0x02b3_ff48_861e_339b,
        ]),
        pallas::Base::from_raw([
            0xa8c5_ae03_ad98_e405,
            0x6fc3_ff4c_49eb_59ad,
            0x6016_2f44_27bc_657b,
            0x0b70_d061_d58d_8a7f,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2e06_cc4a_f33b_0a06,
            0xad3d_e8be_46ed_9693,
            0xf875_3ade_b9d7_cee2,
            0x3fc2_a13f_127f_96a4,
        ]),
        pallas::Base::from_raw([
            0xc120_80ac_117e_e15f,
            0x00cb_3d62_1e17_1d80,
            0x1bd6_3434_ac8c_419f,
            0x0c41_a6e4_8dd2_3a51,
        ]),
        pallas::Base::from_raw([
            0x9685_213e_9692_f5e1,
            0x72aa_ad7e_4e75_339d,
            0xed44_7653_7169_084e,
            0x2de8_072a_6bd8_6884,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x0ad0_1184_567b_027c,
            0xb81c_f735_cc9c_39c0,
            0x9d34_96a3_d9fe_05ec,
            0x0355_7a8f_7b38_a17f,
        ]),
        pallas::Base::from_raw([
            0x45bc_b5ac_0082_6abc,
            0x060f_4336_3d81_8e54,
            0xee97_6d34_282f_1a37,
            0x0b5f_5955_2f49_8735,
        ]),
        pallas::Base::from_raw([
            0x2f29_09e1_7e22_b0df,
            0xf5d6_46e5_7507_e548,
            0xfedb_b185_70dc_7300,
            0x0e29_23a5_fee7_b878,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xf71e_ed73_f15b_3326,
            0xcf1c_b37c_3b03_2af6,
            0xc787_be97_020a_7fdd,
            0x1d78_5005_a7a0_0592,
        ]),
        pallas::Base::from_raw([
            0x0acf_bfb2_23f8_f00d,
            0xa590_b88a_3b06_0294,
            0x0ba5_fedc_b8f2_5bd2,
            0x1ad7_72c2_73d9_c6df,
        ]),
        pallas::Base::from_raw([
            0xc1ce_13d6_0f2f_5031,
            0x8105_10eb_61f0_672d,
            0xa78f_3275_c278_234b,
            0x027b_d647_85fc_bd2a,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x8337_f5e0_7923_a853,
            0xe224_3134_6945_7b8e,
            0xce6f_8ffe_a103_1b6d,
            0x2080_0f44_1b4a_0526,
        ]),
        pallas::Base::from_raw([
            0xa33d_7bed_89a4_408a,
            0x36cd_c8ee_d662_ad37,
            0x6eea_2cd4_9f43_12b4,
            0x3d5a_d61d_7b65_f938,
        ]),
        pallas::Base::from_raw([
            0x3bbb_ae94_cc19_5284,
            0x1df9_6cc0_3ea4_b26d,
            0x02c5_f91b_e4dd_8e3d,
            0x1333_8bc3_51fc_46dd,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xc527_1c29_7852_819e,
            0x646c_49f9_b46c_bf19,
            0xb87d_b1e2_af3e_a923,
            0x25e5_2be5_07c9_2760,
        ]),
        pallas::Base::from_raw([
            0x5c38_0ab7_01b5_2ea9,
            0xa34c_83a3_485c_6b2d,
            0x7109_6d8b_1b98_3c98,
            0x1c49_2d64_c157_aaa4,
        ]),
        pallas::Base::from_raw([
            0xa20c_0b3d_a0da_4ca3,
            0xd434_87bc_288d_f682,
            0xf4e6_c5e7_a573_f592,
            0x0c5b_8015_7999_2718,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x7ea3_3c93_e408_33cf,
            0x584e_9e62_a7f9_554e,
            0x6869_5c0c_d7cb_f43d,
            0x1090_b1b4_d2be_be7a,
        ]),
        pallas::Base::from_raw([
            0xe383_e1ec_3baa_8d69,
            0x1b21_8e35_ecf2_328e,
            0x68f5_ce5c_bed1_9cad,
            0x33e3_8018_a801_387a,
        ]),
        pallas::Base::from_raw([
            0xb76b_0b3d_787e_e953,
            0x5f4a_02d2_8729_e3ae,
            0xeef8_d83d_0e87_6bac,
            0x1654_af18_772b_2da5,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xef7c_e6a0_1326_5477,
            0xbb08_9387_0367_ec6c,
            0x4474_2de8_8c5a_b0d5,
            0x1678_be3c_c9c6_7993,
        ]),
        pallas::Base::from_raw([
            0xaf5d_4789_3348_f766,
            0xdaf1_8183_55b1_3b4f,
            0x7ff9_c6be_546e_928a,
            0x3780_bd1e_01f3_4c22,
        ]),
        pallas::Base::from_raw([
            0xa123_8032_0d7c_c1de,
            0x5d11_e69a_a6c0_b98c,
            0x0786_018e_7cb7_7267,
            0x1e83_d631_5c9f_125b,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x1799_603e_855c_e731,
            0xc486_894d_76e0_c33b,
            0x160b_4155_2f29_31c8,
            0x354a_fd0a_2f9d_0b26,
        ]),
        pallas::Base::from_raw([
            0x8b99_7ee0_6be1_bff3,
            0x60b0_0dbe_1fac_ed07,
            0x2d8a_ffa6_2905_c5a5,
            0x00cd_6d29_f166_eadc,
        ]),
        pallas::Base::from_raw([
            0x08d0_6419_1708_2f2c,
            0xc60d_0197_3f18_3057,
            0xdbe0_e3d7_cdbc_66ef,
            0x1d62_1935_2768_e3ae,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xfa08_dd98_0638_7577,
            0xafe3_ca1d_b8d4_f529,
            0xe48d_2370_d7d1_a142,
            0x1463_36e2_5db5_181d,
        ]),
        pallas::Base::from_raw([
            0xa901_d3ce_84de_0ad4,
            0x022e_54b4_9c13_d907,
            0x997a_2116_3e2e_43df,
            0x0005_d8e0_85fd_72ee,
        ]),
        pallas::Base::from_raw([
            0x1c36_f313_4196_4484,
            0x6f8e_bc1d_2296_021a,
            0x0dd5_e61c_8a4e_8642,
            0x364e_97c7_a389_3227,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xd7a0_0c03_d2e0_baaa,
            0xfa97_ec80_ad30_7a52,
            0x561c_6fff_1534_6878,
            0x0118_9910_671b_c16b,
        ]),
        pallas::Base::from_raw([
            0x63fd_8ac5_7a95_ca8c,
            0x4c0f_7e00_1df4_90aa,
            0x5229_dfaa_0123_1a45,
            0x162a_7c80_f4d2_d12e,
        ]),
        pallas::Base::from_raw([
            0x32e6_9efb_22f4_0b96,
            0xcaff_31b4_fda3_2124,
            0x2604_e4af_b09f_8603,
            0x2a0d_6c09_5766_66bb,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xc0a0_180f_8cbf_c0d2,
            0xf444_d10d_63a7_4e2c,
            0xe16a_4d60_3d5a_808e,
            0x0978_e5c5_1e1e_5649,
        ]),
        pallas::Base::from_raw([
            0x03f4_460e_bc35_1b6e,
            0x0508_7d90_3bda_cfd1,
            0xebe1_9bbd_ce25_1011,
            0x1bdc_ee3a_aca9_cd25,
        ]),
        pallas::Base::from_raw([
            0xf619_64bf_3ade_7670,
            0x0c94_7321_e007_5e3f,
            0xe494_7914_0b19_44fd,
            0x1862_cccb_70b5_b885,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xc326_7da6_e94a_dc50,
            0x39ee_99c1_cc6e_5dda,
            0xbc26_cc88_3a19_87e1,
            0x1f3e_91d8_63c1_6922,
        ]),
        pallas::Base::from_raw([
            0x0f85_b4ac_2c36_7406,
            0xfa66_1465_c656_ad99,
            0xef5c_08f8_478f_663a,
            0x1af4_7a48_a601_6a49,
        ]),
        pallas::Base::from_raw([
            0x0eab_cd87_e7d0_1b15,
            0x1c36_98b0_a2e3_da10,
            0x009d_5733_8c69_3505,
            0x3c8e_e901_956e_3d3f,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x8b94_7721_8967_3476,
            0xe10c_e2b7_069f_4dbd,
            0x68d0_b024_f591_b520,
            0x1660_a8cd_e7fe_c553,
        ]),
        pallas::Base::from_raw([
            0x9d8d_0f67_fdaa_79d5,
            0x3963_c2c1_f558_6e2f,
            0x1303_9363_34dd_1132,
            0x0f6d_9919_29d5_e4e7,
        ]),
        pallas::Base::from_raw([
            0x7a43_3091_e1ce_2d3a,
            0x4e7f_da77_0712_f343,
            0xcc62_5eaa_ab52_b4dc,
            0x02b9_cea1_921c_d9f6,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x3797_b2d8_3760_43b3,
            0xd8ca_f468_976f_0472,
            0x214f_7c67_84ac_b565,
            0x14a3_23b9_9b90_0331,
        ]),
        pallas::Base::from_raw([
            0x347f_ef2c_00f0_953a,
            0x718b_7fbc_7788_af78,
            0xec01_ea79_642d_5760,
            0x1904_76b5_80cb_9277,
        ]),
        pallas::Base::from_raw([
            0xff4e_7e6f_b268_dfd7,
            0x9660_902b_6008_7651,
            0xa424_63d3_0b44_2b6f,
            0x090a_3a9d_869d_2eef,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xf983_387e_a045_6203,
            0xe365_0013_04f9_a11e,
            0x0dbe_8fd2_270a_6795,
            0x3877_a955_8636_7567,
        ]),
        pallas::Base::from_raw([
            0x39c0_af0f_e01f_4a06,
            0x6011_8c53_a218_1352,
            0x5df3_9a2c_c63d_dc0a,
            0x2d89_4691_240f_e953,
        ]),
        pallas::Base::from_raw([
            0x1aca_9eaf_9bba_9850,
            0x5914_e855_eeb4_4aa1,
            0x7ef7_1780_2016_6189,
            0x21b9_c182_92bd_bc59,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x33f5_09a7_4ad9_d39b,
            0x272e_1cc6_c36a_2968,
            0x505a_05f2_a6ae_834c,
            0x2fe7_6be7_cff7_23e2,
        ]),
        pallas::Base::from_raw([
            0x0df9_fa97_277f_a8b4,
            0xd15b_ff84_0dda_e8a5,
            0x9299_81d7_cfce_253b,
            0x187a_a448_f391_e3ca,
        ]),
        pallas::Base::from_raw([
            0xf0c6_6af5_ffc7_3736,
            0x663c_cf7b_2ffe_4b5e,
            0x007a_b3aa_3617_f422,
            0x0b70_83ad_7517_07bf,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2f9b_20f1_fbd4_9791,
            0x1975_b962_f6cb_8e0b,
            0x3bc4_ca99_02c5_2acb,
            0x030d_dbb4_7049_3f16,
        ]),
        pallas::Base::from_raw([
            0x3a1c_62ca_8fbf_2525,
            0x8fb8_ab9d_60ea_17b2,
            0x950b_0ab1_8d35_46df,
            0x3130_fbaf_fb5a_a82a,
        ]),
        pallas::Base::from_raw([
            0x43a8_7618_0dc3_82e0,
            0x15ce_2ead_2fcd_051e,
            0x4f74_d74b_ac2e_e457,
            0x337f_5447_07c4_30f0,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x26de_98a8_736d_1d11,
            0x7d8e_471a_9fb9_5fef,
            0xac9d_91b0_930d_ac75,
            0x3499_7991_9015_394f,
        ]),
        pallas::Base::from_raw([
            0xccfc_b618_31d5_c775,
            0x3bf9_3da6_fff3_1d95,
            0x2305_cd7a_921e_c5f1,
            0x027c_c4ef_e3fb_35dd,
        ]),
        pallas::Base::from_raw([
            0xc3fa_2629_635d_27de,
            0x67f1_c6b7_3147_64af,
            0x61b7_1a36_9868_2ad2,
            0x037f_9f23_6595_4c5b,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x77c5_b024_8483_71ae,
            0x6041_4abe_362d_01c9,
            0x10f1_cc6d_f8b4_bcd7,
            0x1f69_7cac_4d07_feb7,
        ]),
        pallas::Base::from_raw([
            0x786a_dd24_4aa0_ef29,
            0x3145_c478_0631_09d6,
            0x26e6_c851_fbd5_72a6,
            0x267a_750f_e5d7_cfbc,
        ]),
        pallas::Base::from_raw([
            0x180e_2b4d_3e75_6f65,
            0xaf28_5fa8_2ce4_fae5,
            0x678c_9996_d9a4_72c8,
            0x0c91_feab_4a43_193a,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x79c4_7c57_3ac4_10f7,
            0x7e3b_83af_4a4b_a3ba,
            0x2186_c303_8ea0_5e69,
            0x1745_569a_0a3e_3014,
        ]),
        pallas::Base::from_raw([
            0x1e03_8852_2696_191f,
            0xfdff_66c6_f3b5_ffe1,
            0xeca5_1207_78a5_6711,
            0x2986_3d54_6e7e_7c0d,
        ]),
        pallas::Base::from_raw([
            0x2f22_5e63_66bf_e390,
            0xa79a_03df_8339_94c6,
            0xbf06_bae4_9ef8_53f6,
            0x1148_d6ab_2bd0_0192,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xf4f6_331a_8b26_5d15,
            0xf745_f45d_350d_41d4,
            0xe18b_1499_060d_a366,
            0x02e0_e121_b0f3_dfef,
        ]),
        pallas::Base::from_raw([
            0x078a_e6aa_1510_54b7,
            0x6904_0173_6d44_a653,
            0xb89e_f73a_40a2_b274,
            0x0d0a_a46e_76a6_a278,
        ]),
        pallas::Base::from_raw([
            0x9a4d_532c_7b6e_0958,
            0x392d_de71_0f1f_06db,
            0xeee5_45f3_fa6d_3d08,
            0x1394_3675_b04a_a986,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x961f_c818_dcbb_66b5,
            0xc9f2_b325_7530_dafe,
            0xd97a_11d6_3088_f5d9,
            0x2901_ec61_942d_34aa,
        ]),
        pallas::Base::from_raw([
            0xfdf5_44b9_63d1_fdc7,
            0x22ff_a2a2_af9f_a3e3,
            0xf431_d544_34a3_e0cf,
            0x2020_4a21_05d2_2e7e,
        ]),
        pallas::Base::from_raw([
            0x1211_b9e2_190d_6852,
            0xa004_abe8_e015_28c4,
            0x5c1e_3e9e_27a5_71c3,
            0x3a8a_6282_9512_1d5c,
        ]),
    ],
];
// Secure MDS: 0
// n: 255
// t: 3
// N: 765
// Result Algorithm 1:
//  [True, 0]
// Result Algorithm 2:
//  [True, None]
// Result Algorithm 3:
//  [True, None]
// Prime number: 0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001
// MDS matrix:
pub(crate) const MDS: [[pallas::Base; 3]; 3] = [
    [
        pallas::Base::from_raw([
            0x323f_2486_d7e1_1b63,
            0x97d7_a0ab_2385_0b56,
            0xb3d5_9fbd_c8c9_ead4,
            0x0ab5_e5b8_74a6_8de7,
        ]),
        pallas::Base::from_raw([
            0x8eca_5596_e996_ab5e,
            0x240d_4a7c_bf73_5736,
            0x293f_0f0d_886c_7954,
            0x3191_6628_e58a_5abb,
        ]),
        pallas::Base::from_raw([
            0x19d1_cf25_d8e8_345d,
            0xa0a3_b71a_5fb1_5735,
            0xd803_952b_bb36_4fdf,
            0x07c0_45d5_f5e9_e5a6,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xd049_cdc8_d085_167c,
            0x3a0a_4640_48bd_770a,
            0xf8e2_4f66_822c_2d9f,
            0x2331_6263_0ebf_9ed7,
        ]),
        pallas::Base::from_raw([
            0x4022_7011_3e04_7a2e,
            0x78f8_365c_85bb_ab07,
            0xb366_6454_8d60_957d,
            0x25ca_e259_9892_a8b0,
        ]),
        pallas::Base::from_raw([
            0xf84d_806f_685f_747a,
            0x9aad_3d82_62ef_d83f,
            0x7493_8717_989a_1957,
            0x22f5_b5e1_e608_1c97,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xfee7_a994_4f84_dbe4,
            0x2168_0eab_c56b_c15d,
            0xf333_aa91_c383_3464,
            0x2e29_dd59_c64b_1037,
        ]),
        pallas::Base::from_raw([
            0xc771_effa_4326_3664,
            0xcbea_f48b_3a06_24c3,
            0x92d1_5e7d_ceef_1665,
            0x1d1a_ab4e_c1cd_6788,
        ]),
        pallas::Base::from_raw([
            0x1563_9415_f6e8_5ef1,
            0x7587_2c39_b59a_31f6,
            0x51e0_cbea_d655_16b9,
            0x3bf7_6308_6a18_9364,
        ]),
    ],
];

pub(crate) const MDS_INV: [[pallas::Base; 3]; 3] = [
    [
        pallas::Base::from_raw([
            0xc6de_463c_d140_4e6b,
            0x4543_705f_35e9_8ab5,
            0xcc59_ffd0_0de8_6443,
            0x2cc0_57f3_fa14_687a,
        ]),
        pallas::Base::from_raw([
            0x1718_4041_7cab_7576,
            0xfadb_f8ae_7ae2_4796,
            0x5fd7_2b55_df20_8385,
            0x32e7_c439_f2f9_67e5,
        ]),
        pallas::Base::from_raw([
            0x9426_45bd_7d44_64e0,
            0x1403_db6f_5030_2040,
            0xf461_778a_bf6c_91fa,
            0x2eae_5df8_c311_5969,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0xa1ca_1516_a4a1_a6a0,
            0x13f0_74fd_e9a1_8b29,
            0xdb18_b4ae_fe68_d26d,
            0x07bf_3684_8106_7199,
        ]),
        pallas::Base::from_raw([
            0xe824_25bc_1b23_a059,
            0xbb1d_6504_0c85_c1bf,
            0x018a_918b_9dac_5dad,
            0x2aec_6906_c63f_3cf1,
        ]),
        pallas::Base::from_raw([
            0xe054_1adf_238e_0781,
            0x76b2_a713_9db7_1b36,
            0x1215_944a_64a2_46b2,
            0x0952_e024_3aec_2af0,
        ]),
    ],
    [
        pallas::Base::from_raw([
            0x2a41_8d8d_73a7_c908,
            0xaef9_112e_952f_dbb5,
            0x723a_63a0_c09d_ab26,
            0x2fcb_ba6f_9159_a219,
        ]),
        pallas::Base::from_raw([
            0x76ef_ab42_d4fb_a90b,
            0xc5e4_960d_7424_cd37,
            0xb4dd_d4b4_d645_2256,
            0x1ec7_3725_74f3_851b,
        ]),
        pallas::Base::from_raw([
            0xadc8_933c_6f3c_72ee,
            0x87a7_435d_30f8_be81,
            0x3c26_fa4b_7d25_b1e4,
            0x0d0c_2efd_6472_f12a,
        ]),
    ],
];