1use crate::jet::type_name::TypeName;
4use crate::jet::Jet;
5use crate::merkle::cmr::Cmr;
6use crate::decode_bits;
7use crate::{decode, BitIter, BitWriter};
8use crate::analysis::Cost;
9use hashes::sha256::Midstate;
10use simplicity_sys::CFrameItem;
11use std::io::Write;
12use std::{fmt, str};
13use crate::jet::elements::ElementsEnv;
14use simplicity_sys::CElementsTxEnv;
15
16#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
18pub enum Elements {
19 Add16,
20 Add32,
21 Add64,
22 Add8,
23 All16,
24 All32,
25 All64,
26 All8,
27 And1,
28 And16,
29 And32,
30 And64,
31 And8,
32 AnnexHash,
33 AssetAmountHash,
34 Bip0340Verify,
35 BuildTapbranch,
36 BuildTapleafSimplicity,
37 BuildTaptweak,
38 CalculateAsset,
39 CalculateConfidentialToken,
40 CalculateExplicitToken,
41 CalculateIssuanceEntropy,
42 Ch1,
43 Ch16,
44 Ch32,
45 Ch64,
46 Ch8,
47 CheckLockDistance,
48 CheckLockDuration,
49 CheckLockHeight,
50 CheckLockTime,
51 CheckSigVerify,
52 Complement1,
53 Complement16,
54 Complement32,
55 Complement64,
56 Complement8,
57 CurrentAmount,
58 CurrentAnnexHash,
59 CurrentAsset,
60 CurrentIndex,
61 CurrentIssuanceAssetAmount,
62 CurrentIssuanceAssetProof,
63 CurrentIssuanceTokenAmount,
64 CurrentIssuanceTokenProof,
65 CurrentNewIssuanceContract,
66 CurrentPegin,
67 CurrentPrevOutpoint,
68 CurrentReissuanceBlinding,
69 CurrentReissuanceEntropy,
70 CurrentScriptHash,
71 CurrentScriptSigHash,
72 CurrentSequence,
73 Decompress,
74 Decrement16,
75 Decrement32,
76 Decrement64,
77 Decrement8,
78 DivMod128_64,
79 DivMod16,
80 DivMod32,
81 DivMod64,
82 DivMod8,
83 Divide16,
84 Divide32,
85 Divide64,
86 Divide8,
87 Divides16,
88 Divides32,
89 Divides64,
90 Divides8,
91 Eq1,
92 Eq16,
93 Eq256,
94 Eq32,
95 Eq64,
96 Eq8,
97 FeAdd,
98 FeInvert,
99 FeIsOdd,
100 FeIsZero,
101 FeMultiply,
102 FeMultiplyBeta,
103 FeNegate,
104 FeNormalize,
105 FeSquare,
106 FeSquareRoot,
107 FullAdd16,
108 FullAdd32,
109 FullAdd64,
110 FullAdd8,
111 FullDecrement16,
112 FullDecrement32,
113 FullDecrement64,
114 FullDecrement8,
115 FullIncrement16,
116 FullIncrement32,
117 FullIncrement64,
118 FullIncrement8,
119 FullLeftShift16_1,
120 FullLeftShift16_2,
121 FullLeftShift16_4,
122 FullLeftShift16_8,
123 FullLeftShift32_1,
124 FullLeftShift32_16,
125 FullLeftShift32_2,
126 FullLeftShift32_4,
127 FullLeftShift32_8,
128 FullLeftShift64_1,
129 FullLeftShift64_16,
130 FullLeftShift64_2,
131 FullLeftShift64_32,
132 FullLeftShift64_4,
133 FullLeftShift64_8,
134 FullLeftShift8_1,
135 FullLeftShift8_2,
136 FullLeftShift8_4,
137 FullMultiply16,
138 FullMultiply32,
139 FullMultiply64,
140 FullMultiply8,
141 FullRightShift16_1,
142 FullRightShift16_2,
143 FullRightShift16_4,
144 FullRightShift16_8,
145 FullRightShift32_1,
146 FullRightShift32_16,
147 FullRightShift32_2,
148 FullRightShift32_4,
149 FullRightShift32_8,
150 FullRightShift64_1,
151 FullRightShift64_16,
152 FullRightShift64_2,
153 FullRightShift64_32,
154 FullRightShift64_4,
155 FullRightShift64_8,
156 FullRightShift8_1,
157 FullRightShift8_2,
158 FullRightShift8_4,
159 FullSubtract16,
160 FullSubtract32,
161 FullSubtract64,
162 FullSubtract8,
163 GeIsOnCurve,
164 GeNegate,
165 GejAdd,
166 GejDouble,
167 GejEquiv,
168 GejGeAdd,
169 GejGeAddEx,
170 GejGeEquiv,
171 GejInfinity,
172 GejIsInfinity,
173 GejIsOnCurve,
174 GejNegate,
175 GejNormalize,
176 GejRescale,
177 GejXEquiv,
178 GejYIsOdd,
179 Generate,
180 GenesisBlockHash,
181 HashToCurve,
182 High1,
183 High16,
184 High32,
185 High64,
186 High8,
187 Increment16,
188 Increment32,
189 Increment64,
190 Increment8,
191 InputAmount,
192 InputAmountsHash,
193 InputAnnexHash,
194 InputAnnexesHash,
195 InputAsset,
196 InputHash,
197 InputOutpointsHash,
198 InputPegin,
199 InputPrevOutpoint,
200 InputScriptHash,
201 InputScriptSigHash,
202 InputScriptSigsHash,
203 InputScriptsHash,
204 InputSequence,
205 InputSequencesHash,
206 InputUtxoHash,
207 InputUtxosHash,
208 InputsHash,
209 InternalKey,
210 IsOne16,
211 IsOne32,
212 IsOne64,
213 IsOne8,
214 IsZero16,
215 IsZero32,
216 IsZero64,
217 IsZero8,
218 Issuance,
219 IssuanceAsset,
220 IssuanceAssetAmount,
221 IssuanceAssetAmountsHash,
222 IssuanceAssetProof,
223 IssuanceBlindingEntropyHash,
224 IssuanceEntropy,
225 IssuanceHash,
226 IssuanceRangeProofsHash,
227 IssuanceToken,
228 IssuanceTokenAmount,
229 IssuanceTokenAmountsHash,
230 IssuanceTokenProof,
231 IssuancesHash,
232 LbtcAsset,
233 Le16,
234 Le32,
235 Le64,
236 Le8,
237 LeftExtend16_32,
238 LeftExtend16_64,
239 LeftExtend1_16,
240 LeftExtend1_32,
241 LeftExtend1_64,
242 LeftExtend1_8,
243 LeftExtend32_64,
244 LeftExtend8_16,
245 LeftExtend8_32,
246 LeftExtend8_64,
247 LeftPadHigh16_32,
248 LeftPadHigh16_64,
249 LeftPadHigh1_16,
250 LeftPadHigh1_32,
251 LeftPadHigh1_64,
252 LeftPadHigh1_8,
253 LeftPadHigh32_64,
254 LeftPadHigh8_16,
255 LeftPadHigh8_32,
256 LeftPadHigh8_64,
257 LeftPadLow16_32,
258 LeftPadLow16_64,
259 LeftPadLow1_16,
260 LeftPadLow1_32,
261 LeftPadLow1_64,
262 LeftPadLow1_8,
263 LeftPadLow32_64,
264 LeftPadLow8_16,
265 LeftPadLow8_32,
266 LeftPadLow8_64,
267 LeftRotate16,
268 LeftRotate32,
269 LeftRotate64,
270 LeftRotate8,
271 LeftShift16,
272 LeftShift32,
273 LeftShift64,
274 LeftShift8,
275 LeftShiftWith16,
276 LeftShiftWith32,
277 LeftShiftWith64,
278 LeftShiftWith8,
279 Leftmost16_1,
280 Leftmost16_2,
281 Leftmost16_4,
282 Leftmost16_8,
283 Leftmost32_1,
284 Leftmost32_16,
285 Leftmost32_2,
286 Leftmost32_4,
287 Leftmost32_8,
288 Leftmost64_1,
289 Leftmost64_16,
290 Leftmost64_2,
291 Leftmost64_32,
292 Leftmost64_4,
293 Leftmost64_8,
294 Leftmost8_1,
295 Leftmost8_2,
296 Leftmost8_4,
297 LinearCombination1,
298 LinearVerify1,
299 LockTime,
300 Low1,
301 Low16,
302 Low32,
303 Low64,
304 Low8,
305 Lt16,
306 Lt32,
307 Lt64,
308 Lt8,
309 Maj1,
310 Maj16,
311 Maj32,
312 Maj64,
313 Maj8,
314 Max16,
315 Max32,
316 Max64,
317 Max8,
318 Median16,
319 Median32,
320 Median64,
321 Median8,
322 Min16,
323 Min32,
324 Min64,
325 Min8,
326 Modulo16,
327 Modulo32,
328 Modulo64,
329 Modulo8,
330 Multiply16,
331 Multiply32,
332 Multiply64,
333 Multiply8,
334 Negate16,
335 Negate32,
336 Negate64,
337 Negate8,
338 NewIssuanceContract,
339 NonceHash,
340 NumInputs,
341 NumOutputs,
342 One16,
343 One32,
344 One64,
345 One8,
346 Or1,
347 Or16,
348 Or32,
349 Or64,
350 Or8,
351 OutpointHash,
352 OutputAmount,
353 OutputAmountsHash,
354 OutputAsset,
355 OutputHash,
356 OutputIsFee,
357 OutputNonce,
358 OutputNoncesHash,
359 OutputNullDatum,
360 OutputRangeProof,
361 OutputRangeProofsHash,
362 OutputScriptHash,
363 OutputScriptsHash,
364 OutputSurjectionProof,
365 OutputSurjectionProofsHash,
366 OutputsHash,
367 ParseLock,
368 ParseSequence,
369 PointVerify1,
370 ReissuanceBlinding,
371 ReissuanceEntropy,
372 RightExtend16_32,
373 RightExtend16_64,
374 RightExtend32_64,
375 RightExtend8_16,
376 RightExtend8_32,
377 RightExtend8_64,
378 RightPadHigh16_32,
379 RightPadHigh16_64,
380 RightPadHigh1_16,
381 RightPadHigh1_32,
382 RightPadHigh1_64,
383 RightPadHigh1_8,
384 RightPadHigh32_64,
385 RightPadHigh8_16,
386 RightPadHigh8_32,
387 RightPadHigh8_64,
388 RightPadLow16_32,
389 RightPadLow16_64,
390 RightPadLow1_16,
391 RightPadLow1_32,
392 RightPadLow1_64,
393 RightPadLow1_8,
394 RightPadLow32_64,
395 RightPadLow8_16,
396 RightPadLow8_32,
397 RightPadLow8_64,
398 RightRotate16,
399 RightRotate32,
400 RightRotate64,
401 RightRotate8,
402 RightShift16,
403 RightShift32,
404 RightShift64,
405 RightShift8,
406 RightShiftWith16,
407 RightShiftWith32,
408 RightShiftWith64,
409 RightShiftWith8,
410 Rightmost16_1,
411 Rightmost16_2,
412 Rightmost16_4,
413 Rightmost16_8,
414 Rightmost32_1,
415 Rightmost32_16,
416 Rightmost32_2,
417 Rightmost32_4,
418 Rightmost32_8,
419 Rightmost64_1,
420 Rightmost64_16,
421 Rightmost64_2,
422 Rightmost64_32,
423 Rightmost64_4,
424 Rightmost64_8,
425 Rightmost8_1,
426 Rightmost8_2,
427 Rightmost8_4,
428 ScalarAdd,
429 ScalarInvert,
430 ScalarIsZero,
431 ScalarMultiply,
432 ScalarMultiplyLambda,
433 ScalarNegate,
434 ScalarNormalize,
435 ScalarSquare,
436 Scale,
437 ScriptCMR,
438 Sha256Block,
439 Sha256Ctx8Add1,
440 Sha256Ctx8Add128,
441 Sha256Ctx8Add16,
442 Sha256Ctx8Add2,
443 Sha256Ctx8Add256,
444 Sha256Ctx8Add32,
445 Sha256Ctx8Add4,
446 Sha256Ctx8Add512,
447 Sha256Ctx8Add64,
448 Sha256Ctx8Add8,
449 Sha256Ctx8AddBuffer511,
450 Sha256Ctx8Finalize,
451 Sha256Ctx8Init,
452 Sha256Iv,
453 SigAllHash,
454 Some1,
455 Some16,
456 Some32,
457 Some64,
458 Some8,
459 Subtract16,
460 Subtract32,
461 Subtract64,
462 Subtract8,
463 Swu,
464 TapEnvHash,
465 TapdataInit,
466 TapleafHash,
467 TapleafVersion,
468 Tappath,
469 TappathHash,
470 TotalFee,
471 TransactionId,
472 TxHash,
473 TxIsFinal,
474 TxLockDistance,
475 TxLockDuration,
476 TxLockHeight,
477 TxLockTime,
478 Verify,
479 Version,
480 Xor1,
481 Xor16,
482 Xor32,
483 Xor64,
484 Xor8,
485 XorXor1,
486 XorXor16,
487 XorXor32,
488 XorXor64,
489 XorXor8,
490}
491
492impl Elements {
493 pub const ALL: [Self; 471] = [
495 Self::Add16,
496 Self::Add32,
497 Self::Add64,
498 Self::Add8,
499 Self::All16,
500 Self::All32,
501 Self::All64,
502 Self::All8,
503 Self::And1,
504 Self::And16,
505 Self::And32,
506 Self::And64,
507 Self::And8,
508 Self::AnnexHash,
509 Self::AssetAmountHash,
510 Self::Bip0340Verify,
511 Self::BuildTapbranch,
512 Self::BuildTapleafSimplicity,
513 Self::BuildTaptweak,
514 Self::CalculateAsset,
515 Self::CalculateConfidentialToken,
516 Self::CalculateExplicitToken,
517 Self::CalculateIssuanceEntropy,
518 Self::Ch1,
519 Self::Ch16,
520 Self::Ch32,
521 Self::Ch64,
522 Self::Ch8,
523 Self::CheckLockDistance,
524 Self::CheckLockDuration,
525 Self::CheckLockHeight,
526 Self::CheckLockTime,
527 Self::CheckSigVerify,
528 Self::Complement1,
529 Self::Complement16,
530 Self::Complement32,
531 Self::Complement64,
532 Self::Complement8,
533 Self::CurrentAmount,
534 Self::CurrentAnnexHash,
535 Self::CurrentAsset,
536 Self::CurrentIndex,
537 Self::CurrentIssuanceAssetAmount,
538 Self::CurrentIssuanceAssetProof,
539 Self::CurrentIssuanceTokenAmount,
540 Self::CurrentIssuanceTokenProof,
541 Self::CurrentNewIssuanceContract,
542 Self::CurrentPegin,
543 Self::CurrentPrevOutpoint,
544 Self::CurrentReissuanceBlinding,
545 Self::CurrentReissuanceEntropy,
546 Self::CurrentScriptHash,
547 Self::CurrentScriptSigHash,
548 Self::CurrentSequence,
549 Self::Decompress,
550 Self::Decrement16,
551 Self::Decrement32,
552 Self::Decrement64,
553 Self::Decrement8,
554 Self::DivMod128_64,
555 Self::DivMod16,
556 Self::DivMod32,
557 Self::DivMod64,
558 Self::DivMod8,
559 Self::Divide16,
560 Self::Divide32,
561 Self::Divide64,
562 Self::Divide8,
563 Self::Divides16,
564 Self::Divides32,
565 Self::Divides64,
566 Self::Divides8,
567 Self::Eq1,
568 Self::Eq16,
569 Self::Eq256,
570 Self::Eq32,
571 Self::Eq64,
572 Self::Eq8,
573 Self::FeAdd,
574 Self::FeInvert,
575 Self::FeIsOdd,
576 Self::FeIsZero,
577 Self::FeMultiply,
578 Self::FeMultiplyBeta,
579 Self::FeNegate,
580 Self::FeNormalize,
581 Self::FeSquare,
582 Self::FeSquareRoot,
583 Self::FullAdd16,
584 Self::FullAdd32,
585 Self::FullAdd64,
586 Self::FullAdd8,
587 Self::FullDecrement16,
588 Self::FullDecrement32,
589 Self::FullDecrement64,
590 Self::FullDecrement8,
591 Self::FullIncrement16,
592 Self::FullIncrement32,
593 Self::FullIncrement64,
594 Self::FullIncrement8,
595 Self::FullLeftShift16_1,
596 Self::FullLeftShift16_2,
597 Self::FullLeftShift16_4,
598 Self::FullLeftShift16_8,
599 Self::FullLeftShift32_1,
600 Self::FullLeftShift32_16,
601 Self::FullLeftShift32_2,
602 Self::FullLeftShift32_4,
603 Self::FullLeftShift32_8,
604 Self::FullLeftShift64_1,
605 Self::FullLeftShift64_16,
606 Self::FullLeftShift64_2,
607 Self::FullLeftShift64_32,
608 Self::FullLeftShift64_4,
609 Self::FullLeftShift64_8,
610 Self::FullLeftShift8_1,
611 Self::FullLeftShift8_2,
612 Self::FullLeftShift8_4,
613 Self::FullMultiply16,
614 Self::FullMultiply32,
615 Self::FullMultiply64,
616 Self::FullMultiply8,
617 Self::FullRightShift16_1,
618 Self::FullRightShift16_2,
619 Self::FullRightShift16_4,
620 Self::FullRightShift16_8,
621 Self::FullRightShift32_1,
622 Self::FullRightShift32_16,
623 Self::FullRightShift32_2,
624 Self::FullRightShift32_4,
625 Self::FullRightShift32_8,
626 Self::FullRightShift64_1,
627 Self::FullRightShift64_16,
628 Self::FullRightShift64_2,
629 Self::FullRightShift64_32,
630 Self::FullRightShift64_4,
631 Self::FullRightShift64_8,
632 Self::FullRightShift8_1,
633 Self::FullRightShift8_2,
634 Self::FullRightShift8_4,
635 Self::FullSubtract16,
636 Self::FullSubtract32,
637 Self::FullSubtract64,
638 Self::FullSubtract8,
639 Self::GeIsOnCurve,
640 Self::GeNegate,
641 Self::GejAdd,
642 Self::GejDouble,
643 Self::GejEquiv,
644 Self::GejGeAdd,
645 Self::GejGeAddEx,
646 Self::GejGeEquiv,
647 Self::GejInfinity,
648 Self::GejIsInfinity,
649 Self::GejIsOnCurve,
650 Self::GejNegate,
651 Self::GejNormalize,
652 Self::GejRescale,
653 Self::GejXEquiv,
654 Self::GejYIsOdd,
655 Self::Generate,
656 Self::GenesisBlockHash,
657 Self::HashToCurve,
658 Self::High1,
659 Self::High16,
660 Self::High32,
661 Self::High64,
662 Self::High8,
663 Self::Increment16,
664 Self::Increment32,
665 Self::Increment64,
666 Self::Increment8,
667 Self::InputAmount,
668 Self::InputAmountsHash,
669 Self::InputAnnexHash,
670 Self::InputAnnexesHash,
671 Self::InputAsset,
672 Self::InputHash,
673 Self::InputOutpointsHash,
674 Self::InputPegin,
675 Self::InputPrevOutpoint,
676 Self::InputScriptHash,
677 Self::InputScriptSigHash,
678 Self::InputScriptSigsHash,
679 Self::InputScriptsHash,
680 Self::InputSequence,
681 Self::InputSequencesHash,
682 Self::InputUtxoHash,
683 Self::InputUtxosHash,
684 Self::InputsHash,
685 Self::InternalKey,
686 Self::IsOne16,
687 Self::IsOne32,
688 Self::IsOne64,
689 Self::IsOne8,
690 Self::IsZero16,
691 Self::IsZero32,
692 Self::IsZero64,
693 Self::IsZero8,
694 Self::Issuance,
695 Self::IssuanceAsset,
696 Self::IssuanceAssetAmount,
697 Self::IssuanceAssetAmountsHash,
698 Self::IssuanceAssetProof,
699 Self::IssuanceBlindingEntropyHash,
700 Self::IssuanceEntropy,
701 Self::IssuanceHash,
702 Self::IssuanceRangeProofsHash,
703 Self::IssuanceToken,
704 Self::IssuanceTokenAmount,
705 Self::IssuanceTokenAmountsHash,
706 Self::IssuanceTokenProof,
707 Self::IssuancesHash,
708 Self::LbtcAsset,
709 Self::Le16,
710 Self::Le32,
711 Self::Le64,
712 Self::Le8,
713 Self::LeftExtend16_32,
714 Self::LeftExtend16_64,
715 Self::LeftExtend1_16,
716 Self::LeftExtend1_32,
717 Self::LeftExtend1_64,
718 Self::LeftExtend1_8,
719 Self::LeftExtend32_64,
720 Self::LeftExtend8_16,
721 Self::LeftExtend8_32,
722 Self::LeftExtend8_64,
723 Self::LeftPadHigh16_32,
724 Self::LeftPadHigh16_64,
725 Self::LeftPadHigh1_16,
726 Self::LeftPadHigh1_32,
727 Self::LeftPadHigh1_64,
728 Self::LeftPadHigh1_8,
729 Self::LeftPadHigh32_64,
730 Self::LeftPadHigh8_16,
731 Self::LeftPadHigh8_32,
732 Self::LeftPadHigh8_64,
733 Self::LeftPadLow16_32,
734 Self::LeftPadLow16_64,
735 Self::LeftPadLow1_16,
736 Self::LeftPadLow1_32,
737 Self::LeftPadLow1_64,
738 Self::LeftPadLow1_8,
739 Self::LeftPadLow32_64,
740 Self::LeftPadLow8_16,
741 Self::LeftPadLow8_32,
742 Self::LeftPadLow8_64,
743 Self::LeftRotate16,
744 Self::LeftRotate32,
745 Self::LeftRotate64,
746 Self::LeftRotate8,
747 Self::LeftShift16,
748 Self::LeftShift32,
749 Self::LeftShift64,
750 Self::LeftShift8,
751 Self::LeftShiftWith16,
752 Self::LeftShiftWith32,
753 Self::LeftShiftWith64,
754 Self::LeftShiftWith8,
755 Self::Leftmost16_1,
756 Self::Leftmost16_2,
757 Self::Leftmost16_4,
758 Self::Leftmost16_8,
759 Self::Leftmost32_1,
760 Self::Leftmost32_16,
761 Self::Leftmost32_2,
762 Self::Leftmost32_4,
763 Self::Leftmost32_8,
764 Self::Leftmost64_1,
765 Self::Leftmost64_16,
766 Self::Leftmost64_2,
767 Self::Leftmost64_32,
768 Self::Leftmost64_4,
769 Self::Leftmost64_8,
770 Self::Leftmost8_1,
771 Self::Leftmost8_2,
772 Self::Leftmost8_4,
773 Self::LinearCombination1,
774 Self::LinearVerify1,
775 Self::LockTime,
776 Self::Low1,
777 Self::Low16,
778 Self::Low32,
779 Self::Low64,
780 Self::Low8,
781 Self::Lt16,
782 Self::Lt32,
783 Self::Lt64,
784 Self::Lt8,
785 Self::Maj1,
786 Self::Maj16,
787 Self::Maj32,
788 Self::Maj64,
789 Self::Maj8,
790 Self::Max16,
791 Self::Max32,
792 Self::Max64,
793 Self::Max8,
794 Self::Median16,
795 Self::Median32,
796 Self::Median64,
797 Self::Median8,
798 Self::Min16,
799 Self::Min32,
800 Self::Min64,
801 Self::Min8,
802 Self::Modulo16,
803 Self::Modulo32,
804 Self::Modulo64,
805 Self::Modulo8,
806 Self::Multiply16,
807 Self::Multiply32,
808 Self::Multiply64,
809 Self::Multiply8,
810 Self::Negate16,
811 Self::Negate32,
812 Self::Negate64,
813 Self::Negate8,
814 Self::NewIssuanceContract,
815 Self::NonceHash,
816 Self::NumInputs,
817 Self::NumOutputs,
818 Self::One16,
819 Self::One32,
820 Self::One64,
821 Self::One8,
822 Self::Or1,
823 Self::Or16,
824 Self::Or32,
825 Self::Or64,
826 Self::Or8,
827 Self::OutpointHash,
828 Self::OutputAmount,
829 Self::OutputAmountsHash,
830 Self::OutputAsset,
831 Self::OutputHash,
832 Self::OutputIsFee,
833 Self::OutputNonce,
834 Self::OutputNoncesHash,
835 Self::OutputNullDatum,
836 Self::OutputRangeProof,
837 Self::OutputRangeProofsHash,
838 Self::OutputScriptHash,
839 Self::OutputScriptsHash,
840 Self::OutputSurjectionProof,
841 Self::OutputSurjectionProofsHash,
842 Self::OutputsHash,
843 Self::ParseLock,
844 Self::ParseSequence,
845 Self::PointVerify1,
846 Self::ReissuanceBlinding,
847 Self::ReissuanceEntropy,
848 Self::RightExtend16_32,
849 Self::RightExtend16_64,
850 Self::RightExtend32_64,
851 Self::RightExtend8_16,
852 Self::RightExtend8_32,
853 Self::RightExtend8_64,
854 Self::RightPadHigh16_32,
855 Self::RightPadHigh16_64,
856 Self::RightPadHigh1_16,
857 Self::RightPadHigh1_32,
858 Self::RightPadHigh1_64,
859 Self::RightPadHigh1_8,
860 Self::RightPadHigh32_64,
861 Self::RightPadHigh8_16,
862 Self::RightPadHigh8_32,
863 Self::RightPadHigh8_64,
864 Self::RightPadLow16_32,
865 Self::RightPadLow16_64,
866 Self::RightPadLow1_16,
867 Self::RightPadLow1_32,
868 Self::RightPadLow1_64,
869 Self::RightPadLow1_8,
870 Self::RightPadLow32_64,
871 Self::RightPadLow8_16,
872 Self::RightPadLow8_32,
873 Self::RightPadLow8_64,
874 Self::RightRotate16,
875 Self::RightRotate32,
876 Self::RightRotate64,
877 Self::RightRotate8,
878 Self::RightShift16,
879 Self::RightShift32,
880 Self::RightShift64,
881 Self::RightShift8,
882 Self::RightShiftWith16,
883 Self::RightShiftWith32,
884 Self::RightShiftWith64,
885 Self::RightShiftWith8,
886 Self::Rightmost16_1,
887 Self::Rightmost16_2,
888 Self::Rightmost16_4,
889 Self::Rightmost16_8,
890 Self::Rightmost32_1,
891 Self::Rightmost32_16,
892 Self::Rightmost32_2,
893 Self::Rightmost32_4,
894 Self::Rightmost32_8,
895 Self::Rightmost64_1,
896 Self::Rightmost64_16,
897 Self::Rightmost64_2,
898 Self::Rightmost64_32,
899 Self::Rightmost64_4,
900 Self::Rightmost64_8,
901 Self::Rightmost8_1,
902 Self::Rightmost8_2,
903 Self::Rightmost8_4,
904 Self::ScalarAdd,
905 Self::ScalarInvert,
906 Self::ScalarIsZero,
907 Self::ScalarMultiply,
908 Self::ScalarMultiplyLambda,
909 Self::ScalarNegate,
910 Self::ScalarNormalize,
911 Self::ScalarSquare,
912 Self::Scale,
913 Self::ScriptCMR,
914 Self::Sha256Block,
915 Self::Sha256Ctx8Add1,
916 Self::Sha256Ctx8Add128,
917 Self::Sha256Ctx8Add16,
918 Self::Sha256Ctx8Add2,
919 Self::Sha256Ctx8Add256,
920 Self::Sha256Ctx8Add32,
921 Self::Sha256Ctx8Add4,
922 Self::Sha256Ctx8Add512,
923 Self::Sha256Ctx8Add64,
924 Self::Sha256Ctx8Add8,
925 Self::Sha256Ctx8AddBuffer511,
926 Self::Sha256Ctx8Finalize,
927 Self::Sha256Ctx8Init,
928 Self::Sha256Iv,
929 Self::SigAllHash,
930 Self::Some1,
931 Self::Some16,
932 Self::Some32,
933 Self::Some64,
934 Self::Some8,
935 Self::Subtract16,
936 Self::Subtract32,
937 Self::Subtract64,
938 Self::Subtract8,
939 Self::Swu,
940 Self::TapEnvHash,
941 Self::TapdataInit,
942 Self::TapleafHash,
943 Self::TapleafVersion,
944 Self::Tappath,
945 Self::TappathHash,
946 Self::TotalFee,
947 Self::TransactionId,
948 Self::TxHash,
949 Self::TxIsFinal,
950 Self::TxLockDistance,
951 Self::TxLockDuration,
952 Self::TxLockHeight,
953 Self::TxLockTime,
954 Self::Verify,
955 Self::Version,
956 Self::Xor1,
957 Self::Xor16,
958 Self::Xor32,
959 Self::Xor64,
960 Self::Xor8,
961 Self::XorXor1,
962 Self::XorXor16,
963 Self::XorXor32,
964 Self::XorXor64,
965 Self::XorXor8,
966 ];
967}
968
969impl Jet for Elements {
970
971 type Environment = ElementsEnv<std::sync::Arc<elements::Transaction>>;
972 type CJetEnvironment = CElementsTxEnv;
973
974 fn c_jet_env(env: &Self::Environment) -> &Self::CJetEnvironment {
975 env.c_tx_env()
976 }
977
978 fn cmr(&self) -> Cmr {
979 let bytes = match self {
980 Elements::Add16 => [
981 0x26, 0xae, 0x09, 0x94, 0xce, 0x8b, 0x77, 0x1a, 0xf7, 0xad, 0x28, 0x51, 0xb8, 0x3b,
982 0x49, 0xa5, 0x95, 0x05, 0x36, 0x58, 0x9f, 0x67, 0xbd, 0x85, 0x59, 0x47, 0x04, 0x60,
983 0x29, 0x75, 0x1c, 0x0d,
984 ],
985 Elements::Add32 => [
986 0x3d, 0x76, 0x74, 0x46, 0x6e, 0xd6, 0x9e, 0x1d, 0xbe, 0xdc, 0xd4, 0x80, 0x57, 0xa9,
987 0xe6, 0x28, 0x8c, 0x22, 0x25, 0x32, 0xfb, 0xc5, 0x04, 0x80, 0x49, 0x92, 0x8c, 0xfb,
988 0x77, 0xf8, 0x29, 0xd9,
989 ],
990 Elements::Add64 => [
991 0x9b, 0x56, 0xe6, 0x1e, 0xef, 0xe2, 0x80, 0x5c, 0xa8, 0x73, 0x96, 0xbd, 0xfb, 0x03,
992 0xf5, 0xe1, 0xb1, 0x38, 0x5f, 0x7a, 0xc4, 0xbf, 0xf7, 0x68, 0x40, 0x26, 0xa0, 0x7c,
993 0xf9, 0x7f, 0xb6, 0xf6,
994 ],
995 Elements::Add8 => [
996 0xd7, 0x32, 0x8c, 0x09, 0x14, 0xee, 0x99, 0x9e, 0xfa, 0x0a, 0x6c, 0xb2, 0x6e, 0xb4,
997 0x09, 0x12, 0xc2, 0x15, 0xc0, 0x62, 0xe5, 0x8a, 0x98, 0x1a, 0xe6, 0xb2, 0xe4, 0xa8,
998 0x04, 0x74, 0xa1, 0xda,
999 ],
1000 Elements::All16 => [
1001 0x16, 0xf0, 0xc9, 0x30, 0x7e, 0xb8, 0xf4, 0xc1, 0xfd, 0xd1, 0xba, 0xfa, 0xef, 0x28,
1002 0x79, 0x24, 0x29, 0x58, 0x49, 0x8e, 0x8f, 0x5b, 0x2e, 0x0d, 0x29, 0xf0, 0x65, 0x53,
1003 0xdc, 0x06, 0xa0, 0xbd,
1004 ],
1005 Elements::All32 => [
1006 0x0e, 0xb8, 0xb4, 0x0d, 0x29, 0x02, 0x17, 0x47, 0xee, 0xc4, 0x51, 0xd4, 0xe6, 0x63,
1007 0x58, 0x6a, 0x43, 0x6c, 0x2d, 0xb0, 0x93, 0x26, 0x75, 0xda, 0xf2, 0x16, 0x61, 0x23,
1008 0xbf, 0xe4, 0x52, 0xa6,
1009 ],
1010 Elements::All64 => [
1011 0xa6, 0x5c, 0x82, 0xd5, 0x3d, 0x38, 0x2e, 0xe2, 0x9a, 0xa8, 0x8b, 0x77, 0x18, 0xa9,
1012 0x7f, 0xbb, 0xce, 0x64, 0x75, 0xec, 0x32, 0xc4, 0xb4, 0xcd, 0x69, 0x08, 0xfd, 0xe4,
1013 0x5d, 0x81, 0xb6, 0x24,
1014 ],
1015 Elements::All8 => [
1016 0x1d, 0x3e, 0xc7, 0xfb, 0x6a, 0x07, 0x84, 0x7c, 0x92, 0xb8, 0xa9, 0x98, 0xe1, 0xf6,
1017 0xb4, 0x78, 0x31, 0x9d, 0x05, 0x0a, 0x38, 0x76, 0x42, 0xf4, 0x03, 0x2d, 0x2f, 0x7d,
1018 0x2e, 0x02, 0x7f, 0xcd,
1019 ],
1020 Elements::And1 => [
1021 0xb7, 0x73, 0xce, 0xfa, 0x41, 0x89, 0x57, 0xfe, 0xa7, 0xdf, 0xb4, 0x9c, 0x6c, 0x43,
1022 0xb3, 0xdb, 0xfa, 0x35, 0xfa, 0x3d, 0x80, 0xde, 0x8c, 0xfd, 0x4d, 0x70, 0xc0, 0x8d,
1023 0x94, 0x5f, 0x5f, 0xba,
1024 ],
1025 Elements::And16 => [
1026 0x57, 0xdd, 0x73, 0x0b, 0x1c, 0x8d, 0xdf, 0xf1, 0x3c, 0xae, 0x27, 0x69, 0x56, 0x2b,
1027 0xe0, 0xab, 0xc6, 0xca, 0x3b, 0xc8, 0x02, 0xda, 0x0a, 0xbb, 0xb7, 0xfc, 0x13, 0x8c,
1028 0xa4, 0x63, 0xda, 0x59,
1029 ],
1030 Elements::And32 => [
1031 0x75, 0x3e, 0x33, 0x2d, 0xdf, 0xa0, 0x96, 0xf0, 0x83, 0x99, 0xff, 0xaa, 0x7e, 0xc4,
1032 0xda, 0x40, 0x35, 0xbc, 0xba, 0xa1, 0x42, 0xe6, 0xe3, 0x8d, 0x4c, 0xb6, 0x07, 0xce,
1033 0x1f, 0x0b, 0x05, 0x1d,
1034 ],
1035 Elements::And64 => [
1036 0xf1, 0xad, 0x5e, 0x6c, 0x63, 0xee, 0x5c, 0x89, 0x0b, 0x0f, 0x2e, 0x71, 0x15, 0x61,
1037 0xb9, 0x05, 0x31, 0x64, 0x87, 0xac, 0x40, 0x44, 0xdd, 0x23, 0x0c, 0xf6, 0xa7, 0x36,
1038 0xf8, 0x1b, 0xd4, 0xf3,
1039 ],
1040 Elements::And8 => [
1041 0xac, 0x82, 0x8b, 0x72, 0x4c, 0x5f, 0x53, 0x40, 0xb5, 0x1e, 0x76, 0xe7, 0xb6, 0xe8,
1042 0xb2, 0x3a, 0xea, 0xb7, 0x53, 0x3f, 0xd8, 0xc0, 0x91, 0xae, 0x2a, 0x51, 0x55, 0x30,
1043 0xae, 0x7a, 0xb2, 0x00,
1044 ],
1045 Elements::AnnexHash => [
1046 0xeb, 0xa1, 0xb7, 0xfb, 0x2e, 0xa8, 0xd5, 0x7a, 0xf3, 0xb6, 0x27, 0x3e, 0x51, 0x82,
1047 0xfb, 0x99, 0xdb, 0x17, 0x08, 0xb2, 0xd0, 0xaf, 0xb9, 0xc6, 0xad, 0x03, 0x58, 0xcc,
1048 0x3f, 0x64, 0x7d, 0xc8,
1049 ],
1050 Elements::AssetAmountHash => [
1051 0xa8, 0x64, 0xd1, 0xf1, 0xf8, 0x39, 0x50, 0xb6, 0x31, 0x96, 0xfe, 0x88, 0xba, 0xec,
1052 0x2e, 0x42, 0x28, 0x95, 0x32, 0x30, 0xbe, 0x45, 0xc8, 0x8c, 0x4e, 0x0b, 0x99, 0x17,
1053 0x8b, 0x33, 0x8f, 0x07,
1054 ],
1055 Elements::Bip0340Verify => [
1056 0xc9, 0xc4, 0x5a, 0x8a, 0xec, 0x86, 0x59, 0x14, 0x3b, 0xfe, 0x2a, 0xf6, 0xea, 0xd4,
1057 0x8d, 0x4e, 0x05, 0x42, 0x45, 0x3a, 0xca, 0xe8, 0x4b, 0x9b, 0xbb, 0x97, 0x65, 0x6b,
1058 0x67, 0x0b, 0xdf, 0xdd,
1059 ],
1060 Elements::BuildTapbranch => [
1061 0xcb, 0xec, 0xf9, 0xbc, 0xe1, 0x72, 0xc5, 0x0f, 0x58, 0x59, 0x51, 0xdf, 0xf0, 0xe0,
1062 0x52, 0x3d, 0xb1, 0x09, 0xe5, 0x70, 0x25, 0xec, 0x37, 0xde, 0x2c, 0x3a, 0x74, 0xd4,
1063 0xa6, 0x73, 0xf2, 0x25,
1064 ],
1065 Elements::BuildTapleafSimplicity => [
1066 0x73, 0x6e, 0x9f, 0xce, 0xfb, 0x5b, 0x87, 0x3e, 0x09, 0xf2, 0x68, 0x1e, 0x74, 0xe4,
1067 0x9f, 0x5a, 0x10, 0x56, 0xf9, 0x0a, 0xf5, 0x2a, 0xb3, 0xec, 0x5b, 0x19, 0x77, 0x27,
1068 0xd3, 0x98, 0x34, 0xbe,
1069 ],
1070 Elements::BuildTaptweak => [
1071 0x38, 0x74, 0x1f, 0x80, 0xa2, 0xbf, 0x10, 0xf8, 0xf8, 0x72, 0x30, 0x77, 0xc6, 0x74,
1072 0x1c, 0xbe, 0xae, 0x2d, 0xca, 0xc8, 0x57, 0x90, 0x1b, 0x81, 0x37, 0x25, 0x80, 0x6f,
1073 0x21, 0x89, 0x8e, 0xe3,
1074 ],
1075 Elements::CalculateAsset => [
1076 0x67, 0x6f, 0x98, 0x8e, 0x54, 0x72, 0x51, 0xe7, 0xa0, 0x9e, 0xed, 0xe1, 0x92, 0x0a,
1077 0x9c, 0x5d, 0x35, 0xe7, 0x57, 0x59, 0xe6, 0xd8, 0xd4, 0x9b, 0x58, 0x0c, 0xeb, 0x3e,
1078 0x14, 0x6b, 0xcf, 0x7e,
1079 ],
1080 Elements::CalculateConfidentialToken => [
1081 0x8e, 0x40, 0x29, 0x05, 0x60, 0x74, 0x33, 0x98, 0x40, 0xc0, 0xe7, 0x00, 0x9b, 0x66,
1082 0xf3, 0x82, 0xbb, 0x98, 0xd7, 0xdd, 0xe7, 0x19, 0xdd, 0x2c, 0x9f, 0x2f, 0xd3, 0xac,
1083 0xd9, 0x32, 0x5a, 0xc6,
1084 ],
1085 Elements::CalculateExplicitToken => [
1086 0x87, 0x52, 0x28, 0x02, 0x0b, 0x45, 0x6c, 0x99, 0x8a, 0xad, 0x3a, 0xc5, 0xc4, 0x83,
1087 0x6f, 0x71, 0x94, 0x45, 0xdc, 0xbe, 0x6b, 0xd2, 0x74, 0xe8, 0xca, 0x14, 0x5d, 0x82,
1088 0x79, 0x7e, 0x1b, 0x92,
1089 ],
1090 Elements::CalculateIssuanceEntropy => [
1091 0xa6, 0xe7, 0xc4, 0x34, 0xae, 0xe5, 0xa7, 0x33, 0x0c, 0x1f, 0xc2, 0x46, 0xf7, 0x1d,
1092 0xcf, 0x05, 0x1c, 0xe5, 0x4b, 0xde, 0xe7, 0xb8, 0xe6, 0x39, 0x57, 0xbe, 0x18, 0xc2,
1093 0xd7, 0x51, 0xc6, 0x53,
1094 ],
1095 Elements::Ch1 => [
1096 0xb8, 0x41, 0xb8, 0x57, 0xa4, 0xaa, 0x50, 0xea, 0xca, 0x27, 0xa2, 0x6f, 0x74, 0x42,
1097 0xfc, 0xbf, 0xe9, 0x54, 0x67, 0x7a, 0xe6, 0xd4, 0x55, 0xf6, 0x05, 0x65, 0x49, 0x89,
1098 0xe3, 0x5a, 0xeb, 0x13,
1099 ],
1100 Elements::Ch16 => [
1101 0x9c, 0xff, 0x11, 0xa0, 0x9b, 0x60, 0x41, 0xe5, 0xf2, 0x63, 0x9a, 0xe4, 0xc0, 0x65,
1102 0xa1, 0x8f, 0xc6, 0x75, 0xdb, 0x2f, 0xbd, 0x98, 0x54, 0x08, 0xe2, 0x8f, 0x02, 0x7a,
1103 0x99, 0x11, 0x0e, 0x11,
1104 ],
1105 Elements::Ch32 => [
1106 0x07, 0x1c, 0xef, 0x80, 0x39, 0xc7, 0x9f, 0x71, 0x31, 0xcd, 0x6a, 0x5f, 0xe4, 0x93,
1107 0xdc, 0x26, 0x8f, 0x9d, 0xb5, 0x8f, 0x7b, 0x20, 0xa8, 0x55, 0x55, 0xe2, 0x97, 0xbd,
1108 0xd2, 0x16, 0xcf, 0x40,
1109 ],
1110 Elements::Ch64 => [
1111 0xd5, 0x55, 0xd2, 0x19, 0x63, 0xb0, 0x19, 0x2f, 0xc9, 0x72, 0x14, 0xb6, 0x3d, 0xc1,
1112 0xc3, 0xaf, 0x75, 0x8b, 0x29, 0x11, 0x58, 0xf0, 0xe1, 0xa3, 0xbc, 0xfd, 0xea, 0x67,
1113 0x9c, 0x66, 0x6d, 0xa6,
1114 ],
1115 Elements::Ch8 => [
1116 0x35, 0x3f, 0x63, 0xb0, 0xf8, 0xcb, 0x54, 0xf5, 0xae, 0x65, 0x75, 0xaf, 0x8c, 0xa2,
1117 0x24, 0x2c, 0xee, 0xe9, 0xf2, 0x7a, 0x84, 0x18, 0x6e, 0xb8, 0x0e, 0x62, 0x0d, 0x5e,
1118 0x2e, 0x85, 0x48, 0xec,
1119 ],
1120 Elements::CheckLockDistance => [
1121 0x7f, 0x78, 0xc7, 0xa7, 0x7a, 0x25, 0xad, 0xa2, 0x23, 0x26, 0x7d, 0x23, 0x9a, 0x59,
1122 0x22, 0xf7, 0x64, 0xb8, 0xac, 0x0c, 0x2f, 0xce, 0xf6, 0x8e, 0xb9, 0x3c, 0x0d, 0x92,
1123 0xda, 0x4a, 0xf5, 0x15,
1124 ],
1125 Elements::CheckLockDuration => [
1126 0x73, 0xda, 0xc8, 0xe2, 0x5d, 0x87, 0xea, 0xf3, 0x82, 0xc2, 0xa7, 0x72, 0x06, 0xad,
1127 0x38, 0xb9, 0x38, 0x43, 0x61, 0xe7, 0xd0, 0xdc, 0x87, 0xc0, 0xfa, 0x7a, 0xf7, 0xea,
1128 0x52, 0x45, 0x97, 0xb7,
1129 ],
1130 Elements::CheckLockHeight => [
1131 0x9e, 0x78, 0x98, 0xd0, 0x37, 0x62, 0x71, 0x34, 0xd2, 0xbd, 0x70, 0xc7, 0xfc, 0xa9,
1132 0xcb, 0xa4, 0x5e, 0xaf, 0x26, 0x7d, 0x4d, 0x09, 0xad, 0x50, 0xa9, 0xef, 0x71, 0x7a,
1133 0x8f, 0x27, 0x49, 0xdb,
1134 ],
1135 Elements::CheckLockTime => [
1136 0x68, 0x67, 0x3d, 0x12, 0xe2, 0x73, 0x2f, 0xaa, 0x1d, 0x39, 0xe2, 0x13, 0x6b, 0x14,
1137 0x06, 0xaf, 0xa0, 0x98, 0xa8, 0x4c, 0x96, 0xe8, 0xd6, 0x05, 0x02, 0xa2, 0xdd, 0x61,
1138 0xc5, 0x95, 0x70, 0xbb,
1139 ],
1140 Elements::CheckSigVerify => [
1141 0xb5, 0x80, 0x15, 0x54, 0x6d, 0x28, 0x52, 0x66, 0x5d, 0xd2, 0x1b, 0xf1, 0x12, 0x66,
1142 0x26, 0x70, 0x20, 0xfa, 0x5e, 0x27, 0x50, 0x01, 0xdd, 0x46, 0x18, 0xfa, 0x41, 0x56,
1143 0x25, 0x95, 0x2e, 0x68,
1144 ],
1145 Elements::Complement1 => [
1146 0xed, 0x74, 0xee, 0xb8, 0x3a, 0x00, 0xc7, 0x13, 0xcc, 0x14, 0xf3, 0x3e, 0xfe, 0x55,
1147 0x33, 0x83, 0xcd, 0x04, 0x11, 0xcc, 0x30, 0x20, 0xfd, 0x89, 0x27, 0x93, 0x16, 0x67,
1148 0x5d, 0x91, 0x0e, 0x66,
1149 ],
1150 Elements::Complement16 => [
1151 0x61, 0xfd, 0xd9, 0x04, 0xa4, 0xae, 0xb7, 0xeb, 0x76, 0x84, 0xaf, 0x61, 0x8e, 0x25,
1152 0xaa, 0xe9, 0x07, 0xcd, 0x1d, 0xb0, 0xf6, 0x2d, 0x97, 0x03, 0xc5, 0xb8, 0x54, 0xe1,
1153 0x66, 0x3c, 0xac, 0x9f,
1154 ],
1155 Elements::Complement32 => [
1156 0xfe, 0xb0, 0x2c, 0xc3, 0x6e, 0x19, 0x5b, 0x46, 0x2a, 0xe5, 0x04, 0xa9, 0x12, 0xda,
1157 0xdf, 0xe6, 0x6a, 0xd4, 0x7f, 0x23, 0xa0, 0xcb, 0x3b, 0xae, 0xa2, 0x1d, 0x31, 0xaa,
1158 0xa0, 0xce, 0x10, 0x1d,
1159 ],
1160 Elements::Complement64 => [
1161 0x45, 0x07, 0x2d, 0x5a, 0xa0, 0xe5, 0xc3, 0x7c, 0x9e, 0x52, 0x1d, 0xcc, 0x92, 0xe8,
1162 0xf3, 0x9a, 0x5f, 0x75, 0xe7, 0xd9, 0x28, 0x67, 0x0a, 0xca, 0xb7, 0x9c, 0xd8, 0xc8,
1163 0xb5, 0xb5, 0x9e, 0x1a,
1164 ],
1165 Elements::Complement8 => [
1166 0x69, 0x16, 0xb2, 0x8f, 0xb5, 0x74, 0xd9, 0xc9, 0x08, 0xa3, 0xf3, 0x3f, 0x74, 0xbf,
1167 0x06, 0xf7, 0xed, 0x93, 0x72, 0x54, 0x24, 0x7f, 0x9e, 0xfc, 0x26, 0x03, 0xd7, 0x17,
1168 0x1d, 0xd4, 0x97, 0xbe,
1169 ],
1170 Elements::CurrentAmount => [
1171 0x9e, 0x7b, 0xc9, 0x6d, 0x06, 0xc1, 0xf4, 0xa4, 0xd2, 0xbd, 0x43, 0x33, 0xd5, 0x56,
1172 0x43, 0xcb, 0xa6, 0x86, 0x3d, 0x3a, 0x33, 0x8e, 0x31, 0xdc, 0x0d, 0x17, 0x95, 0x58,
1173 0x41, 0x56, 0xea, 0x69,
1174 ],
1175 Elements::CurrentAnnexHash => [
1176 0x5f, 0x68, 0xbd, 0xaf, 0xd4, 0x17, 0xfe, 0xbb, 0x10, 0xde, 0xe1, 0x6b, 0x1d, 0x47,
1177 0xc2, 0x1f, 0xa9, 0x7e, 0xfc, 0x91, 0x91, 0x57, 0xc7, 0xf7, 0xbc, 0x54, 0xa6, 0x1d,
1178 0xc4, 0xf9, 0xf7, 0xd6,
1179 ],
1180 Elements::CurrentAsset => [
1181 0x03, 0xc8, 0x44, 0x59, 0xa5, 0xec, 0xdf, 0xdb, 0x46, 0xe3, 0xd3, 0x8e, 0xcb, 0x79,
1182 0xff, 0x22, 0x24, 0x3f, 0xdc, 0xf7, 0x0d, 0x80, 0xda, 0x1b, 0xa4, 0x56, 0x99, 0xe7,
1183 0x00, 0x8e, 0xec, 0xfe,
1184 ],
1185 Elements::CurrentIndex => [
1186 0x15, 0xe1, 0x05, 0x1f, 0xf2, 0x3f, 0x85, 0x1c, 0x19, 0x13, 0x1f, 0x0d, 0xe6, 0xed,
1187 0xc4, 0x88, 0x23, 0x76, 0xa2, 0x57, 0x90, 0xdb, 0xd9, 0x10, 0x28, 0x24, 0xaa, 0x22,
1188 0xa8, 0x89, 0xae, 0x84,
1189 ],
1190 Elements::CurrentIssuanceAssetAmount => [
1191 0xdc, 0x41, 0x0e, 0xc6, 0x99, 0x46, 0xf0, 0x8b, 0x9c, 0x4a, 0x40, 0xcf, 0x38, 0x81,
1192 0x9c, 0xbb, 0x01, 0x4e, 0x98, 0xfc, 0xe0, 0xa9, 0xb1, 0x96, 0x51, 0x45, 0x57, 0x47,
1193 0x7f, 0xe1, 0xc2, 0xa7,
1194 ],
1195 Elements::CurrentIssuanceAssetProof => [
1196 0xe5, 0xc1, 0xc6, 0xf7, 0xea, 0x02, 0x96, 0x14, 0x8e, 0x76, 0xf8, 0xb1, 0x79, 0xd4,
1197 0x15, 0x19, 0x82, 0x73, 0xdc, 0xc8, 0xe1, 0xfd, 0x89, 0x1f, 0x83, 0xef, 0x2b, 0xdf,
1198 0xb0, 0x69, 0x29, 0x36,
1199 ],
1200 Elements::CurrentIssuanceTokenAmount => [
1201 0xe3, 0xea, 0x9c, 0x61, 0x70, 0x95, 0x5f, 0x27, 0xb0, 0x1b, 0x12, 0x0c, 0xd6, 0x3a,
1202 0x36, 0x08, 0x50, 0xcc, 0x70, 0x0f, 0x47, 0x25, 0x19, 0x3b, 0xdf, 0xf8, 0x8e, 0x01,
1203 0xdf, 0xb0, 0x4e, 0xad,
1204 ],
1205 Elements::CurrentIssuanceTokenProof => [
1206 0x92, 0xe7, 0xd9, 0xdd, 0xbf, 0x75, 0x6e, 0x3e, 0x62, 0x2a, 0x44, 0xd4, 0xd0, 0x0e,
1207 0x84, 0x23, 0x6b, 0xcc, 0xe4, 0x2f, 0x16, 0xf3, 0x20, 0x0e, 0x8b, 0x89, 0xc0, 0x3c,
1208 0x44, 0x1e, 0x45, 0x8a,
1209 ],
1210 Elements::CurrentNewIssuanceContract => [
1211 0x23, 0x78, 0x15, 0x67, 0x5e, 0x9e, 0x9c, 0xf4, 0xd8, 0x54, 0x85, 0x60, 0xc7, 0x61,
1212 0xe3, 0xba, 0x7f, 0x64, 0xdc, 0xf2, 0x5c, 0x99, 0x52, 0x1b, 0xe9, 0xd8, 0x57, 0xe4,
1213 0xea, 0x41, 0xd8, 0x68,
1214 ],
1215 Elements::CurrentPegin => [
1216 0x36, 0x9a, 0xd5, 0xf6, 0xd7, 0x60, 0x48, 0x1c, 0xb3, 0x53, 0xa9, 0xba, 0xcf, 0x90,
1217 0x0f, 0xf1, 0x62, 0xb7, 0x60, 0x40, 0xc0, 0x7a, 0xd0, 0xa8, 0x3e, 0x52, 0xfc, 0xce,
1218 0xf1, 0x29, 0x57, 0x90,
1219 ],
1220 Elements::CurrentPrevOutpoint => [
1221 0xa1, 0xec, 0x90, 0x9c, 0x81, 0xe5, 0x08, 0xe8, 0x6e, 0x13, 0x61, 0xba, 0x82, 0xe5,
1222 0xfb, 0x47, 0xa2, 0xc7, 0x6b, 0xff, 0xba, 0x73, 0x21, 0xa6, 0xfc, 0x13, 0xcb, 0x12,
1223 0xaf, 0x7f, 0x69, 0x7c,
1224 ],
1225 Elements::CurrentReissuanceBlinding => [
1226 0xb7, 0x15, 0x50, 0xc8, 0xf6, 0x2e, 0x7a, 0xac, 0xff, 0x13, 0xe8, 0xd3, 0xc0, 0xae,
1227 0x05, 0x4e, 0xf0, 0x36, 0x40, 0x9d, 0x76, 0xc0, 0x65, 0x79, 0xc0, 0x26, 0xad, 0x68,
1228 0xa1, 0xb5, 0x61, 0xf8,
1229 ],
1230 Elements::CurrentReissuanceEntropy => [
1231 0x8b, 0x27, 0x15, 0x32, 0x7a, 0x0a, 0xc6, 0xb0, 0xd1, 0x8a, 0x2e, 0x51, 0xfb, 0xda,
1232 0x46, 0xc4, 0xb1, 0x18, 0xee, 0x06, 0x37, 0xd1, 0x14, 0xae, 0x3e, 0x58, 0xa2, 0x3b,
1233 0x45, 0xd6, 0x7f, 0xf8,
1234 ],
1235 Elements::CurrentScriptHash => [
1236 0xbf, 0xaf, 0x85, 0x84, 0x43, 0xce, 0xc8, 0x33, 0x7e, 0x37, 0x83, 0x9d, 0xc4, 0x11,
1237 0x35, 0x02, 0x71, 0x84, 0x58, 0x0c, 0x89, 0x21, 0x57, 0xce, 0x73, 0x04, 0x18, 0xc0,
1238 0x8d, 0x5e, 0xd8, 0x38,
1239 ],
1240 Elements::CurrentScriptSigHash => [
1241 0x8b, 0xaa, 0x9d, 0xf8, 0x54, 0xfe, 0x33, 0xee, 0xea, 0x66, 0x19, 0x5c, 0x97, 0xce,
1242 0x18, 0xed, 0x70, 0x1e, 0x10, 0x7e, 0xea, 0x7e, 0x02, 0xfb, 0x26, 0x03, 0xb2, 0xc1,
1243 0x21, 0x57, 0x50, 0x66,
1244 ],
1245 Elements::CurrentSequence => [
1246 0x0f, 0x42, 0x24, 0xf9, 0xaa, 0x86, 0x44, 0xf5, 0xc0, 0xf7, 0x91, 0x0f, 0x17, 0x39,
1247 0x04, 0x1a, 0xec, 0x8e, 0x7a, 0xf7, 0x7b, 0x5f, 0x38, 0xcf, 0xdc, 0xa0, 0xfd, 0xf4,
1248 0x82, 0x67, 0xa6, 0xc3,
1249 ],
1250 Elements::Decompress => [
1251 0x13, 0x97, 0x33, 0x17, 0xd5, 0x87, 0x41, 0x8e, 0xf3, 0x06, 0x36, 0x31, 0xa6, 0xed,
1252 0xb0, 0xac, 0xfa, 0x1c, 0xbe, 0x49, 0x83, 0xd7, 0x57, 0x4b, 0x1b, 0x30, 0x5f, 0x96,
1253 0x61, 0xc0, 0x48, 0xcb,
1254 ],
1255 Elements::Decrement16 => [
1256 0xe3, 0x4d, 0xb1, 0x18, 0x79, 0x27, 0x2b, 0x32, 0x7a, 0x3b, 0xd0, 0x34, 0xc0, 0xf6,
1257 0x1e, 0xf6, 0x0a, 0x2b, 0xe9, 0x6f, 0xdf, 0xe0, 0xb2, 0xd5, 0x7f, 0xfe, 0x39, 0xce,
1258 0x71, 0x4c, 0x78, 0xfb,
1259 ],
1260 Elements::Decrement32 => [
1261 0x01, 0x9e, 0xad, 0x5a, 0x73, 0x05, 0x60, 0x6d, 0xc9, 0x50, 0xfb, 0x55, 0x47, 0x6d,
1262 0x09, 0xc1, 0x7d, 0x66, 0xf5, 0x70, 0xda, 0xb5, 0x10, 0xb9, 0x0d, 0x2a, 0x27, 0xe2,
1263 0x26, 0x65, 0x99, 0xcf,
1264 ],
1265 Elements::Decrement64 => [
1266 0x34, 0x75, 0x2c, 0xf4, 0xe1, 0xd0, 0xa4, 0x31, 0xf0, 0x17, 0xa6, 0x8b, 0xeb, 0xfa,
1267 0xb7, 0x41, 0xbb, 0xc8, 0x8a, 0xff, 0xb5, 0x7c, 0xc0, 0xb3, 0x02, 0x5c, 0xcf, 0xdd,
1268 0x67, 0x62, 0x2f, 0x35,
1269 ],
1270 Elements::Decrement8 => [
1271 0x28, 0x92, 0xce, 0xb3, 0xb6, 0xec, 0x53, 0x25, 0xd0, 0xc1, 0xb9, 0xf5, 0x20, 0x42,
1272 0x5e, 0x4b, 0x05, 0xc2, 0xe1, 0xf4, 0x37, 0xe0, 0xb3, 0xf5, 0x81, 0xf4, 0x1b, 0x9d,
1273 0x0f, 0x7d, 0xff, 0x4d,
1274 ],
1275 Elements::DivMod128_64 => [
1276 0x22, 0x96, 0xb7, 0x0f, 0x60, 0x0e, 0x8a, 0x21, 0x4a, 0xd0, 0x70, 0xb2, 0x19, 0x4a,
1277 0x67, 0x7d, 0x30, 0x51, 0xbc, 0x1c, 0x49, 0x01, 0x83, 0x97, 0x5f, 0x2a, 0x1d, 0x3e,
1278 0x0c, 0xad, 0xe3, 0x78,
1279 ],
1280 Elements::DivMod16 => [
1281 0x64, 0x8f, 0xab, 0x86, 0x43, 0x74, 0x84, 0x6a, 0xbf, 0x4f, 0x9d, 0x9d, 0xef, 0xe2,
1282 0x75, 0x61, 0x4d, 0x33, 0xf4, 0x82, 0x9c, 0x36, 0xa4, 0x7e, 0xcb, 0x53, 0xd7, 0xbf,
1283 0xb6, 0x05, 0x48, 0x5f,
1284 ],
1285 Elements::DivMod32 => [
1286 0xbd, 0x3d, 0x4d, 0x55, 0x2d, 0x7b, 0x34, 0x7b, 0xd8, 0xa4, 0x4e, 0x3e, 0xe2, 0x24,
1287 0xc8, 0x46, 0xbe, 0x23, 0x0f, 0xf6, 0xe2, 0x04, 0x4d, 0xdb, 0x97, 0xf4, 0x8e, 0x27,
1288 0xd2, 0x0c, 0x42, 0x25,
1289 ],
1290 Elements::DivMod64 => [
1291 0xfa, 0x6b, 0xad, 0x6a, 0x95, 0xe2, 0xab, 0xa4, 0x30, 0x5b, 0xfe, 0x91, 0xcc, 0x47,
1292 0xac, 0xc3, 0xd9, 0x9b, 0x92, 0xe6, 0x75, 0xe6, 0x9d, 0x3b, 0x37, 0xbb, 0x09, 0x13,
1293 0x3d, 0x39, 0x0d, 0x0f,
1294 ],
1295 Elements::DivMod8 => [
1296 0x48, 0xcd, 0x50, 0x1b, 0xb2, 0xaa, 0x2a, 0xca, 0xe0, 0x14, 0xfe, 0x20, 0x8b, 0xb9,
1297 0x94, 0x1d, 0x07, 0xa9, 0xbf, 0xfe, 0x1a, 0xd6, 0xcd, 0x3d, 0x36, 0xfc, 0x6b, 0x08,
1298 0x60, 0xf6, 0xeb, 0xa7,
1299 ],
1300 Elements::Divide16 => [
1301 0x47, 0x0b, 0x01, 0xa5, 0x7c, 0x4f, 0x9d, 0x8f, 0x99, 0x7f, 0xcd, 0xe0, 0x06, 0x19,
1302 0x16, 0x11, 0xdd, 0xa4, 0xc9, 0x8b, 0xa2, 0xa5, 0xf1, 0xda, 0x13, 0x4a, 0xe4, 0xc2,
1303 0x2d, 0x52, 0xe9, 0x20,
1304 ],
1305 Elements::Divide32 => [
1306 0xab, 0x03, 0xac, 0xd8, 0x93, 0x61, 0x0c, 0x3c, 0x65, 0x82, 0xe7, 0xf7, 0xfb, 0xe5,
1307 0xe7, 0x56, 0x25, 0x74, 0xa7, 0xb2, 0x66, 0x46, 0xf1, 0xc2, 0xfd, 0xc6, 0xe7, 0x6e,
1308 0x44, 0x5a, 0x77, 0xa1,
1309 ],
1310 Elements::Divide64 => [
1311 0xeb, 0xfc, 0x56, 0xfb, 0xb8, 0xa4, 0x7e, 0x73, 0xff, 0xab, 0xb7, 0xea, 0x22, 0x8a,
1312 0xc7, 0x84, 0x37, 0xbe, 0x82, 0x0e, 0xdd, 0xfa, 0x47, 0x81, 0x4c, 0xce, 0xbd, 0x26,
1313 0x1b, 0xd8, 0xcf, 0xff,
1314 ],
1315 Elements::Divide8 => [
1316 0x2c, 0xcf, 0xbc, 0x7c, 0x02, 0xbf, 0x4d, 0x53, 0x04, 0x93, 0xbb, 0x22, 0x86, 0x7a,
1317 0x95, 0x1d, 0x8a, 0xe9, 0x13, 0x12, 0x66, 0x87, 0x59, 0x72, 0x84, 0xe9, 0xbb, 0xb3,
1318 0xe1, 0xe7, 0xe3, 0x49,
1319 ],
1320 Elements::Divides16 => [
1321 0x5f, 0xc3, 0xac, 0x38, 0x4d, 0x5f, 0x45, 0x40, 0x41, 0x56, 0x97, 0x1a, 0x76, 0x8d,
1322 0x93, 0xbc, 0x06, 0x4b, 0xc1, 0x7c, 0x15, 0xa3, 0x7c, 0x27, 0x01, 0x9d, 0xde, 0xef,
1323 0x17, 0x04, 0x6d, 0xd4,
1324 ],
1325 Elements::Divides32 => [
1326 0xcc, 0x45, 0xb4, 0x05, 0x24, 0x64, 0x38, 0xf7, 0x65, 0x74, 0x0b, 0x4f, 0xb0, 0xa3,
1327 0x4d, 0xc8, 0x1b, 0x34, 0x78, 0x01, 0x98, 0x86, 0x3b, 0x0f, 0xb1, 0x86, 0x44, 0x6a,
1328 0xdf, 0xbb, 0x09, 0xde,
1329 ],
1330 Elements::Divides64 => [
1331 0xdc, 0x47, 0x3b, 0xfd, 0xec, 0x30, 0xab, 0x98, 0xd4, 0x8c, 0xd0, 0x88, 0x84, 0xef,
1332 0x4f, 0xff, 0xef, 0x3d, 0x4b, 0x16, 0xad, 0x5c, 0x37, 0x11, 0x2a, 0x20, 0x35, 0xb9,
1333 0x9b, 0xb7, 0x74, 0x58,
1334 ],
1335 Elements::Divides8 => [
1336 0x0b, 0x55, 0x02, 0xac, 0x4f, 0x21, 0xf2, 0x30, 0xa0, 0x9c, 0xcf, 0xaf, 0xfa, 0xac,
1337 0x77, 0xa7, 0xc4, 0x1b, 0x2b, 0xf3, 0x0b, 0x14, 0x68, 0x48, 0x1e, 0x4d, 0xfb, 0x98,
1338 0xb6, 0x18, 0x7a, 0x0d,
1339 ],
1340 Elements::Eq1 => [
1341 0x60, 0x7f, 0x6b, 0x8f, 0x5d, 0x25, 0xb8, 0x0e, 0x05, 0xa2, 0xbf, 0x79, 0xd6, 0x2e,
1342 0x87, 0x07, 0x99, 0x52, 0x2c, 0xc3, 0xe3, 0x9c, 0xe9, 0x62, 0x57, 0x45, 0x52, 0x93,
1343 0xf9, 0xb2, 0xb2, 0xed,
1344 ],
1345 Elements::Eq16 => [
1346 0xc9, 0x96, 0xe4, 0x2b, 0x97, 0x9a, 0xbc, 0x53, 0x0c, 0xc2, 0x71, 0x63, 0x66, 0x71,
1347 0xe9, 0x20, 0x54, 0x87, 0x6a, 0x1e, 0xca, 0xed, 0x14, 0x33, 0xfd, 0x61, 0x9a, 0x25,
1348 0xfe, 0x6d, 0x03, 0xad,
1349 ],
1350 Elements::Eq256 => [
1351 0x77, 0x8d, 0x15, 0x06, 0xc7, 0x35, 0xd2, 0x77, 0x6b, 0x95, 0x0f, 0xac, 0xef, 0xc1,
1352 0x59, 0xb6, 0x78, 0xde, 0xc0, 0x38, 0x28, 0xcf, 0x02, 0x73, 0xee, 0xea, 0x64, 0xa9,
1353 0xda, 0x98, 0xc1, 0x2c,
1354 ],
1355 Elements::Eq32 => [
1356 0x66, 0xd3, 0x89, 0x03, 0xe7, 0x3b, 0x1a, 0x13, 0x20, 0xc6, 0x8a, 0x4a, 0x39, 0x70,
1357 0xd7, 0x1f, 0x94, 0xba, 0x9e, 0x2b, 0x15, 0x16, 0x83, 0x99, 0x43, 0xfb, 0x15, 0xe4,
1358 0x4e, 0xbf, 0x57, 0xfb,
1359 ],
1360 Elements::Eq64 => [
1361 0xd6, 0xa6, 0x66, 0xb4, 0xe0, 0xf9, 0xf5, 0x75, 0x50, 0x8d, 0xbf, 0x3b, 0x31, 0xce,
1362 0xea, 0x68, 0x39, 0x3c, 0x7d, 0xb2, 0xe9, 0x8b, 0xc5, 0x92, 0xfd, 0xd2, 0x6f, 0xae,
1363 0x83, 0x7a, 0x0b, 0x87,
1364 ],
1365 Elements::Eq8 => [
1366 0x99, 0x78, 0x7b, 0xa2, 0x67, 0x2d, 0xd0, 0xeb, 0x4d, 0x7d, 0x2e, 0xa9, 0x94, 0x49,
1367 0xde, 0x8f, 0x79, 0x8e, 0x7c, 0xb1, 0x81, 0xa5, 0xe1, 0x66, 0xe1, 0xa5, 0x3f, 0x98,
1368 0x02, 0xb6, 0x20, 0x64,
1369 ],
1370 Elements::FeAdd => [
1371 0xb0, 0x59, 0x3e, 0x18, 0x7e, 0xe7, 0x33, 0x3c, 0x47, 0xa0, 0x54, 0x67, 0xdf, 0x66,
1372 0xd5, 0x82, 0x0a, 0x6f, 0x5b, 0xef, 0x91, 0x4a, 0x4b, 0x76, 0xe5, 0xd1, 0x63, 0x31,
1373 0x4b, 0x5e, 0xf2, 0x0e,
1374 ],
1375 Elements::FeInvert => [
1376 0x34, 0x3e, 0x9c, 0x90, 0xf1, 0x28, 0x50, 0x60, 0x56, 0xb5, 0x48, 0xd2, 0xed, 0x5e,
1377 0x22, 0x3c, 0x81, 0xf5, 0xb0, 0x6a, 0x1e, 0xd8, 0x6b, 0x7c, 0xd9, 0x35, 0x40, 0x57,
1378 0xaa, 0x59, 0x51, 0x02,
1379 ],
1380 Elements::FeIsOdd => [
1381 0xdc, 0xf0, 0x37, 0x5d, 0x20, 0x81, 0x8a, 0x99, 0xf7, 0x23, 0xf8, 0x12, 0x3c, 0xbd,
1382 0x05, 0x1a, 0x38, 0x78, 0xa4, 0x28, 0x24, 0xb3, 0x74, 0x0f, 0x68, 0x21, 0xa5, 0xfa,
1383 0x12, 0x3f, 0x14, 0xc7,
1384 ],
1385 Elements::FeIsZero => [
1386 0x28, 0xff, 0x41, 0x69, 0x9a, 0x88, 0x1a, 0xaf, 0xb7, 0xa9, 0x76, 0xc0, 0xc5, 0x76,
1387 0x35, 0x3f, 0x7f, 0xe5, 0x44, 0x63, 0xb6, 0xaa, 0x75, 0x4c, 0xf2, 0xc6, 0x32, 0x9a,
1388 0xf2, 0x65, 0x0e, 0x3b,
1389 ],
1390 Elements::FeMultiply => [
1391 0x56, 0x69, 0x92, 0x9b, 0x5f, 0x31, 0xfa, 0x3d, 0x02, 0xc5, 0x83, 0x9d, 0xd0, 0x63,
1392 0x54, 0xcd, 0x17, 0x16, 0x35, 0xf3, 0xa0, 0x72, 0x7f, 0x32, 0x2a, 0xbf, 0xc9, 0x94,
1393 0xba, 0x62, 0x90, 0xde,
1394 ],
1395 Elements::FeMultiplyBeta => [
1396 0x7a, 0x78, 0x13, 0x45, 0x0d, 0x82, 0xe9, 0x35, 0x69, 0x0f, 0x43, 0x3e, 0x65, 0xdf,
1397 0x70, 0x7a, 0x4d, 0xd1, 0x75, 0x34, 0xa0, 0x0d, 0xdd, 0x40, 0xdd, 0x85, 0xe3, 0xe3,
1398 0xf7, 0x84, 0x02, 0xc3,
1399 ],
1400 Elements::FeNegate => [
1401 0x3b, 0x0d, 0x7b, 0x5c, 0x2e, 0x6c, 0x3a, 0xeb, 0x5e, 0x00, 0x08, 0x5b, 0x9d, 0x30,
1402 0x58, 0x5a, 0xff, 0x05, 0x4e, 0x32, 0x5a, 0x99, 0x83, 0x61, 0x11, 0x3b, 0xfd, 0x23,
1403 0x28, 0xc0, 0x08, 0xf6,
1404 ],
1405 Elements::FeNormalize => [
1406 0xc5, 0x1b, 0xef, 0xfa, 0x21, 0x5e, 0x9c, 0xde, 0x8e, 0x93, 0x3b, 0xb9, 0x46, 0x80,
1407 0xba, 0xe0, 0x12, 0xc4, 0xda, 0xab, 0x3d, 0x04, 0xb6, 0xcb, 0xf0, 0x73, 0x3f, 0xd7,
1408 0x35, 0x73, 0x35, 0x38,
1409 ],
1410 Elements::FeSquare => [
1411 0x5a, 0x6e, 0x7b, 0x2e, 0xac, 0x73, 0xf4, 0xe4, 0x4d, 0xfa, 0x28, 0xfb, 0x86, 0xbb,
1412 0x11, 0x7b, 0x65, 0x60, 0x6f, 0x28, 0x74, 0xd5, 0x65, 0xc9, 0x79, 0x9c, 0x63, 0xe0,
1413 0xfe, 0x69, 0x2b, 0x1a,
1414 ],
1415 Elements::FeSquareRoot => [
1416 0xe0, 0x01, 0x42, 0xea, 0x03, 0x09, 0x4a, 0x30, 0x4a, 0xc8, 0x2b, 0xc1, 0xe2, 0xd2,
1417 0xdc, 0x71, 0xfb, 0x06, 0x4e, 0xd0, 0x82, 0x85, 0x67, 0x35, 0xb1, 0x4f, 0xf2, 0xc7,
1418 0xfa, 0xf0, 0x36, 0xf0,
1419 ],
1420 Elements::FullAdd16 => [
1421 0xfc, 0x9e, 0x5d, 0xf8, 0x3b, 0xfd, 0xb9, 0x02, 0x8c, 0x87, 0xd1, 0x39, 0xf8, 0x58,
1422 0x39, 0x03, 0xcb, 0x2a, 0x07, 0x04, 0x2a, 0x73, 0xe5, 0x34, 0x81, 0xde, 0xb5, 0x2f,
1423 0xf1, 0xf1, 0xf8, 0x84,
1424 ],
1425 Elements::FullAdd32 => [
1426 0xa7, 0xd9, 0x8d, 0x50, 0xd0, 0x45, 0xcb, 0x90, 0x6b, 0x19, 0x5e, 0x65, 0x11, 0x87,
1427 0x94, 0x95, 0xc8, 0x51, 0x09, 0x59, 0x49, 0xa9, 0xc0, 0x1e, 0x60, 0x39, 0xa8, 0x4b,
1428 0x2a, 0x5e, 0xc9, 0x09,
1429 ],
1430 Elements::FullAdd64 => [
1431 0x7a, 0xec, 0xc8, 0xc9, 0x05, 0x3b, 0xb2, 0xfb, 0x17, 0x0c, 0x1c, 0x97, 0x2f, 0xd4,
1432 0x00, 0x25, 0x64, 0xe1, 0x52, 0xa0, 0x6d, 0x9f, 0x45, 0x80, 0x75, 0xe3, 0x8c, 0x7a,
1433 0x06, 0x98, 0xa7, 0xf4,
1434 ],
1435 Elements::FullAdd8 => [
1436 0xed, 0x3b, 0xa5, 0xb7, 0x9e, 0xa4, 0x5b, 0x18, 0x7a, 0x2d, 0x43, 0xe8, 0xed, 0x80,
1437 0x2d, 0xe1, 0xed, 0x44, 0x26, 0x59, 0x6c, 0xbe, 0x32, 0xe7, 0x57, 0xc8, 0x51, 0x19,
1438 0x15, 0xff, 0xa5, 0xcf,
1439 ],
1440 Elements::FullDecrement16 => [
1441 0xd4, 0xc2, 0xed, 0xda, 0x87, 0x2c, 0x05, 0x50, 0x6f, 0x79, 0x2c, 0xf5, 0x46, 0xa8,
1442 0x9d, 0x4d, 0x7c, 0xff, 0xcb, 0x1e, 0x17, 0xf5, 0xda, 0x61, 0x03, 0x10, 0x0e, 0x7e,
1443 0x73, 0xa7, 0x73, 0x7d,
1444 ],
1445 Elements::FullDecrement32 => [
1446 0x7c, 0xc2, 0x30, 0x4d, 0x17, 0x43, 0x12, 0x10, 0x2e, 0x9b, 0x73, 0x63, 0x45, 0xc7,
1447 0x7f, 0x77, 0x1d, 0x1f, 0x6a, 0x9c, 0x9e, 0x1d, 0x1c, 0xd8, 0xdb, 0x8c, 0xb4, 0x61,
1448 0x39, 0x80, 0xc8, 0xc2,
1449 ],
1450 Elements::FullDecrement64 => [
1451 0x15, 0xc1, 0x63, 0x45, 0x4b, 0xcd, 0x75, 0x44, 0x30, 0xda, 0x55, 0x79, 0xbb, 0xca,
1452 0xad, 0x26, 0xe5, 0x7e, 0x95, 0xc7, 0x72, 0x22, 0x4b, 0x7b, 0x83, 0xc7, 0x05, 0xf7,
1453 0xde, 0xb6, 0x4a, 0xa6,
1454 ],
1455 Elements::FullDecrement8 => [
1456 0x7c, 0x5e, 0x94, 0xa9, 0x98, 0x02, 0x81, 0x82, 0x17, 0x37, 0xb1, 0xce, 0x73, 0xbf,
1457 0xda, 0x4c, 0x79, 0xef, 0x64, 0x9b, 0x3d, 0x05, 0xcc, 0x1c, 0x00, 0xc4, 0xa8, 0xb6,
1458 0x4b, 0x94, 0x9b, 0xbe,
1459 ],
1460 Elements::FullIncrement16 => [
1461 0x81, 0x38, 0x0a, 0xda, 0xa3, 0xa5, 0x47, 0xf1, 0xbc, 0x4b, 0xbb, 0x64, 0x6b, 0xda,
1462 0x9d, 0x9f, 0xb7, 0xbd, 0x4d, 0xc1, 0xb3, 0xa9, 0xf3, 0xdd, 0x22, 0x0b, 0x56, 0xa4,
1463 0x7c, 0x27, 0x98, 0xfb,
1464 ],
1465 Elements::FullIncrement32 => [
1466 0xa7, 0x60, 0xa8, 0x44, 0x9a, 0x2a, 0xb5, 0xde, 0xdb, 0x4e, 0xe5, 0x1b, 0xf5, 0xc2,
1467 0x5a, 0x8f, 0x06, 0xaf, 0x06, 0x66, 0xdf, 0x7f, 0xc4, 0x19, 0xb4, 0x98, 0xb9, 0x09,
1468 0x76, 0xd6, 0x98, 0xcb,
1469 ],
1470 Elements::FullIncrement64 => [
1471 0xc6, 0xaf, 0x30, 0xdd, 0x28, 0x6d, 0x6e, 0x21, 0xc3, 0x88, 0x60, 0xed, 0x1e, 0x2f,
1472 0x21, 0x2a, 0x21, 0xb2, 0xfd, 0x1e, 0xde, 0xad, 0xb5, 0xe0, 0xfc, 0xe2, 0xe3, 0xfd,
1473 0x75, 0xb7, 0xf3, 0xc2,
1474 ],
1475 Elements::FullIncrement8 => [
1476 0xd3, 0x04, 0xea, 0x28, 0xa9, 0x5d, 0x49, 0x6d, 0x14, 0xb4, 0xf2, 0xfb, 0x5c, 0x86,
1477 0x03, 0x72, 0xec, 0xf2, 0x47, 0xbe, 0xfd, 0xe3, 0xea, 0x3b, 0x2a, 0xd6, 0x7b, 0xce,
1478 0x99, 0x03, 0x9d, 0xbc,
1479 ],
1480 Elements::FullLeftShift16_1 => [
1481 0x14, 0xdc, 0xc3, 0x46, 0x6f, 0xa8, 0x28, 0xa3, 0xf0, 0x74, 0x04, 0x51, 0xb8, 0x03,
1482 0x7d, 0x7a, 0xd6, 0x03, 0xea, 0xdc, 0x80, 0xaa, 0xea, 0xdc, 0x66, 0x44, 0x34, 0xac,
1483 0x2a, 0xd7, 0xfd, 0x9c,
1484 ],
1485 Elements::FullLeftShift16_2 => [
1486 0xaf, 0xb7, 0xe9, 0x28, 0xb0, 0x52, 0xc2, 0x28, 0x79, 0x21, 0x66, 0x2c, 0xd8, 0xab,
1487 0x12, 0x2f, 0xe0, 0x74, 0xef, 0xd2, 0x51, 0xa5, 0xc9, 0xcf, 0xbc, 0xaa, 0x36, 0x9d,
1488 0x06, 0x33, 0x73, 0x92,
1489 ],
1490 Elements::FullLeftShift16_4 => [
1491 0x16, 0x6f, 0x34, 0x8c, 0x59, 0xe2, 0x6f, 0x89, 0xa8, 0x3a, 0x99, 0x1f, 0x67, 0xe5,
1492 0xdb, 0xf7, 0x10, 0xcf, 0xae, 0x3d, 0x6d, 0x96, 0x93, 0x82, 0x82, 0xbb, 0x44, 0xc1,
1493 0xaf, 0xa7, 0x10, 0x9b,
1494 ],
1495 Elements::FullLeftShift16_8 => [
1496 0xc0, 0xcd, 0x01, 0x5d, 0xe8, 0xac, 0x4f, 0xcc, 0xd8, 0xdb, 0x89, 0xf4, 0xe5, 0x14,
1497 0x2f, 0xde, 0x27, 0x97, 0x55, 0xb5, 0x42, 0xa2, 0x4f, 0x57, 0xa2, 0xa3, 0xc7, 0xc1,
1498 0xf5, 0x0d, 0x1d, 0xb5,
1499 ],
1500 Elements::FullLeftShift32_1 => [
1501 0xce, 0x33, 0xb5, 0xd0, 0xc5, 0x8d, 0x2d, 0x0b, 0x9b, 0x5a, 0x99, 0x44, 0xd3, 0xda,
1502 0xbd, 0xa0, 0x23, 0xcd, 0x44, 0x64, 0x7b, 0xe6, 0x7c, 0xf4, 0x08, 0x28, 0x30, 0xbb,
1503 0x20, 0x5f, 0x8f, 0xbb,
1504 ],
1505 Elements::FullLeftShift32_16 => [
1506 0x1c, 0xb3, 0x6e, 0x6f, 0x99, 0x30, 0x85, 0x15, 0xd4, 0xb7, 0x11, 0x90, 0x9c, 0x57,
1507 0x4b, 0x21, 0x24, 0xc1, 0xff, 0x42, 0x2d, 0x8d, 0x7d, 0x94, 0x82, 0xe2, 0x5d, 0x87,
1508 0x88, 0xb3, 0xb9, 0x57,
1509 ],
1510 Elements::FullLeftShift32_2 => [
1511 0x3f, 0xae, 0xa9, 0xb5, 0x73, 0xfc, 0x06, 0x9d, 0x8f, 0x43, 0x0f, 0xac, 0xa8, 0x97,
1512 0xb6, 0x87, 0x1e, 0xa0, 0x95, 0x73, 0xc7, 0x15, 0x09, 0x4b, 0x1f, 0x1b, 0xe0, 0x81,
1513 0x84, 0x88, 0xa7, 0x16,
1514 ],
1515 Elements::FullLeftShift32_4 => [
1516 0xcd, 0xbb, 0x0d, 0x23, 0x31, 0x05, 0x90, 0x11, 0x3c, 0x93, 0x4f, 0xe6, 0x60, 0x04,
1517 0xd2, 0xa1, 0x1d, 0xa9, 0xcb, 0xf8, 0x87, 0x3d, 0x00, 0xde, 0xe7, 0xf0, 0x22, 0x96,
1518 0xff, 0x0a, 0x2f, 0x12,
1519 ],
1520 Elements::FullLeftShift32_8 => [
1521 0xcc, 0xd9, 0x24, 0xe1, 0xa6, 0x18, 0x49, 0x42, 0x0f, 0xf6, 0x2e, 0xd8, 0xb2, 0x45,
1522 0xa3, 0xaa, 0x18, 0xc9, 0x8c, 0x41, 0xf9, 0xc5, 0xa3, 0xc0, 0xb8, 0x85, 0x86, 0x3c,
1523 0x44, 0x9b, 0x7d, 0x14,
1524 ],
1525 Elements::FullLeftShift64_1 => [
1526 0xd4, 0x63, 0xcc, 0xdc, 0x7f, 0xd1, 0x4e, 0x5e, 0x89, 0x41, 0x62, 0xb2, 0xae, 0x71,
1527 0x41, 0x28, 0xa1, 0x0d, 0xc9, 0x20, 0x00, 0xb5, 0x4c, 0x84, 0x3b, 0x64, 0x9c, 0xcb,
1528 0x77, 0x56, 0x26, 0xe5,
1529 ],
1530 Elements::FullLeftShift64_16 => [
1531 0x88, 0x2d, 0xce, 0x21, 0x2a, 0x0e, 0x61, 0xf8, 0xf9, 0x4c, 0xb5, 0xe3, 0x2e, 0x00,
1532 0xa5, 0x28, 0x7c, 0xf6, 0x4f, 0x20, 0xc2, 0x1f, 0xca, 0x84, 0xf1, 0xe3, 0xdf, 0x7f,
1533 0x4a, 0x62, 0x91, 0xcd,
1534 ],
1535 Elements::FullLeftShift64_2 => [
1536 0x48, 0xc8, 0x9b, 0x19, 0x1a, 0x51, 0xb6, 0xab, 0x03, 0x4c, 0x80, 0xea, 0xff, 0x34,
1537 0x82, 0x38, 0xd9, 0x3f, 0xb3, 0x1c, 0x1e, 0x92, 0xe7, 0xf2, 0xae, 0x49, 0x31, 0x7e,
1538 0x0e, 0x33, 0xf8, 0x2d,
1539 ],
1540 Elements::FullLeftShift64_32 => [
1541 0x39, 0x75, 0x90, 0x73, 0x33, 0xe1, 0x27, 0x30, 0x62, 0x55, 0xb7, 0xf8, 0x89, 0x39,
1542 0xe2, 0x85, 0x7f, 0x42, 0xae, 0x1b, 0xf0, 0xc6, 0x62, 0x40, 0xa8, 0x22, 0x4c, 0x8d,
1543 0xa3, 0x8b, 0xb1, 0xbe,
1544 ],
1545 Elements::FullLeftShift64_4 => [
1546 0x29, 0x31, 0x32, 0xeb, 0x15, 0xdd, 0xf4, 0x17, 0x74, 0xb0, 0x00, 0x5a, 0x3b, 0x5c,
1547 0x50, 0x95, 0x9f, 0xa8, 0x98, 0x2b, 0x75, 0x9e, 0x83, 0x28, 0x27, 0xc7, 0x4f, 0xa8,
1548 0x28, 0x50, 0x66, 0x6c,
1549 ],
1550 Elements::FullLeftShift64_8 => [
1551 0xe6, 0xab, 0xde, 0xd8, 0xbe, 0x58, 0x5e, 0xb0, 0xb6, 0xd4, 0x6e, 0x0c, 0x5e, 0xb2,
1552 0x8a, 0x74, 0x5f, 0x4e, 0x5c, 0x56, 0xfd, 0x65, 0x21, 0xf8, 0xf3, 0x96, 0xcb, 0x21,
1553 0xa7, 0x58, 0xf7, 0x4c,
1554 ],
1555 Elements::FullLeftShift8_1 => [
1556 0x73, 0x3f, 0xed, 0x08, 0x47, 0xa2, 0xff, 0xac, 0x9a, 0xab, 0xf5, 0x0a, 0x2f, 0xeb,
1557 0x50, 0x59, 0x89, 0x84, 0xf1, 0x6d, 0x8b, 0x73, 0x24, 0x68, 0xb3, 0xd3, 0x15, 0xc0,
1558 0x1e, 0xa4, 0x29, 0x9b,
1559 ],
1560 Elements::FullLeftShift8_2 => [
1561 0xb4, 0x47, 0x4d, 0x0b, 0xa1, 0xcf, 0x4f, 0xa2, 0xd6, 0x4c, 0xd4, 0xfe, 0x67, 0xbd,
1562 0xc9, 0x2c, 0xb8, 0x9e, 0xfa, 0x70, 0xcb, 0x99, 0xaf, 0x77, 0x91, 0xbf, 0x7e, 0xf6,
1563 0xe9, 0x09, 0xd2, 0xc7,
1564 ],
1565 Elements::FullLeftShift8_4 => [
1566 0x8e, 0xb5, 0x22, 0xb9, 0x97, 0x04, 0x74, 0xad, 0xbb, 0x7a, 0xb0, 0xde, 0x37, 0xc4,
1567 0xe7, 0xa0, 0x56, 0xa1, 0xcb, 0x21, 0x2e, 0x41, 0x03, 0xe4, 0xa8, 0xcb, 0xbb, 0xb6,
1568 0x3d, 0x97, 0x56, 0x06,
1569 ],
1570 Elements::FullMultiply16 => [
1571 0x88, 0x47, 0x0c, 0xbf, 0x9b, 0x4d, 0xec, 0x37, 0xea, 0x05, 0xd7, 0xb6, 0x30, 0xf2,
1572 0xf1, 0x12, 0x54, 0x75, 0x67, 0xd3, 0x4f, 0x33, 0xd9, 0x6e, 0x5f, 0x61, 0x1b, 0xd9,
1573 0xda, 0x97, 0xab, 0xb5,
1574 ],
1575 Elements::FullMultiply32 => [
1576 0x28, 0x04, 0x06, 0x00, 0xa6, 0x6e, 0x1a, 0x0c, 0x52, 0x25, 0x85, 0x20, 0x48, 0x8b,
1577 0x94, 0xc8, 0x20, 0xc6, 0xcf, 0x86, 0xca, 0x27, 0xae, 0x39, 0x03, 0x4d, 0xdd, 0xca,
1578 0xb9, 0x04, 0xd1, 0xd5,
1579 ],
1580 Elements::FullMultiply64 => [
1581 0x53, 0x01, 0x4f, 0x35, 0xa8, 0xdf, 0x20, 0x91, 0xaf, 0x3e, 0xf9, 0xb8, 0xd1, 0x6b,
1582 0x38, 0xb9, 0xbc, 0x96, 0x61, 0xbf, 0xdb, 0xc9, 0x57, 0x33, 0x3f, 0xba, 0x2a, 0x94,
1583 0x8c, 0x1e, 0x8c, 0x25,
1584 ],
1585 Elements::FullMultiply8 => [
1586 0xd3, 0xd2, 0x45, 0x54, 0xc4, 0x66, 0xdd, 0x60, 0x37, 0x54, 0x52, 0x47, 0x36, 0xa7,
1587 0x1e, 0xb2, 0x35, 0xde, 0xf9, 0xb5, 0x06, 0x96, 0x5e, 0x32, 0xd5, 0x68, 0x26, 0xe1,
1588 0x9f, 0xba, 0xd6, 0xc1,
1589 ],
1590 Elements::FullRightShift16_1 => [
1591 0xb3, 0x79, 0xe2, 0x96, 0xe9, 0xa9, 0x8f, 0xb3, 0xb5, 0x66, 0x2b, 0x8b, 0xa0, 0x4e,
1592 0x3c, 0xc1, 0xa4, 0x3c, 0x74, 0x42, 0x9e, 0x93, 0x12, 0x33, 0xfd, 0xd7, 0xfc, 0x8f,
1593 0xe6, 0xb7, 0xa2, 0xe0,
1594 ],
1595 Elements::FullRightShift16_2 => [
1596 0xae, 0xb8, 0xc6, 0x08, 0x06, 0xa4, 0x79, 0x20, 0x77, 0x58, 0xe3, 0x90, 0x83, 0xb4,
1597 0xa9, 0xa7, 0xa1, 0x4d, 0xa4, 0xee, 0x9b, 0xc1, 0x09, 0x7f, 0xc5, 0xcb, 0x4b, 0x75,
1598 0x54, 0x0d, 0x75, 0x78,
1599 ],
1600 Elements::FullRightShift16_4 => [
1601 0x60, 0xb7, 0xf0, 0x84, 0x75, 0xcc, 0x0c, 0xce, 0x64, 0xdc, 0xa1, 0x2d, 0x9f, 0x6a,
1602 0x91, 0x9c, 0x30, 0x61, 0x81, 0x10, 0xed, 0xa1, 0x40, 0x65, 0x92, 0x9c, 0x00, 0x4e,
1603 0x7f, 0xc1, 0xb0, 0xfb,
1604 ],
1605 Elements::FullRightShift16_8 => [
1606 0xf7, 0x9d, 0xba, 0x3e, 0x0a, 0xf3, 0xd6, 0xa5, 0x59, 0xa9, 0xe9, 0xdf, 0xfe, 0xa7,
1607 0x10, 0xaf, 0x62, 0x3f, 0xe6, 0xe6, 0x64, 0x4b, 0x89, 0x79, 0x95, 0xd7, 0x1b, 0x8a,
1608 0x41, 0x67, 0xdd, 0xb0,
1609 ],
1610 Elements::FullRightShift32_1 => [
1611 0xad, 0x0d, 0x5c, 0x75, 0xea, 0x68, 0x43, 0x71, 0x91, 0x77, 0x0d, 0x7f, 0xdf, 0x80,
1612 0x4b, 0xbc, 0x9d, 0x57, 0x3d, 0x5f, 0x10, 0x19, 0x98, 0x23, 0xd8, 0x09, 0xc9, 0xc4,
1613 0x6c, 0xd2, 0x75, 0xad,
1614 ],
1615 Elements::FullRightShift32_16 => [
1616 0x45, 0x52, 0x99, 0xfd, 0x6f, 0x42, 0xab, 0x49, 0xdb, 0xb7, 0x09, 0xe6, 0x5a, 0x3b,
1617 0x53, 0x66, 0x25, 0x0b, 0xdc, 0x54, 0x5d, 0x62, 0x29, 0xe8, 0xe2, 0x36, 0x05, 0x6d,
1618 0xdd, 0x19, 0x77, 0xfd,
1619 ],
1620 Elements::FullRightShift32_2 => [
1621 0x44, 0x38, 0x4b, 0x15, 0x06, 0xd4, 0x43, 0xd2, 0xf8, 0xa2, 0x88, 0x2b, 0x45, 0x63,
1622 0xd7, 0x93, 0x1a, 0x7e, 0xbc, 0xe6, 0x4a, 0xcf, 0x0d, 0x02, 0xee, 0x59, 0xec, 0x69,
1623 0xd3, 0x06, 0x52, 0x39,
1624 ],
1625 Elements::FullRightShift32_4 => [
1626 0x2e, 0x9a, 0x8a, 0xb5, 0xa1, 0x81, 0x7b, 0xd0, 0xb8, 0xa4, 0x66, 0x26, 0x99, 0x49,
1627 0x17, 0xa0, 0xde, 0x1a, 0x74, 0x5e, 0x99, 0x52, 0x0c, 0xe6, 0xeb, 0xcc, 0x67, 0xd4,
1628 0x63, 0x65, 0x51, 0xb7,
1629 ],
1630 Elements::FullRightShift32_8 => [
1631 0xaf, 0x47, 0xd4, 0xf9, 0x6e, 0x7d, 0x80, 0x26, 0xd4, 0x4e, 0x6e, 0xca, 0x1b, 0x80,
1632 0x7f, 0x73, 0x34, 0x4c, 0xe2, 0xea, 0xf7, 0x00, 0xb2, 0xc8, 0x2b, 0x4b, 0xb0, 0x02,
1633 0x61, 0xa8, 0x6f, 0x94,
1634 ],
1635 Elements::FullRightShift64_1 => [
1636 0x03, 0xaf, 0xb5, 0x47, 0xc3, 0x09, 0x13, 0xf1, 0x6f, 0x3e, 0x37, 0x0d, 0x7f, 0x9c,
1637 0xa0, 0x29, 0x0b, 0x61, 0x5b, 0x42, 0x85, 0x05, 0x1b, 0xb9, 0x3c, 0x3c, 0x1a, 0x9b,
1638 0x72, 0xee, 0x8d, 0xe4,
1639 ],
1640 Elements::FullRightShift64_16 => [
1641 0x1f, 0xb0, 0x56, 0xfc, 0xb6, 0x90, 0xce, 0xe3, 0xcf, 0xf7, 0x2c, 0x7d, 0xec, 0xda,
1642 0x80, 0x6d, 0x21, 0x46, 0xc4, 0x92, 0xae, 0x73, 0x1a, 0x6b, 0x94, 0xb8, 0xbb, 0x4f,
1643 0x15, 0x99, 0xb0, 0xcc,
1644 ],
1645 Elements::FullRightShift64_2 => [
1646 0x06, 0x73, 0xbf, 0xf2, 0x1e, 0x37, 0x5e, 0x5d, 0xbc, 0xaf, 0x38, 0x04, 0x66, 0x48,
1647 0x25, 0xdd, 0x67, 0x48, 0x44, 0xd2, 0xfd, 0xb7, 0x84, 0xa4, 0xfe, 0xfb, 0xc9, 0x25,
1648 0xcf, 0x6b, 0x27, 0xad,
1649 ],
1650 Elements::FullRightShift64_32 => [
1651 0x35, 0x6f, 0x7d, 0xd4, 0x6b, 0xa3, 0x3f, 0x84, 0xb0, 0x66, 0x72, 0xfd, 0xe9, 0xa2,
1652 0x97, 0x2e, 0x80, 0xf3, 0xea, 0x96, 0x5a, 0xe8, 0xbc, 0x0b, 0xff, 0x67, 0xaa, 0x2f,
1653 0x69, 0xf1, 0x0b, 0x56,
1654 ],
1655 Elements::FullRightShift64_4 => [
1656 0x4c, 0x25, 0xf6, 0x01, 0x1f, 0xd3, 0xd1, 0xac, 0x18, 0xe1, 0x1e, 0xb4, 0x30, 0x61,
1657 0xfa, 0xd6, 0x9f, 0x3c, 0xe3, 0x9f, 0x7a, 0x99, 0xce, 0xde, 0x50, 0xcc, 0x85, 0xbf,
1658 0x88, 0xbf, 0xba, 0x82,
1659 ],
1660 Elements::FullRightShift64_8 => [
1661 0xa5, 0x1d, 0xf9, 0x44, 0x86, 0x02, 0xfa, 0x81, 0x00, 0x1a, 0xa1, 0xb5, 0xb1, 0x3b,
1662 0xe8, 0x8d, 0x4b, 0x2f, 0x4d, 0x0f, 0x60, 0x74, 0x08, 0x01, 0xce, 0xf9, 0x91, 0x00,
1663 0x2f, 0xe3, 0x7d, 0x6d,
1664 ],
1665 Elements::FullRightShift8_1 => [
1666 0xd9, 0xd4, 0xb1, 0x6d, 0x37, 0xe4, 0xeb, 0x5c, 0xc5, 0x15, 0x04, 0x26, 0xe3, 0xe8,
1667 0x6c, 0xf6, 0x0a, 0xbb, 0xdf, 0xa1, 0xd0, 0xec, 0xb4, 0x15, 0x82, 0x96, 0x5e, 0x80,
1668 0x00, 0xcb, 0xd2, 0x91,
1669 ],
1670 Elements::FullRightShift8_2 => [
1671 0x07, 0x9a, 0xa1, 0x66, 0x17, 0x19, 0x8a, 0xd5, 0xdf, 0x2c, 0x98, 0xa6, 0x3a, 0xf7,
1672 0x6c, 0x1b, 0x3e, 0x12, 0x0f, 0xd2, 0x10, 0x6b, 0x22, 0x5f, 0x63, 0xfd, 0x06, 0xac,
1673 0x57, 0x1d, 0x04, 0xa4,
1674 ],
1675 Elements::FullRightShift8_4 => [
1676 0x9d, 0x9d, 0x3f, 0x63, 0x8a, 0x84, 0x63, 0x86, 0xa2, 0x1e, 0x71, 0x5f, 0x39, 0x46,
1677 0x16, 0x86, 0x4a, 0x2e, 0xf7, 0x98, 0x4a, 0x88, 0xcd, 0x95, 0x50, 0x55, 0x66, 0x29,
1678 0x7b, 0xe7, 0xe0, 0x6c,
1679 ],
1680 Elements::FullSubtract16 => [
1681 0x1f, 0xc8, 0x8e, 0x23, 0x29, 0xf4, 0xaa, 0xf1, 0x2b, 0x30, 0x51, 0x3f, 0x7a, 0x21,
1682 0xcf, 0x5d, 0x8d, 0xe2, 0x4b, 0x60, 0x0a, 0x19, 0xa2, 0x17, 0x41, 0x28, 0x1b, 0x4d,
1683 0x61, 0xaa, 0xc6, 0x33,
1684 ],
1685 Elements::FullSubtract32 => [
1686 0x78, 0x27, 0x05, 0xfb, 0x42, 0xe3, 0x6a, 0x7e, 0xf8, 0x31, 0x20, 0x0c, 0x61, 0x77,
1687 0x38, 0xd3, 0x1e, 0x13, 0xb1, 0xd0, 0xe7, 0xce, 0xed, 0x69, 0x3f, 0x13, 0x33, 0x88,
1688 0x35, 0xb3, 0x0a, 0xcb,
1689 ],
1690 Elements::FullSubtract64 => [
1691 0xb2, 0x85, 0x6a, 0x91, 0x80, 0x23, 0x1b, 0xee, 0x3c, 0xb8, 0x92, 0x30, 0xf7, 0x5c,
1692 0x29, 0x2a, 0xf3, 0xe7, 0x52, 0x39, 0xdb, 0xeb, 0x39, 0x65, 0x48, 0x44, 0x1e, 0x6b,
1693 0x5a, 0x27, 0xe8, 0x13,
1694 ],
1695 Elements::FullSubtract8 => [
1696 0x68, 0x85, 0xe1, 0x41, 0xae, 0x23, 0x4c, 0x1e, 0x2a, 0x7e, 0x4f, 0x23, 0x52, 0x98,
1697 0x93, 0x90, 0x36, 0x96, 0x9c, 0x95, 0x0f, 0x2c, 0xef, 0xd4, 0x59, 0xb4, 0x98, 0xac,
1698 0x3d, 0xd8, 0x92, 0x20,
1699 ],
1700 Elements::GeIsOnCurve => [
1701 0x69, 0xf0, 0xe7, 0xa0, 0xc5, 0xff, 0xf8, 0x70, 0x84, 0xed, 0x69, 0x25, 0xf8, 0xdb,
1702 0x76, 0x2e, 0x41, 0x9e, 0x05, 0x7b, 0x96, 0x83, 0x4d, 0xce, 0x96, 0x99, 0xb0, 0xb0,
1703 0x09, 0x42, 0x30, 0x59,
1704 ],
1705 Elements::GeNegate => [
1706 0x1e, 0xd0, 0xce, 0xd8, 0xdd, 0x25, 0x58, 0xe3, 0x48, 0x5f, 0x6f, 0xc3, 0x2d, 0x69,
1707 0xa2, 0x40, 0x5e, 0xca, 0xee, 0x31, 0x2d, 0xc4, 0xdc, 0x65, 0xe0, 0xfd, 0x34, 0x77,
1708 0x73, 0xf5, 0x98, 0x3d,
1709 ],
1710 Elements::GejAdd => [
1711 0x5a, 0x1c, 0x31, 0x03, 0x49, 0xe8, 0xff, 0x5c, 0x5a, 0x61, 0xac, 0x3e, 0x10, 0x12,
1712 0x3f, 0x74, 0xe8, 0x7f, 0xab, 0xa1, 0x4c, 0x78, 0xbc, 0x83, 0xf9, 0xe3, 0x41, 0x36,
1713 0x87, 0xec, 0xf2, 0x8b,
1714 ],
1715 Elements::GejDouble => [
1716 0x1e, 0xdd, 0x05, 0x82, 0xe2, 0xfc, 0xad, 0x99, 0xb1, 0x2d, 0x50, 0x6d, 0x29, 0xb5,
1717 0x0a, 0x63, 0x01, 0x7f, 0x67, 0x69, 0x28, 0xbe, 0x51, 0x13, 0x69, 0x00, 0x6e, 0x07,
1718 0xcb, 0x80, 0xd9, 0x82,
1719 ],
1720 Elements::GejEquiv => [
1721 0x02, 0x74, 0x71, 0x05, 0x94, 0x87, 0xa1, 0x2c, 0xa2, 0x07, 0xf0, 0x94, 0x05, 0x94,
1722 0xd6, 0xcd, 0x87, 0xfc, 0x93, 0x0a, 0x8b, 0x5b, 0x31, 0x43, 0x4a, 0x16, 0xa2, 0xd6,
1723 0x7f, 0x1d, 0x8d, 0xd4,
1724 ],
1725 Elements::GejGeAdd => [
1726 0x1e, 0xa7, 0x10, 0xd5, 0x6e, 0xaf, 0xee, 0x32, 0x5d, 0x26, 0x07, 0xdd, 0xb4, 0x5f,
1727 0xf0, 0x17, 0x0a, 0xde, 0xc2, 0xe0, 0xee, 0x9b, 0xcc, 0x68, 0xe4, 0xb9, 0x3e, 0x1d,
1728 0xe6, 0xad, 0x35, 0x68,
1729 ],
1730 Elements::GejGeAddEx => [
1731 0x78, 0xf0, 0x87, 0x1b, 0x81, 0x73, 0xab, 0xde, 0x71, 0x87, 0x11, 0x26, 0x3b, 0x3a,
1732 0xc1, 0xd9, 0x22, 0x33, 0x7e, 0xd5, 0xed, 0x13, 0x8d, 0x29, 0x49, 0x62, 0xd6, 0x5c,
1733 0xe5, 0x59, 0xbd, 0x92,
1734 ],
1735 Elements::GejGeEquiv => [
1736 0xba, 0x89, 0x9a, 0x00, 0x62, 0x16, 0xd1, 0xc9, 0x3b, 0xd5, 0xec, 0xbe, 0x00, 0x80,
1737 0xd9, 0x07, 0x8a, 0x50, 0x0a, 0x72, 0x9b, 0xbd, 0x39, 0x6a, 0x00, 0x4a, 0xf5, 0x1d,
1738 0x4f, 0xf7, 0xd9, 0x3a,
1739 ],
1740 Elements::GejInfinity => [
1741 0x88, 0xa9, 0x52, 0xdb, 0x38, 0x16, 0xe9, 0x42, 0x59, 0xa6, 0x75, 0x37, 0xfa, 0x8f,
1742 0xca, 0x1a, 0x35, 0xa9, 0x07, 0xa8, 0x6f, 0x51, 0xed, 0xe4, 0x51, 0xfd, 0x32, 0xec,
1743 0x25, 0x3d, 0x9c, 0x62,
1744 ],
1745 Elements::GejIsInfinity => [
1746 0x29, 0x80, 0xa7, 0x35, 0x41, 0x4e, 0x43, 0x21, 0xaf, 0xef, 0xfe, 0xfa, 0x88, 0x37,
1747 0xed, 0xb0, 0xa3, 0x30, 0x9a, 0x33, 0x7d, 0x59, 0xb7, 0xbd, 0xea, 0x92, 0x1c, 0x13,
1748 0x05, 0x6b, 0x04, 0x28,
1749 ],
1750 Elements::GejIsOnCurve => [
1751 0x01, 0x87, 0xe1, 0xe5, 0xef, 0x76, 0x34, 0xa5, 0xf0, 0x16, 0x12, 0x4d, 0x4f, 0xeb,
1752 0x5a, 0x93, 0xdd, 0xe6, 0xaa, 0x78, 0x17, 0x6c, 0xda, 0x48, 0xb1, 0x65, 0xa9, 0xaa,
1753 0x8e, 0x04, 0x49, 0xf2,
1754 ],
1755 Elements::GejNegate => [
1756 0xb3, 0x2c, 0x74, 0xca, 0xb2, 0xc7, 0x50, 0x0b, 0x73, 0xf8, 0xec, 0x05, 0x60, 0xfe,
1757 0x23, 0xfc, 0x4c, 0x21, 0xaa, 0x66, 0x59, 0x6d, 0x7f, 0x2a, 0xcf, 0x49, 0x67, 0x88,
1758 0x6b, 0x76, 0xd8, 0x56,
1759 ],
1760 Elements::GejNormalize => [
1761 0x5d, 0xe0, 0x97, 0x6a, 0xe7, 0xf3, 0x8b, 0x36, 0xf0, 0x02, 0x28, 0x14, 0x96, 0x6d,
1762 0xb2, 0xba, 0xed, 0x5c, 0x47, 0x67, 0x14, 0x94, 0x4d, 0x74, 0x1a, 0x89, 0x79, 0xc4,
1763 0xbc, 0xf8, 0xbe, 0x25,
1764 ],
1765 Elements::GejRescale => [
1766 0xdc, 0xfc, 0x72, 0xa7, 0x68, 0xd5, 0xbe, 0x77, 0x0f, 0x8d, 0xb2, 0x78, 0xae, 0xaf,
1767 0xd1, 0x8e, 0x27, 0x70, 0x4c, 0x64, 0xf8, 0xb4, 0x0f, 0xa6, 0xfe, 0x54, 0xca, 0x94,
1768 0x72, 0x7a, 0x07, 0x6e,
1769 ],
1770 Elements::GejXEquiv => [
1771 0x52, 0xcc, 0x21, 0x47, 0x09, 0xc0, 0xd9, 0xfc, 0xa9, 0xdb, 0x1d, 0x09, 0xcc, 0x80,
1772 0x7c, 0x75, 0xcf, 0x5a, 0x63, 0x13, 0xca, 0x54, 0x0a, 0x77, 0x2d, 0x4e, 0xa9, 0x92,
1773 0x1f, 0x37, 0xe6, 0x24,
1774 ],
1775 Elements::GejYIsOdd => [
1776 0xfe, 0x01, 0x06, 0xaf, 0xb9, 0xd9, 0xe2, 0x4f, 0xd4, 0xdb, 0xe5, 0x45, 0x11, 0xfe,
1777 0x27, 0x2f, 0x4d, 0xcb, 0x30, 0x7a, 0x0e, 0xa5, 0x6d, 0x59, 0x1c, 0xeb, 0x93, 0xab,
1778 0x4b, 0xf8, 0x87, 0x45,
1779 ],
1780 Elements::Generate => [
1781 0xdf, 0x44, 0xe1, 0x7d, 0x2a, 0x55, 0x9d, 0xd0, 0xa7, 0x03, 0x49, 0x54, 0xab, 0x33,
1782 0x37, 0x77, 0x78, 0xb1, 0x51, 0xf1, 0xcd, 0x1e, 0x4f, 0x9f, 0xd3, 0x1b, 0x36, 0x1d,
1783 0x34, 0xa8, 0xd9, 0x73,
1784 ],
1785 Elements::GenesisBlockHash => [
1786 0x00, 0x60, 0xb6, 0x0d, 0x02, 0xb1, 0x33, 0x60, 0x72, 0x84, 0x6a, 0xcf, 0xf4, 0x4d,
1787 0xd0, 0xf4, 0x34, 0x6c, 0x74, 0xa3, 0x5e, 0x7b, 0x56, 0x42, 0x3f, 0x95, 0x19, 0xc4,
1788 0x42, 0xd1, 0x5d, 0xaf,
1789 ],
1790 Elements::HashToCurve => [
1791 0x76, 0xf7, 0xca, 0x1d, 0xb9, 0x44, 0xee, 0x31, 0x5e, 0xd3, 0x62, 0xfe, 0xe0, 0x67,
1792 0x3c, 0x58, 0x94, 0xf8, 0x85, 0x3b, 0x44, 0x60, 0x70, 0x90, 0x1b, 0x85, 0x79, 0x01,
1793 0xf9, 0x49, 0x9d, 0x9b,
1794 ],
1795 Elements::High1 => [
1796 0xc3, 0x2d, 0x87, 0x7e, 0x67, 0x0d, 0x6c, 0x03, 0x7c, 0xb3, 0x35, 0x33, 0x28, 0x9e,
1797 0x19, 0xa7, 0x24, 0xc3, 0x68, 0xaa, 0x75, 0x51, 0xda, 0xa6, 0xd2, 0xda, 0xcc, 0xcd,
1798 0x8c, 0x95, 0xf4, 0xd0,
1799 ],
1800 Elements::High16 => [
1801 0x41, 0x64, 0xab, 0x6e, 0x2f, 0xf8, 0xee, 0xf6, 0x3c, 0x06, 0xc0, 0x80, 0xf1, 0xde,
1802 0xc6, 0x97, 0x0b, 0x4c, 0x5c, 0x31, 0xc0, 0x23, 0x05, 0xab, 0xcc, 0xd8, 0xed, 0x2c,
1803 0x5e, 0x1c, 0x45, 0xce,
1804 ],
1805 Elements::High32 => [
1806 0xd3, 0xa7, 0xce, 0x9c, 0xd5, 0xd5, 0xfb, 0x67, 0x9a, 0x98, 0xef, 0x57, 0xb8, 0x63,
1807 0x22, 0x77, 0x0c, 0xb6, 0x6f, 0xb6, 0xf0, 0x61, 0x6e, 0x16, 0x34, 0xcf, 0xa8, 0x4c,
1808 0x8f, 0x68, 0x09, 0xc6,
1809 ],
1810 Elements::High64 => [
1811 0x4a, 0xf9, 0x1f, 0xaf, 0x8e, 0x39, 0xf4, 0xda, 0x7c, 0x28, 0xa8, 0x79, 0x65, 0x94,
1812 0xa9, 0x22, 0x82, 0x13, 0xd7, 0x32, 0x3e, 0xea, 0x2c, 0xa6, 0x30, 0x75, 0x2c, 0xe4,
1813 0xc5, 0x7f, 0x16, 0xe1,
1814 ],
1815 Elements::High8 => [
1816 0xcb, 0xd7, 0x8d, 0x50, 0xaf, 0x77, 0x99, 0x85, 0x5a, 0xdc, 0x49, 0x03, 0xdb, 0xbe,
1817 0xfc, 0x13, 0x45, 0xd5, 0x14, 0x84, 0xf0, 0x3d, 0x3c, 0x75, 0x5c, 0xaa, 0xa5, 0xca,
1818 0xa9, 0x7d, 0x4a, 0x14,
1819 ],
1820 Elements::Increment16 => [
1821 0xdf, 0x27, 0x48, 0x88, 0xce, 0x4c, 0xeb, 0xdd, 0x57, 0x08, 0xb3, 0x8d, 0xc3, 0xdb,
1822 0xb1, 0x9c, 0xc2, 0xf0, 0x36, 0x4b, 0x24, 0x63, 0xe9, 0x9c, 0xf5, 0xaa, 0xb4, 0xf8,
1823 0xa2, 0x3e, 0xa5, 0x8a,
1824 ],
1825 Elements::Increment32 => [
1826 0x54, 0xf7, 0x57, 0xae, 0xa7, 0x6b, 0xc7, 0xa3, 0x9f, 0xc4, 0x3d, 0x19, 0xb8, 0xdd,
1827 0x56, 0x3a, 0x68, 0x07, 0xdf, 0x02, 0x77, 0xa5, 0x6f, 0xcb, 0x50, 0x10, 0x89, 0xce,
1828 0x7d, 0x06, 0x77, 0x4c,
1829 ],
1830 Elements::Increment64 => [
1831 0x79, 0xed, 0x5f, 0x77, 0x99, 0xfb, 0x09, 0xda, 0x51, 0x04, 0x29, 0xa2, 0x01, 0x28,
1832 0xbe, 0xd0, 0x91, 0xd8, 0x58, 0x76, 0x47, 0x07, 0x12, 0x85, 0xcd, 0xec, 0x3a, 0x0c,
1833 0x95, 0x70, 0x9e, 0x5b,
1834 ],
1835 Elements::Increment8 => [
1836 0x0c, 0x71, 0x7e, 0x84, 0xdf, 0x67, 0x82, 0x3f, 0x57, 0x41, 0xb3, 0xd5, 0x5d, 0xbe,
1837 0xb4, 0x72, 0x9c, 0x2b, 0xd6, 0x2f, 0x5d, 0x1d, 0xef, 0x3c, 0xab, 0xcc, 0xdd, 0x6c,
1838 0xb8, 0xdc, 0xb5, 0x6c,
1839 ],
1840 Elements::InputAmount => [
1841 0xdd, 0x65, 0xac, 0x32, 0xc8, 0x7d, 0x99, 0x6b, 0x40, 0x72, 0x00, 0xfe, 0xef, 0xc4,
1842 0x79, 0xa9, 0x11, 0x9c, 0x1f, 0x28, 0xca, 0xa4, 0x88, 0xb0, 0xaa, 0xc3, 0xac, 0xf5,
1843 0x93, 0x78, 0xd6, 0xba,
1844 ],
1845 Elements::InputAmountsHash => [
1846 0x2b, 0x4d, 0xf4, 0x7e, 0x75, 0x8f, 0xfe, 0x88, 0xe9, 0xcd, 0x5d, 0x39, 0x6d, 0xf3,
1847 0xd7, 0xf9, 0xec, 0x2f, 0xbd, 0x5a, 0x53, 0x95, 0xa6, 0xd8, 0xc1, 0xab, 0x70, 0x44,
1848 0x00, 0xc6, 0x4f, 0x70,
1849 ],
1850 Elements::InputAnnexHash => [
1851 0x0f, 0xd9, 0xe4, 0xc6, 0x31, 0x6b, 0x37, 0x28, 0x6e, 0x88, 0x54, 0x43, 0x0e, 0x7d,
1852 0x74, 0x18, 0x21, 0xdc, 0x89, 0x54, 0x4a, 0x3a, 0x59, 0xf0, 0x3d, 0xfa, 0x40, 0xe5,
1853 0x32, 0xb8, 0x10, 0x7f,
1854 ],
1855 Elements::InputAnnexesHash => [
1856 0xde, 0xd1, 0x52, 0x2e, 0xfa, 0x5a, 0x2b, 0x37, 0x61, 0x73, 0xe4, 0x40, 0xde, 0x22,
1857 0x7a, 0xd0, 0xc9, 0x2b, 0xe2, 0xed, 0xce, 0x7c, 0x23, 0xb5, 0x14, 0x80, 0xe5, 0x0a,
1858 0x77, 0xfc, 0x56, 0x4b,
1859 ],
1860 Elements::InputAsset => [
1861 0x87, 0x2b, 0x36, 0x53, 0xd6, 0x5a, 0xe7, 0xf9, 0x16, 0x6c, 0xbf, 0x70, 0xd4, 0xfd,
1862 0x31, 0x40, 0x47, 0x98, 0x88, 0x4d, 0x61, 0x1b, 0x64, 0x7f, 0xb9, 0xf4, 0xa3, 0x07,
1863 0xc4, 0x80, 0x11, 0xb8,
1864 ],
1865 Elements::InputHash => [
1866 0x33, 0x09, 0xbb, 0x46, 0xb3, 0x15, 0x8d, 0x23, 0x12, 0x4f, 0x8c, 0xed, 0xaa, 0xa1,
1867 0xed, 0x3b, 0x09, 0xa8, 0xae, 0xfe, 0x81, 0x21, 0x2e, 0x11, 0x33, 0x55, 0x23, 0xb6,
1868 0xb2, 0x07, 0xc5, 0x44,
1869 ],
1870 Elements::InputOutpointsHash => [
1871 0x14, 0x0a, 0x2b, 0xae, 0xad, 0x08, 0x3b, 0xaa, 0xc8, 0x06, 0x12, 0x8a, 0xb6, 0x49,
1872 0xe5, 0x2b, 0xbd, 0x3c, 0x64, 0x56, 0x70, 0x0c, 0xbc, 0xfc, 0x6d, 0xbb, 0x29, 0x59,
1873 0x17, 0x3a, 0x4d, 0xf2,
1874 ],
1875 Elements::InputPegin => [
1876 0xdb, 0x37, 0x6f, 0x4a, 0xe8, 0x4e, 0xc0, 0x51, 0xa4, 0x94, 0xd7, 0x66, 0x80, 0x39,
1877 0x72, 0x7b, 0x53, 0x35, 0x3b, 0xe5, 0xae, 0x04, 0x5b, 0xe7, 0x6c, 0x4b, 0x04, 0xda,
1878 0xbd, 0x5b, 0xbf, 0xbb,
1879 ],
1880 Elements::InputPrevOutpoint => [
1881 0x91, 0xf4, 0xd6, 0xec, 0x48, 0x4f, 0x60, 0xca, 0xe9, 0x29, 0x78, 0x58, 0xca, 0xc4,
1882 0x7d, 0xad, 0x50, 0xdb, 0x07, 0xdc, 0x1f, 0x93, 0x7a, 0xc6, 0x14, 0x4c, 0x9c, 0xb4,
1883 0xa9, 0xef, 0x79, 0xd2,
1884 ],
1885 Elements::InputScriptHash => [
1886 0xc3, 0x16, 0xdf, 0x21, 0x77, 0x8e, 0x62, 0x41, 0x05, 0xca, 0x59, 0x90, 0x4b, 0x92,
1887 0x08, 0xe2, 0xd4, 0x23, 0x22, 0x8b, 0x3e, 0xb1, 0xcf, 0x68, 0xb8, 0xec, 0xa4, 0x7b,
1888 0xbc, 0x7b, 0x2f, 0xf3,
1889 ],
1890 Elements::InputScriptSigHash => [
1891 0x94, 0x1f, 0x2b, 0x4f, 0x3b, 0x7f, 0x20, 0x97, 0xd6, 0xea, 0x00, 0xe9, 0x7c, 0x1e,
1892 0x2b, 0xa0, 0x1c, 0xb2, 0x64, 0x87, 0xc5, 0xd2, 0xf4, 0x72, 0x37, 0x38, 0xb3, 0x7c,
1893 0x73, 0x2c, 0x05, 0xc4,
1894 ],
1895 Elements::InputScriptSigsHash => [
1896 0x6c, 0x74, 0x81, 0x42, 0x01, 0x24, 0xb6, 0x64, 0x5d, 0x32, 0xff, 0x9b, 0x45, 0x4a,
1897 0x1c, 0x92, 0xc6, 0x71, 0x86, 0x41, 0x0e, 0x23, 0xcf, 0x60, 0x99, 0x15, 0xdf, 0x90,
1898 0x72, 0x12, 0x0f, 0xc6,
1899 ],
1900 Elements::InputScriptsHash => [
1901 0xdc, 0x13, 0x51, 0x9e, 0x75, 0x3e, 0x58, 0x75, 0x3c, 0x70, 0x98, 0x85, 0x41, 0xad,
1902 0x8a, 0x0b, 0xb5, 0x88, 0x8d, 0x08, 0x46, 0xe3, 0x5e, 0x4d, 0x42, 0x73, 0xf6, 0x56,
1903 0x85, 0x32, 0x2a, 0xe9,
1904 ],
1905 Elements::InputSequence => [
1906 0x3c, 0x6e, 0x4a, 0x3c, 0x21, 0xce, 0xd5, 0x24, 0x73, 0x6c, 0x54, 0x5c, 0x20, 0xe4,
1907 0xe2, 0xde, 0xf7, 0x67, 0x8f, 0x08, 0x4c, 0xd1, 0x2b, 0xcd, 0x65, 0x06, 0xa5, 0x20,
1908 0x0b, 0x5c, 0x17, 0x38,
1909 ],
1910 Elements::InputSequencesHash => [
1911 0xc8, 0x88, 0xc8, 0x73, 0x30, 0x2b, 0x92, 0xb0, 0x0f, 0x20, 0x68, 0x52, 0xc9, 0xea,
1912 0xef, 0x00, 0x0b, 0x40, 0x10, 0x9a, 0x53, 0xdd, 0x68, 0x6a, 0x53, 0xf1, 0x1d, 0xb5,
1913 0x07, 0x4d, 0x99, 0x37,
1914 ],
1915 Elements::InputUtxoHash => [
1916 0x85, 0x03, 0xd0, 0x52, 0x6b, 0xa9, 0x5a, 0x8f, 0xba, 0x8c, 0xa1, 0x35, 0x1c, 0x79,
1917 0x91, 0xc2, 0xa3, 0x86, 0xb7, 0x2f, 0xa8, 0x14, 0x31, 0xea, 0xdb, 0xab, 0x62, 0xcc,
1918 0x1f, 0x5d, 0xc5, 0x18,
1919 ],
1920 Elements::InputUtxosHash => [
1921 0x9c, 0x48, 0xab, 0x31, 0xc0, 0x50, 0xed, 0x06, 0x5a, 0xed, 0x51, 0x68, 0x66, 0xc1,
1922 0x6c, 0x1b, 0x96, 0xc1, 0x95, 0xea, 0x8e, 0x18, 0xb0, 0x24, 0xbf, 0xc0, 0xb8, 0x17,
1923 0x58, 0x49, 0xf0, 0x4e,
1924 ],
1925 Elements::InputsHash => [
1926 0x52, 0x3c, 0xd7, 0x1c, 0x57, 0x89, 0x88, 0x2f, 0x83, 0x75, 0xa5, 0xa5, 0x45, 0x60,
1927 0xde, 0xf8, 0x46, 0x3d, 0x1c, 0x51, 0xe5, 0x6b, 0x7e, 0x11, 0x26, 0x93, 0xe7, 0x7b,
1928 0x84, 0x4f, 0x47, 0x40,
1929 ],
1930 Elements::InternalKey => [
1931 0x9b, 0x74, 0x2e, 0x47, 0x1b, 0x0e, 0x59, 0x1a, 0x97, 0x2b, 0x0d, 0x44, 0x21, 0xf9,
1932 0xc9, 0x65, 0x93, 0x97, 0xf5, 0xda, 0xba, 0x2c, 0x14, 0xda, 0xc6, 0x2c, 0x4a, 0x33,
1933 0x9c, 0xc3, 0xe7, 0xec,
1934 ],
1935 Elements::IsOne16 => [
1936 0x84, 0x35, 0x87, 0x9c, 0xcb, 0x86, 0x44, 0x19, 0x8d, 0xcb, 0x9a, 0x0c, 0xd7, 0x35,
1937 0x46, 0xd7, 0x01, 0xfd, 0xd5, 0xa4, 0xc4, 0x43, 0x23, 0xf5, 0x63, 0x97, 0x15, 0x99,
1938 0xc3, 0x7d, 0x16, 0xfb,
1939 ],
1940 Elements::IsOne32 => [
1941 0xdd, 0xfb, 0xd9, 0xf0, 0xa2, 0xe6, 0x7c, 0x07, 0xde, 0xdb, 0x89, 0xe8, 0x96, 0xb6,
1942 0xc4, 0xf7, 0xd4, 0x5c, 0x51, 0x47, 0xee, 0xd0, 0x61, 0x4e, 0x4c, 0xe7, 0xd0, 0x87,
1943 0x69, 0xaf, 0xf8, 0x2d,
1944 ],
1945 Elements::IsOne64 => [
1946 0x35, 0xc5, 0x25, 0x54, 0x8e, 0x48, 0xee, 0xa0, 0xf7, 0x7b, 0x3b, 0xf9, 0x7a, 0xb6,
1947 0x7a, 0x1f, 0xfe, 0x8f, 0xb0, 0x94, 0xed, 0xe3, 0x32, 0x5e, 0x40, 0x64, 0xb1, 0x65,
1948 0x9c, 0x6d, 0x07, 0x65,
1949 ],
1950 Elements::IsOne8 => [
1951 0x0a, 0xba, 0x9e, 0x57, 0x6e, 0x64, 0xd2, 0x80, 0x4c, 0x8a, 0xc4, 0x68, 0x2b, 0xbb,
1952 0xa5, 0x39, 0x0e, 0xbc, 0x31, 0xa6, 0xe3, 0xe2, 0x65, 0x0f, 0x92, 0x19, 0x23, 0x5d,
1953 0xf4, 0xa6, 0xec, 0xbb,
1954 ],
1955 Elements::IsZero16 => [
1956 0xa2, 0x5a, 0xbd, 0x9c, 0xd2, 0xa4, 0x07, 0x0c, 0x74, 0x2e, 0xf8, 0xde, 0xb0, 0x68,
1957 0x29, 0x22, 0x46, 0x03, 0x2b, 0x96, 0xa5, 0x17, 0x22, 0x3b, 0x12, 0x8c, 0xfc, 0x12,
1958 0xd2, 0x15, 0xc5, 0xba,
1959 ],
1960 Elements::IsZero32 => [
1961 0x61, 0x2a, 0x48, 0x0c, 0xed, 0x6a, 0x79, 0xda, 0x61, 0x19, 0x54, 0x6e, 0x05, 0x6b,
1962 0x8d, 0xf9, 0xfa, 0x95, 0xd1, 0x12, 0x4b, 0x96, 0xd6, 0x01, 0xe1, 0xd3, 0xea, 0x91,
1963 0x8c, 0xc5, 0x60, 0x69,
1964 ],
1965 Elements::IsZero64 => [
1966 0x18, 0xe8, 0xe1, 0x77, 0x6b, 0xa0, 0x80, 0xcc, 0xd3, 0xe1, 0xd6, 0x0c, 0xb7, 0x53,
1967 0x41, 0x45, 0x36, 0xbf, 0x70, 0xdf, 0x18, 0x5f, 0x72, 0xc9, 0xe0, 0x70, 0x79, 0x6f,
1968 0x4c, 0x63, 0xcc, 0x71,
1969 ],
1970 Elements::IsZero8 => [
1971 0xb4, 0xba, 0xa5, 0x09, 0x38, 0x10, 0x84, 0x26, 0x74, 0x0d, 0x82, 0xcf, 0x12, 0x11,
1972 0xe0, 0xed, 0x12, 0x6d, 0xe3, 0xb7, 0x6b, 0x8d, 0x25, 0x9c, 0x50, 0xad, 0x4b, 0x8f,
1973 0xca, 0xb1, 0x0a, 0xb6,
1974 ],
1975 Elements::Issuance => [
1976 0x5c, 0x64, 0x63, 0x12, 0xc1, 0x69, 0xc6, 0x80, 0x27, 0x97, 0x9e, 0x1b, 0xc3, 0x26,
1977 0xc5, 0xdc, 0x95, 0xe5, 0xc5, 0x16, 0x8d, 0x00, 0xd9, 0x8e, 0x9d, 0x50, 0x4a, 0x7c,
1978 0xde, 0x21, 0xd7, 0x68,
1979 ],
1980 Elements::IssuanceAsset => [
1981 0x69, 0x0b, 0xf9, 0x18, 0xe1, 0x52, 0x77, 0x56, 0xcf, 0xbb, 0xf5, 0x1c, 0x83, 0x13,
1982 0x62, 0x14, 0x37, 0x56, 0xd5, 0x2d, 0x04, 0xe1, 0x29, 0x4f, 0x12, 0x64, 0x95, 0x0c,
1983 0x62, 0x67, 0xe5, 0xc9,
1984 ],
1985 Elements::IssuanceAssetAmount => [
1986 0x83, 0x60, 0x51, 0x46, 0xff, 0x26, 0xa4, 0x9c, 0xa1, 0x6f, 0x1c, 0x4a, 0x6e, 0x0c,
1987 0xe0, 0xb7, 0xc2, 0x14, 0xdf, 0x12, 0xc3, 0x77, 0xf5, 0x22, 0x52, 0x3d, 0xeb, 0x6d,
1988 0x5d, 0x0e, 0xe4, 0x4d,
1989 ],
1990 Elements::IssuanceAssetAmountsHash => [
1991 0x70, 0xf1, 0x1c, 0x3b, 0x3b, 0x5d, 0x16, 0x57, 0xd3, 0xb7, 0xc7, 0xee, 0xec, 0x85,
1992 0x0c, 0x30, 0xa3, 0x2e, 0xa9, 0x6a, 0xa3, 0x64, 0x26, 0xfa, 0x30, 0xeb, 0xf5, 0x49,
1993 0x98, 0x51, 0xa8, 0x80,
1994 ],
1995 Elements::IssuanceAssetProof => [
1996 0x0b, 0x06, 0x1f, 0x9f, 0x67, 0x0c, 0x05, 0xdc, 0x39, 0xf4, 0x38, 0x31, 0x3c, 0x13,
1997 0x79, 0xd9, 0xbf, 0x63, 0xf4, 0x4f, 0x98, 0x76, 0xb9, 0x56, 0x69, 0x3b, 0x41, 0xb7,
1998 0xf9, 0x4c, 0x6c, 0x9d,
1999 ],
2000 Elements::IssuanceBlindingEntropyHash => [
2001 0xbf, 0xb6, 0xa9, 0x34, 0x44, 0xe2, 0xa0, 0xb3, 0xfb, 0x7c, 0x13, 0xd1, 0x58, 0x9a,
2002 0x78, 0x7b, 0x66, 0xe8, 0x4b, 0x69, 0xb6, 0x27, 0x4c, 0xea, 0x20, 0xad, 0x99, 0x99,
2003 0xeb, 0x8c, 0xa6, 0x7c,
2004 ],
2005 Elements::IssuanceEntropy => [
2006 0x6d, 0xdf, 0x99, 0xf2, 0x8c, 0x70, 0x19, 0x8d, 0x65, 0x41, 0x7a, 0x83, 0x60, 0x74,
2007 0xf1, 0xb9, 0xb6, 0x10, 0xf2, 0x1f, 0x51, 0x19, 0xfd, 0x55, 0x0f, 0x60, 0xb6, 0xf8,
2008 0xe9, 0x95, 0xbb, 0xf3,
2009 ],
2010 Elements::IssuanceHash => [
2011 0x6e, 0x9f, 0x8a, 0xe8, 0xc4, 0x5b, 0xfb, 0x7e, 0x4e, 0x0c, 0xf2, 0xd0, 0x0f, 0x66,
2012 0x83, 0x2b, 0x47, 0x9d, 0xe7, 0x58, 0x2c, 0xdb, 0xc8, 0x51, 0xd0, 0xb3, 0x23, 0x0f,
2013 0xdf, 0xbb, 0xb7, 0x8d,
2014 ],
2015 Elements::IssuanceRangeProofsHash => [
2016 0x7e, 0x97, 0xf5, 0x19, 0x53, 0x48, 0x31, 0xc7, 0x7a, 0xcf, 0x73, 0xa2, 0x0f, 0xd5,
2017 0x3c, 0xb3, 0x1d, 0x1d, 0x15, 0x6c, 0x9a, 0xcb, 0xbf, 0x87, 0x3d, 0x14, 0x92, 0xd6,
2018 0x0d, 0x13, 0x67, 0xd8,
2019 ],
2020 Elements::IssuanceToken => [
2021 0xbc, 0x2c, 0xb7, 0xe9, 0x64, 0xb2, 0xa2, 0xae, 0xd7, 0x9b, 0x75, 0xc5, 0xf4, 0x40,
2022 0x8f, 0xe8, 0x4a, 0x6d, 0xc9, 0xb9, 0xe8, 0xcd, 0x2c, 0x69, 0x4d, 0x57, 0xc5, 0xf9,
2023 0xb6, 0x12, 0x05, 0xb9,
2024 ],
2025 Elements::IssuanceTokenAmount => [
2026 0x7e, 0x10, 0x64, 0x64, 0xa1, 0x3b, 0x67, 0x64, 0xce, 0x74, 0xd3, 0xfe, 0x6b, 0xa1,
2027 0xcb, 0xd5, 0xf4, 0xae, 0xb8, 0x6b, 0xbb, 0xdf, 0x58, 0x88, 0xdd, 0xf9, 0x90, 0x1d,
2028 0xd8, 0xb6, 0x19, 0xaa,
2029 ],
2030 Elements::IssuanceTokenAmountsHash => [
2031 0x94, 0xb5, 0xa4, 0x59, 0x5b, 0x67, 0x4d, 0xbf, 0xc4, 0x9c, 0x4e, 0x8e, 0xa1, 0xa9,
2032 0xab, 0xc9, 0x3e, 0xd2, 0xf7, 0x70, 0x7c, 0x42, 0x12, 0xa3, 0x2b, 0x5b, 0x86, 0xac,
2033 0x13, 0x18, 0xc9, 0xde,
2034 ],
2035 Elements::IssuanceTokenProof => [
2036 0x46, 0xed, 0x52, 0x75, 0xf5, 0x5a, 0xb3, 0x41, 0xf5, 0x7c, 0x35, 0x19, 0xff, 0xed,
2037 0xf4, 0xe3, 0x7f, 0x3f, 0x59, 0xc9, 0x7c, 0xe9, 0xb8, 0xe1, 0x7f, 0xff, 0xae, 0x16,
2038 0xc6, 0xcc, 0x1c, 0x0e,
2039 ],
2040 Elements::IssuancesHash => [
2041 0x58, 0x65, 0x9f, 0x3f, 0x7e, 0x01, 0x30, 0xc4, 0xfc, 0x91, 0x6f, 0x49, 0xbc, 0x32,
2042 0xea, 0xa0, 0x88, 0x3a, 0xcb, 0x90, 0x22, 0xfc, 0xad, 0x5e, 0x78, 0x05, 0x83, 0x9a,
2043 0x99, 0xe5, 0x0c, 0xf9,
2044 ],
2045 Elements::LbtcAsset => [
2046 0x2a, 0xf7, 0xf7, 0x3a, 0xe3, 0xfb, 0xbf, 0xa2, 0xd2, 0x3a, 0x87, 0x74, 0xe6, 0xe3,
2047 0xca, 0x09, 0x32, 0x54, 0xda, 0x2f, 0xd2, 0xa9, 0xf3, 0x97, 0xa6, 0xae, 0x0a, 0x30,
2048 0xbb, 0x48, 0xf0, 0xd7,
2049 ],
2050 Elements::Le16 => [
2051 0x63, 0xda, 0x72, 0x7c, 0xcb, 0x4c, 0x6a, 0x9d, 0x4e, 0x00, 0x09, 0x64, 0xe7, 0x63,
2052 0xbf, 0xf9, 0x34, 0xea, 0xaf, 0xd0, 0x44, 0x28, 0x7e, 0x12, 0x68, 0xd0, 0x7e, 0xcd,
2053 0xfd, 0xe2, 0x07, 0xe1,
2054 ],
2055 Elements::Le32 => [
2056 0xde, 0xe2, 0x9a, 0x91, 0x65, 0x6d, 0x7a, 0xe7, 0x3d, 0xf4, 0x95, 0x6f, 0xd8, 0xa2,
2057 0xc6, 0xb6, 0x27, 0xaa, 0xb5, 0x1c, 0x11, 0x29, 0xf9, 0xfe, 0x7f, 0x6e, 0xd3, 0xe3,
2058 0x47, 0x92, 0xc7, 0x62,
2059 ],
2060 Elements::Le64 => [
2061 0x01, 0xc5, 0x5d, 0xf7, 0xd4, 0x46, 0x59, 0x66, 0x65, 0x9d, 0xdf, 0xc9, 0x4b, 0x36,
2062 0xd0, 0x33, 0x24, 0x2c, 0x2e, 0xc5, 0x93, 0xce, 0xe1, 0x21, 0x22, 0x44, 0x07, 0x75,
2063 0x66, 0xed, 0x01, 0x5f,
2064 ],
2065 Elements::Le8 => [
2066 0x0f, 0xb7, 0x2d, 0x9f, 0x8e, 0xe2, 0x37, 0x0a, 0xba, 0x55, 0x66, 0x3a, 0x48, 0x99,
2067 0x16, 0x2e, 0x40, 0xca, 0x55, 0x14, 0x71, 0x3e, 0xfb, 0x25, 0xe4, 0xa8, 0x9e, 0x2a,
2068 0x10, 0x4b, 0x34, 0xdb,
2069 ],
2070 Elements::LeftExtend16_32 => [
2071 0xdc, 0xf4, 0x2b, 0x65, 0x42, 0xf6, 0xd4, 0x1c, 0xb7, 0xb5, 0x0e, 0x7c, 0x77, 0x2f,
2072 0x3c, 0x7f, 0x6e, 0x43, 0x22, 0x32, 0xf2, 0xba, 0x20, 0x79, 0xb3, 0x86, 0xa0, 0x5d,
2073 0x7b, 0x46, 0x6a, 0xdd,
2074 ],
2075 Elements::LeftExtend16_64 => [
2076 0x2e, 0xee, 0x48, 0xa9, 0x22, 0x37, 0x94, 0x7c, 0x1a, 0x51, 0x7d, 0xf9, 0x95, 0xf4,
2077 0x4f, 0x1d, 0xfe, 0xf2, 0x0d, 0xdb, 0x4e, 0x9b, 0x53, 0x0b, 0x22, 0xd1, 0x8a, 0x0a,
2078 0x7f, 0xd6, 0x28, 0xaa,
2079 ],
2080 Elements::LeftExtend1_16 => [
2081 0x9a, 0x48, 0xa4, 0x77, 0x8e, 0x7c, 0x3c, 0x28, 0x5a, 0xb6, 0x53, 0x29, 0xd1, 0xcc,
2082 0xc4, 0x99, 0x9d, 0x2d, 0x19, 0x4e, 0x00, 0x5b, 0xd7, 0x94, 0x69, 0x49, 0x53, 0x3d,
2083 0x8c, 0xba, 0x80, 0x6c,
2084 ],
2085 Elements::LeftExtend1_32 => [
2086 0xda, 0xb6, 0xa5, 0x33, 0xcb, 0xcb, 0xe8, 0x36, 0x2c, 0xf1, 0xd5, 0xa1, 0x6e, 0xa3,
2087 0x7c, 0xbc, 0x7e, 0xdc, 0x7f, 0xc8, 0xa9, 0x42, 0x85, 0x71, 0xe1, 0x71, 0xec, 0x6e,
2088 0xe4, 0x4d, 0x08, 0x00,
2089 ],
2090 Elements::LeftExtend1_64 => [
2091 0x11, 0x0e, 0x5c, 0x1e, 0xf0, 0xb4, 0x69, 0xa7, 0x63, 0x85, 0x70, 0xda, 0x94, 0x4d,
2092 0x23, 0x2e, 0x0f, 0x28, 0xc4, 0x61, 0x51, 0xa2, 0x25, 0x35, 0x7d, 0xe3, 0xe9, 0x04,
2093 0x57, 0xa8, 0x8e, 0xa2,
2094 ],
2095 Elements::LeftExtend1_8 => [
2096 0x5a, 0x83, 0x1c, 0xa9, 0x96, 0x21, 0x51, 0x7a, 0x2b, 0x35, 0x4e, 0x5c, 0xac, 0x38,
2097 0xbc, 0x3a, 0x30, 0xc4, 0x00, 0x1f, 0x20, 0xd2, 0x5d, 0x77, 0x97, 0xad, 0xdc, 0xac,
2098 0x5d, 0xa8, 0x61, 0x06,
2099 ],
2100 Elements::LeftExtend32_64 => [
2101 0x84, 0xfc, 0xc6, 0x9b, 0xa1, 0xdb, 0x50, 0xdb, 0xd5, 0x36, 0x3c, 0xf2, 0x77, 0x79,
2102 0x57, 0x60, 0x1d, 0xe2, 0x56, 0x8a, 0xdf, 0x07, 0xaf, 0x41, 0x61, 0xde, 0xbb, 0x1e,
2103 0x5e, 0x37, 0x31, 0x0a,
2104 ],
2105 Elements::LeftExtend8_16 => [
2106 0xfe, 0xa1, 0xf2, 0x5a, 0x82, 0xfd, 0xf6, 0xf8, 0x66, 0x9c, 0xc4, 0x0f, 0xbb, 0x8e,
2107 0x54, 0xa9, 0x26, 0x58, 0xbf, 0xab, 0x94, 0xeb, 0x08, 0x2f, 0x71, 0x7b, 0xa2, 0x65,
2108 0xb5, 0xd8, 0x44, 0xb4,
2109 ],
2110 Elements::LeftExtend8_32 => [
2111 0x09, 0xd7, 0x03, 0xca, 0x46, 0xf7, 0x5d, 0x05, 0x1a, 0x93, 0xd0, 0xe8, 0xa2, 0xaf,
2112 0x05, 0x01, 0xa3, 0x8e, 0x84, 0x86, 0x83, 0xef, 0x10, 0x9c, 0x1f, 0xb4, 0xb5, 0xbe,
2113 0x20, 0xe6, 0x31, 0x5d,
2114 ],
2115 Elements::LeftExtend8_64 => [
2116 0xd3, 0xda, 0xfc, 0xbd, 0xab, 0x69, 0xa2, 0xbb, 0x32, 0x0f, 0x8d, 0x23, 0x0c, 0xef,
2117 0xd0, 0x9c, 0x27, 0xa1, 0x54, 0xc5, 0x1e, 0x7e, 0x5c, 0xd5, 0x33, 0x4e, 0xaf, 0xed,
2118 0x19, 0xe2, 0x0d, 0xf4,
2119 ],
2120 Elements::LeftPadHigh16_32 => [
2121 0x88, 0x8c, 0x7e, 0x0a, 0xb0, 0x03, 0x14, 0x75, 0xc5, 0x14, 0xf9, 0xb3, 0x7c, 0x81,
2122 0xf4, 0x5a, 0x47, 0x31, 0x49, 0x84, 0xe5, 0x02, 0x75, 0x08, 0xdd, 0xc5, 0xeb, 0x8d,
2123 0x8d, 0x10, 0xbe, 0xb9,
2124 ],
2125 Elements::LeftPadHigh16_64 => [
2126 0x52, 0x6b, 0x35, 0x05, 0x45, 0x01, 0x36, 0xd6, 0x81, 0xa5, 0x0b, 0x4b, 0xde, 0x4f,
2127 0xa6, 0x12, 0xda, 0x9d, 0x69, 0xbd, 0x08, 0x17, 0x0e, 0xa3, 0x2d, 0x0a, 0x26, 0x51,
2128 0x11, 0x50, 0x72, 0xeb,
2129 ],
2130 Elements::LeftPadHigh1_16 => [
2131 0x93, 0xae, 0xd6, 0xf6, 0x87, 0x50, 0x77, 0x4b, 0x2d, 0xbf, 0x83, 0x14, 0xca, 0xde,
2132 0xbe, 0x5a, 0x41, 0x52, 0x43, 0xfb, 0xdf, 0x7c, 0x2e, 0xea, 0x8b, 0x22, 0x3d, 0xf3,
2133 0x26, 0x1e, 0x3b, 0xdb,
2134 ],
2135 Elements::LeftPadHigh1_32 => [
2136 0x00, 0x82, 0x98, 0xf8, 0x2f, 0xb6, 0xcf, 0x37, 0xe9, 0xdc, 0x70, 0x3e, 0xa4, 0xf9,
2137 0x49, 0x56, 0x5c, 0x29, 0x65, 0xa7, 0xc7, 0xf4, 0xfa, 0x22, 0xf5, 0x54, 0x56, 0x42,
2138 0x34, 0x08, 0xa3, 0xab,
2139 ],
2140 Elements::LeftPadHigh1_64 => [
2141 0x2b, 0x45, 0x4e, 0xbd, 0x79, 0x1e, 0xc7, 0xda, 0xce, 0xdc, 0xb8, 0x6c, 0x69, 0xd0,
2142 0x26, 0x79, 0x4a, 0x5d, 0xc3, 0x72, 0x52, 0x61, 0xe7, 0xdc, 0x16, 0x50, 0xcc, 0x88,
2143 0x81, 0x17, 0xfc, 0x4f,
2144 ],
2145 Elements::LeftPadHigh1_8 => [
2146 0x6c, 0x27, 0x7c, 0x4c, 0xd0, 0x53, 0xdd, 0x35, 0x02, 0xdb, 0xe0, 0xbb, 0xc1, 0x4e,
2147 0xb0, 0xb3, 0x6a, 0x20, 0x1a, 0xbe, 0xf3, 0xb1, 0x74, 0xb0, 0xeb, 0xfe, 0x05, 0x20,
2148 0x18, 0xb6, 0x7e, 0x67,
2149 ],
2150 Elements::LeftPadHigh32_64 => [
2151 0x5d, 0x41, 0x22, 0x1c, 0xf6, 0x15, 0x82, 0x97, 0xb0, 0x6c, 0x19, 0x57, 0x11, 0x2c,
2152 0x0d, 0x12, 0xf3, 0xeb, 0x91, 0x7a, 0x2f, 0x50, 0x9a, 0x53, 0x9d, 0x5c, 0x9b, 0x79,
2153 0x10, 0x21, 0x9b, 0x65,
2154 ],
2155 Elements::LeftPadHigh8_16 => [
2156 0x21, 0x78, 0xdc, 0x76, 0xc0, 0x4c, 0x79, 0xd9, 0x18, 0x15, 0xd3, 0x8c, 0x96, 0x7f,
2157 0x34, 0x21, 0x3f, 0xfc, 0xc6, 0xc5, 0xf2, 0x43, 0xc9, 0x56, 0x29, 0x73, 0xf0, 0x90,
2158 0xca, 0x5c, 0xae, 0xfa,
2159 ],
2160 Elements::LeftPadHigh8_32 => [
2161 0xa4, 0xe8, 0x6b, 0x53, 0xe5, 0xd0, 0x0f, 0xaf, 0x0b, 0x3e, 0x9d, 0x53, 0x20, 0x2a,
2162 0xf7, 0x73, 0x8d, 0xcb, 0x88, 0x87, 0xa1, 0x8d, 0xfe, 0xe5, 0xbe, 0x34, 0xc4, 0x97,
2163 0x69, 0x8c, 0xa6, 0xb7,
2164 ],
2165 Elements::LeftPadHigh8_64 => [
2166 0xc8, 0x43, 0xa7, 0x2c, 0x41, 0x17, 0x0f, 0x40, 0x34, 0x33, 0xc4, 0x36, 0xa3, 0x9b,
2167 0x05, 0xcf, 0x19, 0x3c, 0x27, 0xd8, 0xbe, 0x35, 0x30, 0xf9, 0xb9, 0x4e, 0x42, 0xd7,
2168 0x63, 0x00, 0x3d, 0x54,
2169 ],
2170 Elements::LeftPadLow16_32 => [
2171 0x21, 0x53, 0x7f, 0x7d, 0x8f, 0x97, 0xf2, 0x20, 0x3c, 0xcc, 0xb0, 0x35, 0xef, 0x1d,
2172 0x46, 0x28, 0x9e, 0xe8, 0xaa, 0x50, 0xf0, 0x23, 0x60, 0x77, 0xd0, 0xd0, 0xb2, 0x10,
2173 0x70, 0x04, 0x40, 0xa1,
2174 ],
2175 Elements::LeftPadLow16_64 => [
2176 0x6b, 0x2e, 0xa9, 0x63, 0x0c, 0x5d, 0xde, 0x03, 0x7a, 0xab, 0x2b, 0xf7, 0x33, 0x21,
2177 0x9b, 0x99, 0xc7, 0xed, 0xc2, 0xec, 0xed, 0xb9, 0xa0, 0x3a, 0xdf, 0xd1, 0x69, 0x43,
2178 0x0b, 0x08, 0xbb, 0x9c,
2179 ],
2180 Elements::LeftPadLow1_16 => [
2181 0x4a, 0xa4, 0x05, 0x20, 0xfa, 0xed, 0x72, 0xe6, 0xe9, 0xbe, 0x3b, 0xe6, 0x93, 0x0f,
2182 0x1e, 0x32, 0xb0, 0xb1, 0x82, 0xc4, 0x32, 0x7a, 0xda, 0x94, 0xa7, 0x1f, 0x00, 0x6d,
2183 0x14, 0x90, 0x15, 0xf9,
2184 ],
2185 Elements::LeftPadLow1_32 => [
2186 0xcf, 0xb4, 0x75, 0x3b, 0xb9, 0xba, 0x36, 0x21, 0xba, 0x09, 0x37, 0x82, 0x5f, 0xad,
2187 0xe6, 0x43, 0x09, 0x8e, 0x38, 0x5e, 0xd6, 0x8e, 0xfb, 0x16, 0xff, 0x58, 0xec, 0xf3,
2188 0x65, 0xd7, 0xe5, 0xe2,
2189 ],
2190 Elements::LeftPadLow1_64 => [
2191 0xe6, 0xf1, 0xc0, 0x9b, 0x5f, 0xe1, 0x26, 0xd0, 0xea, 0x86, 0xe7, 0xbf, 0xc0, 0xb2,
2192 0x8e, 0x84, 0x9f, 0x8f, 0x7e, 0xfd, 0x31, 0x06, 0x4e, 0xa4, 0xfd, 0x1c, 0xca, 0x07,
2193 0x1b, 0x45, 0xdb, 0x93,
2194 ],
2195 Elements::LeftPadLow1_8 => [
2196 0xdc, 0x5a, 0x47, 0xf8, 0xd7, 0x77, 0x65, 0xc9, 0x94, 0xcb, 0xe8, 0x6a, 0xae, 0x44,
2197 0xa9, 0xc5, 0xff, 0x2e, 0xbc, 0x38, 0x10, 0xd7, 0x9c, 0xd8, 0x3b, 0xd2, 0xc4, 0x09,
2198 0x8c, 0x76, 0x2b, 0xf5,
2199 ],
2200 Elements::LeftPadLow32_64 => [
2201 0x2d, 0x88, 0xe4, 0xd0, 0x1e, 0x01, 0x08, 0xc0, 0xd6, 0x88, 0x0f, 0x3c, 0xe8, 0x48,
2202 0x2b, 0xb0, 0x95, 0x1f, 0x2b, 0x3f, 0xc5, 0xdf, 0x4b, 0x1a, 0xdb, 0x18, 0x4a, 0x1b,
2203 0xfd, 0x1f, 0x64, 0x65,
2204 ],
2205 Elements::LeftPadLow8_16 => [
2206 0xac, 0x1a, 0x4c, 0x97, 0x83, 0xe4, 0xdb, 0xed, 0x27, 0x00, 0xeb, 0x29, 0x52, 0xe3,
2207 0x06, 0x2a, 0x5a, 0x72, 0x71, 0x2f, 0x82, 0x15, 0x98, 0x61, 0xb0, 0x8e, 0x67, 0xef,
2208 0x4a, 0x71, 0xf5, 0xf2,
2209 ],
2210 Elements::LeftPadLow8_32 => [
2211 0x3d, 0xa5, 0xf1, 0xa8, 0xc9, 0x78, 0x19, 0xae, 0x7e, 0x10, 0xb9, 0x36, 0x4f, 0xf8,
2212 0x49, 0x96, 0xd0, 0xd7, 0x3e, 0x69, 0x8a, 0x49, 0xda, 0x69, 0x1f, 0x69, 0xa2, 0x73,
2213 0x25, 0x42, 0x01, 0xcd,
2214 ],
2215 Elements::LeftPadLow8_64 => [
2216 0x25, 0xbc, 0x18, 0xd4, 0x9f, 0x93, 0x40, 0x72, 0x27, 0x7d, 0x3f, 0x61, 0x3b, 0xf1,
2217 0x6c, 0x11, 0x8d, 0xf1, 0x97, 0xbc, 0x92, 0x87, 0x2d, 0x2a, 0xff, 0xe4, 0x17, 0xad,
2218 0xea, 0xaf, 0x1a, 0x85,
2219 ],
2220 Elements::LeftRotate16 => [
2221 0x88, 0xc1, 0x23, 0x37, 0xcd, 0x75, 0x4f, 0x83, 0x80, 0x98, 0x6d, 0x86, 0xfe, 0x3a,
2222 0x89, 0xe2, 0x62, 0x74, 0x66, 0x53, 0xe1, 0xba, 0xdd, 0x9c, 0xc9, 0xb4, 0x76, 0x45,
2223 0xfe, 0x57, 0x19, 0x5a,
2224 ],
2225 Elements::LeftRotate32 => [
2226 0x39, 0x81, 0x6c, 0xcd, 0x9e, 0x9c, 0xf1, 0x19, 0x1f, 0x06, 0x5d, 0x2e, 0xb7, 0xa7,
2227 0xfb, 0x83, 0x82, 0x8d, 0x91, 0xec, 0x7d, 0x99, 0x77, 0xa1, 0xfc, 0x70, 0xbe, 0x9b,
2228 0x31, 0xa4, 0x68, 0xb9,
2229 ],
2230 Elements::LeftRotate64 => [
2231 0x8b, 0x23, 0x55, 0xc3, 0x1e, 0x3b, 0x61, 0x4b, 0xd4, 0xb4, 0x1c, 0x3e, 0xcf, 0x27,
2232 0x74, 0x24, 0xd0, 0x26, 0x76, 0x6b, 0x37, 0xbc, 0x6c, 0x10, 0x56, 0x21, 0xf4, 0xf6,
2233 0xa1, 0x6f, 0x9b, 0xdf,
2234 ],
2235 Elements::LeftRotate8 => [
2236 0x9e, 0x96, 0x6e, 0x88, 0x0c, 0x6b, 0x0c, 0x48, 0x3c, 0x90, 0xbe, 0xee, 0xd7, 0xc5,
2237 0x73, 0x7c, 0xa5, 0xf3, 0xfa, 0xcf, 0x85, 0xaa, 0xb3, 0xd5, 0x31, 0xad, 0x34, 0xbd,
2238 0x7b, 0x1a, 0x9b, 0x68,
2239 ],
2240 Elements::LeftShift16 => [
2241 0xb0, 0x53, 0x60, 0x18, 0x4d, 0x06, 0x02, 0xb5, 0x81, 0x40, 0x5e, 0x32, 0x96, 0x0b,
2242 0x31, 0xc0, 0x52, 0x19, 0x35, 0x8d, 0xe8, 0x9e, 0xfd, 0xf4, 0x94, 0x64, 0x72, 0x3d,
2243 0xd6, 0x25, 0x61, 0x7a,
2244 ],
2245 Elements::LeftShift32 => [
2246 0x34, 0xbf, 0x54, 0xf5, 0x94, 0xc2, 0x62, 0x10, 0x07, 0xf8, 0xc7, 0x8b, 0x30, 0xfa,
2247 0xd3, 0x96, 0x72, 0x00, 0x9b, 0xb3, 0x66, 0xaa, 0xce, 0x1e, 0x5e, 0x41, 0xee, 0x4d,
2248 0x9c, 0xc5, 0x41, 0xa8,
2249 ],
2250 Elements::LeftShift64 => [
2251 0x5d, 0xe9, 0x53, 0xf0, 0x4d, 0xea, 0xed, 0x90, 0x47, 0x56, 0x76, 0x47, 0xa1, 0xeb,
2252 0x7a, 0xbe, 0x66, 0x5f, 0xec, 0xcb, 0xe7, 0xed, 0x10, 0xcb, 0x7d, 0xbe, 0x69, 0x12,
2253 0x73, 0xc0, 0x94, 0xb0,
2254 ],
2255 Elements::LeftShift8 => [
2256 0xab, 0x9d, 0x3e, 0x9a, 0xc3, 0x90, 0x38, 0xad, 0x88, 0xb1, 0x03, 0xf0, 0x72, 0x25,
2257 0x4c, 0x0e, 0xc6, 0xe2, 0x74, 0x75, 0xe2, 0x75, 0xc2, 0x45, 0xe8, 0x8c, 0xce, 0x0d,
2258 0x07, 0x2e, 0x64, 0x46,
2259 ],
2260 Elements::LeftShiftWith16 => [
2261 0xe2, 0x91, 0x07, 0x88, 0x55, 0x50, 0x45, 0x0e, 0xb7, 0x27, 0xd0, 0xcf, 0x14, 0xe1,
2262 0x04, 0xae, 0x12, 0xf8, 0x3a, 0x24, 0xe2, 0xe2, 0xac, 0xa3, 0xcc, 0xe4, 0x33, 0xde,
2263 0x2f, 0x35, 0xd7, 0xb3,
2264 ],
2265 Elements::LeftShiftWith32 => [
2266 0xf3, 0x92, 0x50, 0xc4, 0x5a, 0x13, 0x10, 0xcc, 0x63, 0x8c, 0x78, 0x8d, 0xee, 0xc5,
2267 0xc3, 0x65, 0xb4, 0xd1, 0x76, 0xd1, 0x0e, 0xfb, 0xf4, 0xc6, 0x01, 0xcf, 0x5e, 0xeb,
2268 0xe0, 0xa5, 0x73, 0xe9,
2269 ],
2270 Elements::LeftShiftWith64 => [
2271 0xad, 0x87, 0x94, 0xcf, 0xae, 0xf2, 0xb7, 0xf7, 0x74, 0xfa, 0x68, 0xd3, 0x09, 0xbb,
2272 0xc9, 0x8d, 0xfe, 0xe5, 0x8c, 0x40, 0x40, 0x0b, 0x2e, 0xb5, 0x78, 0xa2, 0x12, 0xf4,
2273 0x38, 0xbd, 0x07, 0xab,
2274 ],
2275 Elements::LeftShiftWith8 => [
2276 0xdd, 0x9c, 0xc1, 0xce, 0xa7, 0x49, 0x09, 0x48, 0x1f, 0xf5, 0x8f, 0x87, 0x6f, 0xf6,
2277 0x6e, 0x0f, 0x5d, 0x52, 0xbf, 0x89, 0xb0, 0x25, 0x8f, 0xa9, 0x5b, 0x32, 0x00, 0x02,
2278 0xc3, 0x2a, 0x79, 0x15,
2279 ],
2280 Elements::Leftmost16_1 => [
2281 0xde, 0x6a, 0x4c, 0x98, 0x33, 0x7e, 0x68, 0x0d, 0x6e, 0x6e, 0xe2, 0xbf, 0x36, 0xd3,
2282 0xa0, 0x81, 0x7d, 0x2a, 0x9a, 0x98, 0x32, 0x5f, 0x87, 0xe5, 0xec, 0xeb, 0x8a, 0x6f,
2283 0x11, 0x68, 0xf5, 0xca,
2284 ],
2285 Elements::Leftmost16_2 => [
2286 0x00, 0x58, 0x09, 0xb8, 0x05, 0x1a, 0x2a, 0x50, 0x28, 0x33, 0xb2, 0x2c, 0x2c, 0x17,
2287 0x98, 0x1e, 0xaf, 0x9d, 0xd1, 0xd3, 0xdb, 0xc8, 0xf8, 0xc8, 0x94, 0x51, 0x6c, 0x1d,
2288 0x5f, 0x31, 0x14, 0x6c,
2289 ],
2290 Elements::Leftmost16_4 => [
2291 0x9c, 0x50, 0xee, 0x22, 0x84, 0xd8, 0x57, 0xc4, 0x7c, 0x05, 0x44, 0x47, 0x13, 0x54,
2292 0x10, 0x5e, 0x98, 0xdf, 0xe0, 0x27, 0x54, 0xd2, 0xe4, 0x2d, 0xe1, 0x1d, 0x32, 0x34,
2293 0xed, 0x10, 0xb6, 0x42,
2294 ],
2295 Elements::Leftmost16_8 => [
2296 0x5a, 0x1a, 0x72, 0x91, 0x4e, 0x14, 0x9c, 0x22, 0xb4, 0x64, 0xc8, 0xf6, 0xa3, 0xd9,
2297 0xcf, 0x41, 0xb0, 0x71, 0x92, 0xbe, 0xf0, 0xd8, 0xa1, 0xcc, 0x7c, 0xbe, 0x57, 0x04,
2298 0xa9, 0xe8, 0xea, 0x70,
2299 ],
2300 Elements::Leftmost32_1 => [
2301 0x5f, 0xb8, 0xe6, 0x34, 0x2a, 0xb7, 0x4e, 0xe2, 0xc9, 0x22, 0x5b, 0x87, 0x2f, 0xa0,
2302 0xc9, 0x12, 0x04, 0x6a, 0x69, 0xdb, 0xb7, 0x19, 0xbc, 0xd6, 0xc8, 0xd7, 0x9b, 0x76,
2303 0x60, 0xc4, 0xeb, 0xca,
2304 ],
2305 Elements::Leftmost32_16 => [
2306 0x54, 0xae, 0x50, 0xb4, 0x6b, 0x5b, 0x2e, 0x68, 0xf5, 0x36, 0xc0, 0x1c, 0x39, 0x61,
2307 0x7b, 0x0c, 0xee, 0x42, 0xe1, 0xc4, 0x9a, 0x2c, 0xd1, 0xd2, 0x6a, 0xf8, 0xea, 0x87,
2308 0x15, 0xac, 0x4d, 0x11,
2309 ],
2310 Elements::Leftmost32_2 => [
2311 0x12, 0x30, 0x68, 0x55, 0x45, 0x95, 0x42, 0x7e, 0x3c, 0x1d, 0xe2, 0x43, 0xba, 0xb6,
2312 0x6f, 0x33, 0x48, 0x36, 0x8a, 0xaa, 0x44, 0x61, 0x7d, 0x6a, 0x02, 0x47, 0x9f, 0xb7,
2313 0x04, 0xbc, 0xfd, 0x1e,
2314 ],
2315 Elements::Leftmost32_4 => [
2316 0x55, 0xa8, 0x7b, 0x66, 0xc3, 0x39, 0xe3, 0x63, 0xe0, 0x3d, 0x4d, 0xaa, 0xc6, 0x22,
2317 0x90, 0xeb, 0xa9, 0x3c, 0x1a, 0x3a, 0x73, 0x82, 0xcb, 0xf6, 0x1f, 0x20, 0xb3, 0x4a,
2318 0x50, 0x51, 0x24, 0xad,
2319 ],
2320 Elements::Leftmost32_8 => [
2321 0x9f, 0x34, 0x5b, 0xee, 0x0b, 0x16, 0x2d, 0x42, 0xa0, 0x35, 0x71, 0x8f, 0x8c, 0xa1,
2322 0xad, 0xc8, 0xac, 0x2f, 0x71, 0x0d, 0xc4, 0x00, 0x52, 0xa8, 0x25, 0x66, 0xe6, 0xd8,
2323 0x07, 0xbe, 0xf8, 0xb8,
2324 ],
2325 Elements::Leftmost64_1 => [
2326 0xb9, 0x24, 0xd3, 0x3b, 0x5e, 0xfe, 0xfc, 0x8e, 0x20, 0x42, 0x08, 0x19, 0x25, 0x91,
2327 0x7c, 0xff, 0x23, 0x9b, 0x31, 0xc8, 0xbd, 0xbd, 0xf4, 0xac, 0xae, 0x6b, 0xb8, 0xd9,
2328 0xcd, 0x21, 0x7b, 0x4f,
2329 ],
2330 Elements::Leftmost64_16 => [
2331 0x12, 0xaa, 0x85, 0xe0, 0x5c, 0x1e, 0x96, 0x22, 0x27, 0x9c, 0x4c, 0x2d, 0xdc, 0xf8,
2332 0x97, 0xc9, 0x5d, 0xdc, 0xc0, 0x11, 0x39, 0x97, 0x28, 0x3b, 0x6b, 0x3e, 0x09, 0x49,
2333 0xbc, 0x81, 0x13, 0xcb,
2334 ],
2335 Elements::Leftmost64_2 => [
2336 0xbc, 0xec, 0x97, 0xf4, 0x3b, 0xa5, 0x5c, 0xd4, 0x0d, 0x85, 0xa1, 0xe7, 0x6c, 0xba,
2337 0xde, 0x7b, 0x0b, 0x1e, 0x9f, 0x13, 0x97, 0x47, 0x79, 0x3d, 0xcb, 0x34, 0x80, 0xbe,
2338 0xe1, 0xf7, 0x51, 0xca,
2339 ],
2340 Elements::Leftmost64_32 => [
2341 0x9c, 0x89, 0x69, 0x39, 0x86, 0xe5, 0x57, 0x33, 0xab, 0x96, 0x2a, 0x30, 0x0b, 0x05,
2342 0x79, 0x50, 0x3d, 0x83, 0xde, 0x8a, 0xc1, 0x9b, 0x17, 0x9b, 0x41, 0x7e, 0x1c, 0xa2,
2343 0x53, 0x85, 0xb3, 0x8f,
2344 ],
2345 Elements::Leftmost64_4 => [
2346 0xd2, 0xd6, 0x45, 0x20, 0x92, 0xd6, 0x56, 0x6f, 0x89, 0xa1, 0xf6, 0x4e, 0x73, 0x65,
2347 0x96, 0xf9, 0x00, 0x0e, 0x5e, 0x6f, 0x63, 0xe4, 0x00, 0x17, 0xd0, 0xcb, 0x80, 0xf3,
2348 0xf7, 0xad, 0xfd, 0x18,
2349 ],
2350 Elements::Leftmost64_8 => [
2351 0xf7, 0x7b, 0x62, 0xbb, 0x01, 0xb9, 0x05, 0x11, 0xb6, 0xd0, 0x6e, 0xbf, 0x2e, 0x36,
2352 0xc0, 0x65, 0x65, 0xac, 0xb5, 0xaa, 0xd1, 0xef, 0xc7, 0x7c, 0x36, 0xa1, 0x0a, 0x26,
2353 0x1d, 0xe9, 0x21, 0xda,
2354 ],
2355 Elements::Leftmost8_1 => [
2356 0x5a, 0x73, 0x0b, 0x58, 0xe3, 0xab, 0xcb, 0x2f, 0x4d, 0xe2, 0x21, 0x59, 0x80, 0x30,
2357 0x23, 0x10, 0x2c, 0xd6, 0x64, 0x21, 0x91, 0x19, 0x20, 0xca, 0x21, 0xa2, 0xa0, 0x5c,
2358 0x9b, 0x21, 0x1c, 0xe8,
2359 ],
2360 Elements::Leftmost8_2 => [
2361 0x25, 0x79, 0x08, 0x56, 0x10, 0x3d, 0xce, 0x6c, 0x7b, 0xbb, 0x3d, 0xd7, 0x18, 0xb1,
2362 0x69, 0x10, 0x9c, 0xae, 0x85, 0x37, 0x99, 0xd1, 0x24, 0x56, 0xc8, 0x5d, 0x83, 0x49,
2363 0xec, 0x18, 0xdc, 0x53,
2364 ],
2365 Elements::Leftmost8_4 => [
2366 0x73, 0xd9, 0xf0, 0x18, 0x15, 0x7a, 0x14, 0x78, 0x4e, 0xe7, 0x0b, 0x21, 0x9c, 0xeb,
2367 0x40, 0x42, 0xfa, 0x62, 0x1d, 0x0e, 0xe6, 0xd5, 0x45, 0xa0, 0xfd, 0xba, 0xb9, 0x44,
2368 0x43, 0x46, 0xe3, 0x31,
2369 ],
2370 Elements::LinearCombination1 => [
2371 0x6d, 0x9f, 0x4a, 0x87, 0x0f, 0xbf, 0x74, 0x0c, 0x22, 0x0e, 0xff, 0xf3, 0x07, 0xb5,
2372 0xed, 0x91, 0xa5, 0x8c, 0x5e, 0x51, 0xa8, 0xad, 0xfc, 0x3b, 0x15, 0x90, 0x30, 0xf5,
2373 0x12, 0xd3, 0x99, 0x41,
2374 ],
2375 Elements::LinearVerify1 => [
2376 0x27, 0x83, 0x13, 0xd7, 0xce, 0x4a, 0xd5, 0x89, 0x11, 0xde, 0x24, 0xee, 0x54, 0x0d,
2377 0x19, 0xec, 0xeb, 0xb6, 0x2f, 0x4a, 0xb4, 0xa7, 0x1e, 0x2a, 0xad, 0xd4, 0x51, 0x2b,
2378 0x2e, 0x4b, 0xc2, 0xe2,
2379 ],
2380 Elements::LockTime => [
2381 0xa1, 0x68, 0x97, 0xc5, 0xdb, 0x49, 0x27, 0xc6, 0xcb, 0x07, 0xb1, 0x65, 0xbd, 0x2c,
2382 0xc3, 0x8b, 0x36, 0xa6, 0x02, 0x68, 0x6c, 0x74, 0xa1, 0x90, 0x34, 0xaa, 0x37, 0x87,
2383 0xac, 0x58, 0x2a, 0x0b,
2384 ],
2385 Elements::Low1 => [
2386 0xf2, 0x7b, 0x69, 0xbb, 0x09, 0x16, 0x09, 0xf5, 0x9e, 0x00, 0x33, 0x05, 0x0d, 0x01,
2387 0xa5, 0xbc, 0x77, 0xff, 0x07, 0xd9, 0x42, 0x70, 0x7a, 0x79, 0xcf, 0x5e, 0xe4, 0x10,
2388 0xa9, 0x98, 0xa0, 0x43,
2389 ],
2390 Elements::Low16 => [
2391 0x97, 0x7c, 0xbd, 0x1e, 0x7f, 0xfc, 0x05, 0xe7, 0x16, 0xd9, 0xc1, 0xb4, 0x9f, 0x7d,
2392 0x51, 0x7f, 0x85, 0x3d, 0xbf, 0x3e, 0x98, 0xa4, 0xc7, 0x48, 0x04, 0x6e, 0xac, 0xf4,
2393 0x17, 0xf8, 0x9c, 0x2f,
2394 ],
2395 Elements::Low32 => [
2396 0xbe, 0x41, 0x69, 0x82, 0x8f, 0x07, 0x67, 0x78, 0xb6, 0x0d, 0x54, 0x56, 0xf7, 0x88,
2397 0x6e, 0xd7, 0xf3, 0x0b, 0x10, 0x1d, 0x6c, 0xcb, 0xd9, 0xea, 0x0c, 0x4d, 0xb1, 0x42,
2398 0xea, 0xc6, 0x6b, 0x12,
2399 ],
2400 Elements::Low64 => [
2401 0x01, 0x9a, 0x66, 0xbf, 0xba, 0x17, 0x51, 0x68, 0x8b, 0xe7, 0x13, 0x89, 0xed, 0x7b,
2402 0xf3, 0x71, 0xb3, 0x01, 0x4d, 0xfb, 0x32, 0x95, 0x62, 0xac, 0x3b, 0x3e, 0x9d, 0xfe,
2403 0x92, 0x06, 0xa5, 0xbc,
2404 ],
2405 Elements::Low8 => [
2406 0x21, 0x7b, 0x56, 0x43, 0x95, 0x6b, 0x48, 0x33, 0xaa, 0x56, 0x22, 0xf0, 0x0f, 0x06,
2407 0x88, 0xba, 0x86, 0x0d, 0x4a, 0xdb, 0xf9, 0x40, 0xcb, 0xdc, 0xd2, 0xb5, 0x9f, 0x26,
2408 0xd6, 0x15, 0x93, 0xb1,
2409 ],
2410 Elements::Lt16 => [
2411 0x56, 0xa2, 0x0d, 0x55, 0xed, 0xb4, 0x43, 0x88, 0x18, 0x05, 0x44, 0xc3, 0xed, 0x40,
2412 0x41, 0x45, 0xa3, 0xb6, 0x6f, 0xd2, 0xc4, 0x11, 0x38, 0x42, 0xf6, 0x4e, 0xae, 0xaf,
2413 0xba, 0xd4, 0xbb, 0x06,
2414 ],
2415 Elements::Lt32 => [
2416 0xca, 0xb0, 0xdc, 0x5b, 0x0e, 0xcb, 0xf6, 0xd2, 0x48, 0x16, 0xfc, 0x20, 0x10, 0xfc,
2417 0x31, 0x19, 0x36, 0x63, 0xc3, 0x06, 0x96, 0x8d, 0x9c, 0xee, 0x3b, 0x00, 0x4c, 0x0b,
2418 0xc1, 0x84, 0xb4, 0x78,
2419 ],
2420 Elements::Lt64 => [
2421 0x47, 0xd6, 0x7e, 0x52, 0xb2, 0x7b, 0xa7, 0x8e, 0xdd, 0x07, 0x5a, 0xa2, 0x70, 0xde,
2422 0xd0, 0x07, 0xa7, 0xa9, 0xa6, 0x84, 0x99, 0x34, 0x4f, 0x28, 0x62, 0xf5, 0x06, 0x90,
2423 0x49, 0xa0, 0xce, 0xfe,
2424 ],
2425 Elements::Lt8 => [
2426 0x73, 0xd0, 0x04, 0x46, 0x55, 0xc0, 0xdf, 0x45, 0xc2, 0x71, 0xa1, 0x71, 0x3f, 0xf9,
2427 0xb9, 0xa4, 0x3d, 0xde, 0x56, 0xe6, 0x74, 0xd1, 0x75, 0x4e, 0x76, 0xed, 0xb1, 0x6f,
2428 0x94, 0x9c, 0x4f, 0xab,
2429 ],
2430 Elements::Maj1 => [
2431 0xcb, 0x2d, 0x98, 0x6d, 0x7f, 0x00, 0x10, 0x7a, 0x3c, 0x25, 0xf6, 0xb2, 0xf1, 0x48,
2432 0x91, 0xd0, 0x2e, 0x20, 0xae, 0x16, 0xf0, 0xa1, 0x25, 0x2c, 0x92, 0xd9, 0xb5, 0x8a,
2433 0xe7, 0x33, 0x88, 0xaa,
2434 ],
2435 Elements::Maj16 => [
2436 0x0a, 0xf6, 0xd0, 0xc1, 0x71, 0xfe, 0x33, 0xa2, 0x15, 0x9b, 0xf9, 0x88, 0x00, 0xf0,
2437 0x41, 0x2c, 0x25, 0x97, 0xe9, 0x97, 0x84, 0xd0, 0x74, 0xfd, 0xfa, 0x33, 0xd7, 0xfd,
2438 0xe5, 0x97, 0xdd, 0xfd,
2439 ],
2440 Elements::Maj32 => [
2441 0x30, 0x60, 0x83, 0x8d, 0x48, 0x45, 0x6f, 0x33, 0x92, 0xd5, 0xd6, 0x9b, 0x5e, 0xec,
2442 0x08, 0x92, 0x76, 0xcd, 0x58, 0xbb, 0x67, 0xa1, 0x2c, 0x64, 0x2e, 0xc7, 0x3a, 0xeb,
2443 0x9a, 0xda, 0xcb, 0xdd,
2444 ],
2445 Elements::Maj64 => [
2446 0x8e, 0xbc, 0xc1, 0x74, 0x57, 0xea, 0x2b, 0x14, 0x23, 0x1b, 0x0e, 0x90, 0x1e, 0xa7,
2447 0xb1, 0xd4, 0x7b, 0x9b, 0x78, 0x98, 0x63, 0x72, 0xa4, 0x41, 0x6f, 0xe7, 0x3f, 0x67,
2448 0x63, 0xfe, 0xb2, 0x4b,
2449 ],
2450 Elements::Maj8 => [
2451 0x89, 0x30, 0xd1, 0xd0, 0x99, 0x1b, 0x0a, 0x58, 0x1d, 0x0b, 0x1d, 0x85, 0xad, 0x72,
2452 0x14, 0x7d, 0x66, 0x49, 0xa3, 0x59, 0x93, 0x28, 0x3f, 0xc9, 0x72, 0x14, 0x43, 0x1f,
2453 0x0b, 0x6a, 0x7a, 0xa8,
2454 ],
2455 Elements::Max16 => [
2456 0xe0, 0x11, 0x47, 0x17, 0x69, 0x1a, 0xc1, 0xa7, 0x39, 0x28, 0x8f, 0xc6, 0xff, 0xa1,
2457 0xc6, 0x50, 0x7c, 0x43, 0xe6, 0xf1, 0xd4, 0xc1, 0x87, 0x70, 0xff, 0xa1, 0x66, 0xae,
2458 0x83, 0x9d, 0xd5, 0x33,
2459 ],
2460 Elements::Max32 => [
2461 0x1d, 0x72, 0x3c, 0xb3, 0x89, 0x94, 0x22, 0x19, 0xec, 0x10, 0x34, 0x85, 0x31, 0x7f,
2462 0xa5, 0xd8, 0x7e, 0xe1, 0x5c, 0x24, 0xb2, 0x08, 0x0f, 0x50, 0x46, 0x65, 0x0d, 0x80,
2463 0x30, 0x8b, 0x18, 0x9d,
2464 ],
2465 Elements::Max64 => [
2466 0x00, 0x73, 0xac, 0x3c, 0x6e, 0xa9, 0x39, 0xdc, 0xc7, 0xee, 0xe4, 0xea, 0x63, 0xdc,
2467 0xfd, 0x75, 0x20, 0x37, 0x35, 0x5b, 0x48, 0x4f, 0x6e, 0x70, 0x16, 0xb3, 0x00, 0xe2,
2468 0xd2, 0x8c, 0x07, 0xc3,
2469 ],
2470 Elements::Max8 => [
2471 0x6b, 0xc1, 0x03, 0x70, 0xf3, 0xe7, 0xa7, 0xb9, 0x2a, 0xcb, 0x14, 0x23, 0xbb, 0xdf,
2472 0x0b, 0x3d, 0x7e, 0x3c, 0xd0, 0xd2, 0xdb, 0xc7, 0x05, 0xa3, 0x4d, 0x8d, 0xc9, 0x9c,
2473 0x91, 0x04, 0x22, 0xfb,
2474 ],
2475 Elements::Median16 => [
2476 0x24, 0x14, 0xe3, 0xc4, 0x39, 0x65, 0x9d, 0x8a, 0xa9, 0xd0, 0x87, 0xe1, 0xad, 0xe7,
2477 0x72, 0x66, 0x67, 0x3d, 0x1c, 0x8b, 0xd4, 0xe7, 0x50, 0x1b, 0x22, 0xac, 0x46, 0xa3,
2478 0xff, 0x39, 0x97, 0x5d,
2479 ],
2480 Elements::Median32 => [
2481 0x07, 0x92, 0x35, 0x6b, 0x61, 0x0b, 0x57, 0xd0, 0xec, 0x19, 0x9e, 0x98, 0x53, 0x5e,
2482 0xa9, 0xbc, 0xcc, 0xe8, 0x43, 0xa5, 0xdf, 0x5d, 0xd2, 0x40, 0x8c, 0x41, 0x48, 0x86,
2483 0xdf, 0xd6, 0xbd, 0x1e,
2484 ],
2485 Elements::Median64 => [
2486 0x07, 0x66, 0xd8, 0x9b, 0x43, 0x0f, 0xfd, 0xf0, 0x38, 0x69, 0x1b, 0x18, 0x43, 0x9c,
2487 0xd6, 0xfc, 0x49, 0x29, 0x17, 0x2e, 0xa8, 0x84, 0xfd, 0xaf, 0x16, 0x69, 0x36, 0xb3,
2488 0x8b, 0x15, 0xfd, 0x0c,
2489 ],
2490 Elements::Median8 => [
2491 0xa4, 0xa0, 0xb6, 0x31, 0x0f, 0xf0, 0xed, 0x4a, 0x4c, 0x3e, 0x03, 0xeb, 0xc7, 0xa9,
2492 0x13, 0x06, 0xef, 0x66, 0x04, 0x24, 0xbc, 0x95, 0xa0, 0xd3, 0xf2, 0xfd, 0xb7, 0x1f,
2493 0xb6, 0xaf, 0xd8, 0xb7,
2494 ],
2495 Elements::Min16 => [
2496 0xf1, 0x58, 0xf4, 0x0a, 0x86, 0x09, 0x93, 0xb4, 0x10, 0x7f, 0xb2, 0x71, 0xfb, 0x4c,
2497 0x8f, 0x95, 0x5b, 0xa4, 0x54, 0x2a, 0xd1, 0x82, 0x1c, 0xd2, 0xf1, 0x3c, 0x88, 0x0c,
2498 0xa4, 0xbe, 0xe2, 0xe2,
2499 ],
2500 Elements::Min32 => [
2501 0xe5, 0xe4, 0x13, 0xdc, 0x5d, 0xe5, 0xe2, 0x2d, 0x66, 0xf3, 0x2d, 0x8d, 0xbf, 0x50,
2502 0x05, 0x3e, 0xd2, 0x78, 0xe1, 0x75, 0xc0, 0xd4, 0xb3, 0x44, 0xeb, 0xd4, 0x61, 0xbe,
2503 0xb1, 0x08, 0xe5, 0x5e,
2504 ],
2505 Elements::Min64 => [
2506 0x43, 0xd8, 0x2f, 0x6c, 0x61, 0x28, 0xaa, 0x01, 0xa9, 0x97, 0xbb, 0x17, 0xe5, 0xe7,
2507 0xf5, 0x01, 0xe7, 0xbe, 0x7d, 0xb9, 0x58, 0x9e, 0x56, 0x6d, 0xe9, 0x7a, 0x32, 0xea,
2508 0xe7, 0xe7, 0xb3, 0x39,
2509 ],
2510 Elements::Min8 => [
2511 0x6b, 0x01, 0x2c, 0xa3, 0x18, 0x5d, 0xc0, 0x05, 0xe8, 0x94, 0x2c, 0xfb, 0xc9, 0xf2,
2512 0x38, 0xdc, 0xed, 0xaf, 0x0c, 0x00, 0x43, 0x52, 0x64, 0x47, 0xe3, 0xec, 0x31, 0xce,
2513 0xfa, 0x6e, 0x40, 0x64,
2514 ],
2515 Elements::Modulo16 => [
2516 0x62, 0xc1, 0x79, 0xac, 0x84, 0xc5, 0x75, 0x0b, 0x42, 0x5f, 0x9a, 0x1b, 0x8f, 0x81,
2517 0xed, 0xaa, 0x7f, 0x5c, 0xf2, 0x2c, 0x19, 0xd8, 0x6b, 0x0d, 0xcf, 0x96, 0xde, 0xa6,
2518 0xba, 0xd9, 0x9b, 0x3b,
2519 ],
2520 Elements::Modulo32 => [
2521 0xa1, 0xf0, 0x1c, 0x10, 0x6f, 0xc3, 0x6a, 0x76, 0x4e, 0x99, 0xb2, 0x33, 0x98, 0xe2,
2522 0x1e, 0x7c, 0x26, 0x7f, 0x88, 0x9f, 0xcc, 0xeb, 0xd1, 0x48, 0x7d, 0x3d, 0xe1, 0xcc,
2523 0x67, 0xc3, 0x2b, 0xd9,
2524 ],
2525 Elements::Modulo64 => [
2526 0x50, 0xc8, 0x2f, 0xd0, 0x31, 0x09, 0xc9, 0x8b, 0x72, 0x37, 0xe9, 0x16, 0x74, 0x04,
2527 0x19, 0x64, 0x38, 0x1e, 0x6c, 0x2e, 0xbb, 0xe2, 0x5b, 0xf3, 0xe0, 0xd3, 0x7a, 0x9f,
2528 0x06, 0x0f, 0x15, 0x02,
2529 ],
2530 Elements::Modulo8 => [
2531 0x5c, 0x63, 0xc7, 0x7a, 0x16, 0x08, 0xe2, 0xf6, 0xa3, 0x74, 0x8c, 0x11, 0x0f, 0xbb,
2532 0x9a, 0x1c, 0x56, 0x9f, 0xb4, 0xd5, 0x40, 0xf3, 0xdd, 0x2e, 0x4f, 0x80, 0xe9, 0x0d,
2533 0xd5, 0xea, 0x99, 0x82,
2534 ],
2535 Elements::Multiply16 => [
2536 0x46, 0xe6, 0x2a, 0xbf, 0x8e, 0x30, 0xa7, 0x74, 0x6d, 0xe0, 0xe9, 0x29, 0xf7, 0xbe,
2537 0xed, 0xdb, 0xde, 0x8b, 0x26, 0x9b, 0xab, 0x08, 0xf7, 0x6e, 0x95, 0x47, 0x10, 0x8b,
2538 0x1c, 0x36, 0x01, 0x74,
2539 ],
2540 Elements::Multiply32 => [
2541 0x2d, 0xec, 0xdc, 0x5b, 0x0c, 0x6f, 0xf6, 0x3d, 0x11, 0xf5, 0x38, 0x52, 0xe0, 0xde,
2542 0xed, 0x11, 0x44, 0x81, 0x35, 0x5b, 0xb6, 0xc6, 0xce, 0x15, 0x46, 0xae, 0x9f, 0x81,
2543 0x5b, 0xee, 0x77, 0x50,
2544 ],
2545 Elements::Multiply64 => [
2546 0xbf, 0xa8, 0x62, 0x6d, 0xbf, 0x10, 0x00, 0x1d, 0xe3, 0x90, 0xd9, 0x97, 0xf2, 0xee,
2547 0x7b, 0x19, 0x0c, 0x24, 0xa7, 0x8c, 0xfe, 0xcb, 0x91, 0xf5, 0xd7, 0xc1, 0x0c, 0x3f,
2548 0x9d, 0xdb, 0xb1, 0xe6,
2549 ],
2550 Elements::Multiply8 => [
2551 0x29, 0xda, 0x13, 0x37, 0x4f, 0x7c, 0xb3, 0x08, 0x40, 0x5f, 0xe2, 0x30, 0xf8, 0x99,
2552 0x48, 0x5c, 0x50, 0x0e, 0x6e, 0x95, 0x20, 0xc1, 0x5e, 0x8a, 0x76, 0xe5, 0x3a, 0x92,
2553 0xe7, 0xac, 0x64, 0xd6,
2554 ],
2555 Elements::Negate16 => [
2556 0xf6, 0x42, 0x17, 0x3b, 0x85, 0xef, 0x21, 0x96, 0x9d, 0x8d, 0x90, 0x48, 0x80, 0x7e,
2557 0x3d, 0x4f, 0xac, 0xf3, 0xf5, 0xf9, 0xe5, 0x9a, 0xa5, 0xcf, 0x0c, 0x60, 0xf8, 0x74,
2558 0x22, 0xed, 0x7c, 0x8f,
2559 ],
2560 Elements::Negate32 => [
2561 0x54, 0x9b, 0x65, 0xce, 0x97, 0xc6, 0xb3, 0x34, 0xb8, 0xae, 0x94, 0x56, 0x96, 0x0e,
2562 0x36, 0x5b, 0xb2, 0x84, 0xd7, 0x6d, 0x40, 0x05, 0xe9, 0x21, 0xf4, 0x89, 0xbc, 0x36,
2563 0x26, 0x17, 0x1b, 0x06,
2564 ],
2565 Elements::Negate64 => [
2566 0x35, 0xac, 0xca, 0x27, 0xce, 0x65, 0x85, 0x79, 0xef, 0x1c, 0x55, 0xad, 0x1a, 0xbe,
2567 0xa0, 0x05, 0x0d, 0x93, 0x66, 0xd1, 0x22, 0x09, 0xad, 0x13, 0x05, 0x25, 0x49, 0xc3,
2568 0x43, 0x64, 0x91, 0xd0,
2569 ],
2570 Elements::Negate8 => [
2571 0xd8, 0x71, 0xc5, 0x42, 0x47, 0x3f, 0x4d, 0xd9, 0x02, 0xd3, 0x1f, 0xe3, 0xfc, 0x9a,
2572 0xc0, 0xf3, 0x31, 0x9e, 0x42, 0xe8, 0x0c, 0xae, 0x21, 0x81, 0xff, 0xc8, 0x5e, 0x6c,
2573 0x60, 0xfb, 0x09, 0x88,
2574 ],
2575 Elements::NewIssuanceContract => [
2576 0xdb, 0x64, 0x80, 0x8c, 0x3f, 0xf4, 0x48, 0x80, 0xd7, 0x2b, 0xc2, 0x95, 0xd9, 0xac,
2577 0x06, 0x43, 0xe5, 0x14, 0x04, 0xde, 0x53, 0x98, 0xad, 0x9e, 0x93, 0x1b, 0xd3, 0xd2,
2578 0xad, 0xbc, 0xa6, 0xc4,
2579 ],
2580 Elements::NonceHash => [
2581 0xfb, 0x1e, 0x03, 0x44, 0xdc, 0xda, 0xf9, 0xdb, 0x91, 0xb9, 0x87, 0xe8, 0xf9, 0x66,
2582 0x10, 0x67, 0x9f, 0x05, 0xde, 0xb2, 0x06, 0xb4, 0x01, 0x05, 0x75, 0x02, 0xa4, 0x84,
2583 0xaa, 0x87, 0xf8, 0xbf,
2584 ],
2585 Elements::NumInputs => [
2586 0xb2, 0x28, 0x8e, 0xba, 0xad, 0xcb, 0xcf, 0xce, 0x1c, 0x63, 0x19, 0x64, 0xc8, 0x6b,
2587 0x12, 0x7d, 0x6f, 0x91, 0xdc, 0x65, 0x7c, 0x59, 0xa7, 0xfb, 0x45, 0x3e, 0x91, 0x11,
2588 0xd8, 0x74, 0x81, 0xf5,
2589 ],
2590 Elements::NumOutputs => [
2591 0x26, 0x7d, 0x41, 0x65, 0x44, 0x93, 0x90, 0x3e, 0x02, 0x57, 0x75, 0x1a, 0xe6, 0xd4,
2592 0x2d, 0x9c, 0xe1, 0xbb, 0x92, 0x24, 0x6d, 0x0e, 0xf7, 0x67, 0xc3, 0x37, 0xb0, 0xc3,
2593 0x2b, 0x19, 0x72, 0xfd,
2594 ],
2595 Elements::One16 => [
2596 0x3f, 0x9f, 0x8d, 0xd1, 0x4c, 0x46, 0xee, 0x02, 0x47, 0x15, 0x57, 0x92, 0x9a, 0xc2,
2597 0xbb, 0x6c, 0x1a, 0xca, 0x00, 0x52, 0x1d, 0x8a, 0xfa, 0xf0, 0xdc, 0xd9, 0xf2, 0xca,
2598 0x7f, 0x31, 0xe6, 0x04,
2599 ],
2600 Elements::One32 => [
2601 0x47, 0x8d, 0xc3, 0x9d, 0xc3, 0x99, 0x5e, 0x2e, 0xdb, 0x7e, 0xc6, 0x74, 0x65, 0x6c,
2602 0xae, 0x79, 0x8f, 0x52, 0xe5, 0x72, 0x92, 0x61, 0x74, 0xa6, 0x68, 0xcc, 0x97, 0xbc,
2603 0xa4, 0x48, 0xd1, 0xcc,
2604 ],
2605 Elements::One64 => [
2606 0xa3, 0x92, 0xce, 0xfc, 0x0d, 0xa5, 0x3c, 0x65, 0xae, 0xe6, 0x12, 0xf5, 0xc6, 0x81,
2607 0x6c, 0xa8, 0x92, 0xfc, 0x15, 0x6d, 0x43, 0x71, 0x48, 0x76, 0xb3, 0xa0, 0x05, 0x68,
2608 0xe1, 0xba, 0x3e, 0xba,
2609 ],
2610 Elements::One8 => [
2611 0xff, 0x59, 0x4e, 0x22, 0xbf, 0xd7, 0x58, 0x13, 0xc0, 0x56, 0xe0, 0xa2, 0x34, 0xed,
2612 0x12, 0xfa, 0x82, 0x87, 0xd1, 0xd5, 0x31, 0x6f, 0x23, 0x90, 0x2b, 0xf0, 0x79, 0xdb,
2613 0xcc, 0x4f, 0x4e, 0xa8,
2614 ],
2615 Elements::Or1 => [
2616 0x9b, 0xf5, 0x91, 0x74, 0x41, 0x0a, 0x80, 0x9d, 0x3d, 0xa2, 0xb5, 0x8c, 0x7e, 0x0d,
2617 0x05, 0xc5, 0x5c, 0xec, 0x38, 0xbd, 0xaa, 0x5f, 0xca, 0xc3, 0x82, 0xa3, 0x11, 0x77,
2618 0x0e, 0xe0, 0xeb, 0x38,
2619 ],
2620 Elements::Or16 => [
2621 0xdd, 0x9a, 0x31, 0x93, 0xd6, 0x19, 0xd9, 0x59, 0xfa, 0x0b, 0x6d, 0x8b, 0x47, 0xaf,
2622 0x78, 0x54, 0xf7, 0xe0, 0x46, 0x7b, 0xa3, 0x59, 0x01, 0xce, 0x43, 0xd8, 0x00, 0xfc,
2623 0xaf, 0x73, 0x0f, 0xf9,
2624 ],
2625 Elements::Or32 => [
2626 0x9a, 0x01, 0x9f, 0x07, 0xdf, 0x49, 0x96, 0xb3, 0x3e, 0x64, 0x7f, 0x4d, 0xe7, 0xe5,
2627 0x6c, 0x1d, 0x8f, 0x03, 0x26, 0x9c, 0xbf, 0xa3, 0xc7, 0x58, 0x2c, 0xfe, 0x80, 0x8e,
2628 0x90, 0x98, 0x70, 0xb7,
2629 ],
2630 Elements::Or64 => [
2631 0xc2, 0x4f, 0x35, 0x80, 0x05, 0xf8, 0x03, 0x77, 0x2b, 0x1c, 0x3e, 0x43, 0x9c, 0xf1,
2632 0xb7, 0x09, 0xbd, 0x9f, 0x4d, 0x42, 0x52, 0x75, 0x91, 0x30, 0x3a, 0x36, 0xf6, 0xb1,
2633 0xc3, 0xcf, 0x29, 0xcc,
2634 ],
2635 Elements::Or8 => [
2636 0x84, 0xb5, 0x36, 0x89, 0xf2, 0x1d, 0x4e, 0x69, 0x7d, 0x0f, 0xe8, 0x98, 0x8c, 0xe7,
2637 0x36, 0xab, 0x72, 0xc9, 0xc8, 0x6f, 0x84, 0x75, 0x89, 0xda, 0xa9, 0xae, 0x6a, 0x78,
2638 0x46, 0x30, 0xe6, 0x20,
2639 ],
2640 Elements::OutpointHash => [
2641 0x8d, 0x2a, 0x5a, 0xa0, 0x6e, 0x98, 0xc4, 0x1b, 0x30, 0xfd, 0x07, 0x03, 0xe5, 0xe5,
2642 0x4c, 0x86, 0xb4, 0x2b, 0xee, 0x33, 0xbc, 0x89, 0xcb, 0x60, 0x93, 0xcd, 0xb0, 0x94,
2643 0x05, 0xa7, 0x2d, 0x9d,
2644 ],
2645 Elements::OutputAmount => [
2646 0x55, 0xe4, 0x13, 0x99, 0x21, 0x69, 0x40, 0x8e, 0x33, 0x8e, 0x11, 0xa8, 0xd7, 0xbe,
2647 0x60, 0x2b, 0x3e, 0xc9, 0x51, 0x1e, 0x7e, 0xb6, 0x91, 0xdf, 0x32, 0xd9, 0x79, 0x7a,
2648 0x63, 0x95, 0xa1, 0xa1,
2649 ],
2650 Elements::OutputAmountsHash => [
2651 0x40, 0x23, 0x69, 0x63, 0xe1, 0x0e, 0xf8, 0xad, 0x9c, 0xb6, 0xe0, 0xa7, 0xc7, 0x9a,
2652 0xc8, 0x66, 0x0d, 0x2f, 0xc1, 0xa5, 0x7f, 0xef, 0xf8, 0x85, 0x15, 0xa7, 0x85, 0x27,
2653 0x91, 0xb1, 0x86, 0xcb,
2654 ],
2655 Elements::OutputAsset => [
2656 0x57, 0x5a, 0x49, 0xba, 0xb2, 0x1f, 0xfe, 0xe8, 0xe5, 0xbd, 0x00, 0xed, 0xce, 0x32,
2657 0x40, 0x61, 0x04, 0xa0, 0x5d, 0xde, 0xf5, 0xfc, 0x31, 0xa1, 0xa6, 0x45, 0xb1, 0x29,
2658 0x54, 0x8c, 0x8f, 0x3e,
2659 ],
2660 Elements::OutputHash => [
2661 0x7c, 0xb1, 0x7f, 0x8f, 0xc7, 0xa1, 0xae, 0x4e, 0xfc, 0xe3, 0x0a, 0x14, 0x54, 0xe5,
2662 0x2f, 0x85, 0x85, 0x21, 0x3c, 0xd0, 0xf3, 0x67, 0xa1, 0x27, 0xac, 0x27, 0xbb, 0x97,
2663 0x66, 0xea, 0x9e, 0xee,
2664 ],
2665 Elements::OutputIsFee => [
2666 0x9f, 0xbb, 0xe8, 0xae, 0xbd, 0xed, 0xd5, 0x77, 0xae, 0x46, 0x62, 0x80, 0xa9, 0x9b,
2667 0x67, 0xb7, 0x34, 0x32, 0x87, 0xef, 0x34, 0x06, 0x92, 0x53, 0x4a, 0x00, 0x98, 0x03,
2668 0x15, 0xe5, 0x17, 0x72,
2669 ],
2670 Elements::OutputNonce => [
2671 0x71, 0x75, 0xfd, 0x99, 0xa2, 0xba, 0xa1, 0xc3, 0xaf, 0xaa, 0xf7, 0xfa, 0xbd, 0xaa,
2672 0x67, 0xc2, 0xc8, 0x27, 0x48, 0x3b, 0xc8, 0xa0, 0xb9, 0x76, 0x50, 0xcb, 0x79, 0x42,
2673 0xea, 0x29, 0x5a, 0x18,
2674 ],
2675 Elements::OutputNoncesHash => [
2676 0x50, 0xf1, 0x87, 0x66, 0xde, 0x98, 0x28, 0xdb, 0x0a, 0x8c, 0x41, 0xd7, 0xbe, 0xb8,
2677 0x40, 0xf7, 0x7b, 0xc6, 0xe1, 0x21, 0xff, 0x12, 0x3d, 0x54, 0x96, 0xf1, 0xea, 0x0d,
2678 0x6a, 0x78, 0xb8, 0x3a,
2679 ],
2680 Elements::OutputNullDatum => [
2681 0x38, 0xa5, 0xa7, 0xe8, 0x61, 0xb3, 0xb3, 0x6c, 0xce, 0x68, 0x3a, 0x77, 0x2d, 0xb0,
2682 0xc8, 0x62, 0x8b, 0x7f, 0xd3, 0xb4, 0xcf, 0x8e, 0x7b, 0xce, 0x70, 0x75, 0x8f, 0xa6,
2683 0xf6, 0xf1, 0x47, 0xbf,
2684 ],
2685 Elements::OutputRangeProof => [
2686 0x6f, 0xf9, 0xef, 0x3d, 0xac, 0x50, 0x43, 0x10, 0xdf, 0xbc, 0x60, 0x56, 0x1d, 0x2a,
2687 0xdd, 0xeb, 0x44, 0x93, 0x2f, 0x77, 0x7e, 0x7f, 0x13, 0xad, 0xf0, 0x77, 0x4e, 0xb6,
2688 0xb1, 0x4d, 0xf9, 0x66,
2689 ],
2690 Elements::OutputRangeProofsHash => [
2691 0x0d, 0x7d, 0x8a, 0xc9, 0x7a, 0xf9, 0x53, 0x9a, 0xbb, 0xa6, 0x4d, 0x81, 0x04, 0xd1,
2692 0x7e, 0x97, 0x08, 0x54, 0x67, 0x7c, 0x27, 0x46, 0x1d, 0x25, 0xdf, 0x21, 0xa7, 0xf6,
2693 0xb6, 0x62, 0x08, 0x1e,
2694 ],
2695 Elements::OutputScriptHash => [
2696 0x2f, 0x51, 0x39, 0x26, 0x6f, 0x14, 0x3a, 0x33, 0xe1, 0x66, 0x8e, 0x59, 0x4f, 0x43,
2697 0xe8, 0xd1, 0x39, 0x44, 0x07, 0xe3, 0xa9, 0xb8, 0xb8, 0x02, 0xb3, 0x9a, 0x5e, 0x1e,
2698 0xdc, 0x54, 0xe8, 0x51,
2699 ],
2700 Elements::OutputScriptsHash => [
2701 0x21, 0x33, 0x3a, 0xc9, 0x58, 0xa4, 0xeb, 0xfd, 0x5e, 0xab, 0x79, 0x56, 0xdb, 0x73,
2702 0xed, 0x03, 0x26, 0x94, 0x26, 0xaf, 0x8d, 0x7d, 0x24, 0x98, 0xde, 0x57, 0xee, 0xf6,
2703 0x87, 0x04, 0xfb, 0x0a,
2704 ],
2705 Elements::OutputSurjectionProof => [
2706 0x09, 0x16, 0x60, 0x08, 0x1d, 0x52, 0xc3, 0x3f, 0x17, 0xa9, 0x56, 0xbd, 0xda, 0xc6,
2707 0x2a, 0xa2, 0xd2, 0xed, 0x92, 0x8f, 0x8c, 0xff, 0xef, 0x4c, 0xf8, 0xdb, 0xb6, 0x97,
2708 0xb1, 0x53, 0xaa, 0x65,
2709 ],
2710 Elements::OutputSurjectionProofsHash => [
2711 0x36, 0x30, 0xb5, 0x20, 0x83, 0x02, 0x64, 0x1b, 0xf1, 0x9c, 0x4b, 0xf5, 0xca, 0x04,
2712 0x7a, 0xc3, 0xeb, 0x7a, 0xf5, 0x4d, 0x5d, 0x3f, 0x5b, 0xf8, 0xf1, 0xd4, 0x13, 0x12,
2713 0x49, 0x9d, 0x63, 0x84,
2714 ],
2715 Elements::OutputsHash => [
2716 0x95, 0xb3, 0x51, 0x1a, 0xea, 0x00, 0xd0, 0x43, 0xa4, 0xe0, 0x28, 0xb2, 0x5a, 0x17,
2717 0x1c, 0x74, 0x2e, 0xc2, 0xff, 0x7a, 0xd3, 0xa7, 0xdf, 0x2f, 0x1f, 0x6e, 0xda, 0xd0,
2718 0x8b, 0xad, 0x2b, 0x69,
2719 ],
2720 Elements::ParseLock => [
2721 0x3d, 0x38, 0x36, 0xfd, 0x30, 0x85, 0xc1, 0xfb, 0xac, 0x6c, 0xd5, 0xfa, 0x0d, 0xbf,
2722 0x4a, 0x3f, 0xb2, 0x55, 0x45, 0x93, 0x17, 0xa2, 0x66, 0xd6, 0xd6, 0xf7, 0x38, 0x2b,
2723 0xb0, 0x5f, 0x07, 0xad,
2724 ],
2725 Elements::ParseSequence => [
2726 0x74, 0xf3, 0x5c, 0x01, 0x9e, 0xf5, 0x14, 0xb7, 0x0a, 0xb0, 0x08, 0xbf, 0x2a, 0x12,
2727 0x6d, 0xe7, 0xe0, 0x0f, 0x6e, 0x3c, 0xcd, 0x28, 0x5d, 0x51, 0xdb, 0xd3, 0xac, 0x71,
2728 0xbe, 0xa9, 0xc8, 0x8d,
2729 ],
2730 Elements::PointVerify1 => [
2731 0x90, 0xa3, 0xd6, 0x69, 0xb0, 0x0d, 0xa7, 0x95, 0xef, 0xb2, 0xbe, 0xd8, 0xc3, 0x70,
2732 0xc9, 0xe3, 0xea, 0x0f, 0x19, 0xc4, 0x1c, 0x7c, 0xf2, 0x3e, 0x49, 0x2e, 0x33, 0x17,
2733 0x1a, 0x47, 0xf5, 0xff,
2734 ],
2735 Elements::ReissuanceBlinding => [
2736 0xeb, 0x6e, 0x58, 0x1e, 0x20, 0xba, 0x0b, 0xab, 0xe9, 0x04, 0xc8, 0xda, 0x71, 0xa8,
2737 0x1f, 0x7c, 0x88, 0xb9, 0xcf, 0x4f, 0x42, 0xd7, 0x8b, 0x54, 0x0c, 0x1b, 0x39, 0x8c,
2738 0x3f, 0x10, 0x5c, 0xcc,
2739 ],
2740 Elements::ReissuanceEntropy => [
2741 0xd1, 0xd2, 0x2c, 0x49, 0x7f, 0x12, 0x9c, 0x6d, 0x6f, 0xdb, 0xe4, 0x91, 0x36, 0x4a,
2742 0x35, 0x13, 0xbc, 0xd6, 0x6e, 0x15, 0x61, 0x8c, 0xbb, 0xe2, 0xe5, 0x07, 0x39, 0xbd,
2743 0x83, 0x4d, 0xb7, 0xf8,
2744 ],
2745 Elements::RightExtend16_32 => [
2746 0x78, 0x07, 0x16, 0xd3, 0xe8, 0x29, 0x1a, 0x51, 0xe4, 0x5a, 0xda, 0x50, 0x55, 0x8e,
2747 0xfe, 0x41, 0x1c, 0x47, 0x5c, 0x08, 0x5e, 0xec, 0x5a, 0x28, 0xad, 0x97, 0x91, 0xc3,
2748 0x12, 0xfe, 0xe2, 0xbc,
2749 ],
2750 Elements::RightExtend16_64 => [
2751 0xc7, 0x70, 0x49, 0x7e, 0x45, 0x23, 0x08, 0xeb, 0xf5, 0x2e, 0x51, 0xb0, 0x58, 0x5e,
2752 0x91, 0x51, 0xe0, 0xff, 0xc3, 0x50, 0x86, 0xab, 0x77, 0x2d, 0x72, 0x41, 0x53, 0x2a,
2753 0x1b, 0xe1, 0x5e, 0x07,
2754 ],
2755 Elements::RightExtend32_64 => [
2756 0x42, 0xb4, 0x3a, 0xdc, 0x74, 0xb5, 0x26, 0x6c, 0x91, 0xd7, 0x3d, 0xf4, 0x91, 0xdc,
2757 0xae, 0x59, 0x73, 0x88, 0x04, 0xeb, 0x44, 0x0b, 0x23, 0xda, 0x32, 0x75, 0x30, 0x48,
2758 0x74, 0x86, 0xb7, 0xe8,
2759 ],
2760 Elements::RightExtend8_16 => [
2761 0xbc, 0xb2, 0x68, 0x3a, 0x8c, 0xb8, 0xb8, 0xc2, 0x35, 0xfa, 0xa8, 0x96, 0xa9, 0xc0,
2762 0x69, 0xe1, 0xb5, 0x5b, 0xb0, 0x55, 0x8e, 0x73, 0x9e, 0x70, 0xe2, 0x89, 0x14, 0x21,
2763 0x1e, 0x32, 0x75, 0xc8,
2764 ],
2765 Elements::RightExtend8_32 => [
2766 0x6d, 0xdb, 0x55, 0x48, 0xfd, 0x58, 0x3c, 0xd2, 0xd3, 0x58, 0x6e, 0x6b, 0x8b, 0xf9,
2767 0x95, 0x24, 0x6b, 0x61, 0x93, 0x4f, 0x49, 0x76, 0x44, 0x67, 0x77, 0xdd, 0x57, 0x40,
2768 0xb3, 0x19, 0xe4, 0x62,
2769 ],
2770 Elements::RightExtend8_64 => [
2771 0xda, 0x4f, 0x9c, 0x21, 0x45, 0x51, 0x26, 0x82, 0x07, 0x58, 0xa2, 0xe4, 0xb5, 0x3f,
2772 0xce, 0xb4, 0x52, 0x3e, 0x6e, 0x7a, 0x29, 0x23, 0xa1, 0xa1, 0x61, 0xfc, 0x37, 0x89,
2773 0x2a, 0xc8, 0xda, 0x2a,
2774 ],
2775 Elements::RightPadHigh16_32 => [
2776 0x3e, 0x4e, 0x5e, 0x9e, 0x71, 0xe1, 0x37, 0xa2, 0x68, 0x63, 0x43, 0xe0, 0x5a, 0xc5,
2777 0x63, 0x16, 0xac, 0xfc, 0x58, 0x99, 0x1c, 0xb3, 0x8d, 0xb1, 0xb3, 0x23, 0x44, 0x13,
2778 0xf7, 0x30, 0xa1, 0x42,
2779 ],
2780 Elements::RightPadHigh16_64 => [
2781 0xde, 0x09, 0xdf, 0x9d, 0x43, 0xdd, 0xad, 0x2d, 0x69, 0x12, 0x04, 0x98, 0x6c, 0xf0,
2782 0x81, 0x9d, 0x6b, 0x80, 0x45, 0xbc, 0xa4, 0x14, 0xd8, 0x0a, 0xf2, 0x16, 0x28, 0x92,
2783 0xa9, 0x25, 0x7e, 0xad,
2784 ],
2785 Elements::RightPadHigh1_16 => [
2786 0xff, 0x12, 0x97, 0xd8, 0x78, 0xe2, 0x6e, 0x19, 0x59, 0xbc, 0xc7, 0xe8, 0xae, 0xf9,
2787 0x7a, 0xc0, 0xb6, 0x5a, 0xdc, 0x39, 0x92, 0x3e, 0xc6, 0x50, 0x5e, 0x50, 0xf9, 0x83,
2788 0x05, 0x73, 0x3b, 0x6c,
2789 ],
2790 Elements::RightPadHigh1_32 => [
2791 0x28, 0x3f, 0x8a, 0xfb, 0x41, 0x38, 0x2d, 0x2b, 0xe1, 0x8f, 0x8a, 0x77, 0xc3, 0x14,
2792 0xba, 0x17, 0x76, 0xcb, 0x80, 0xc8, 0xec, 0x36, 0xca, 0x12, 0xaa, 0x67, 0xb3, 0x2b,
2793 0xb6, 0x4e, 0xd8, 0x43,
2794 ],
2795 Elements::RightPadHigh1_64 => [
2796 0xa3, 0x42, 0x35, 0x28, 0x60, 0xa3, 0x35, 0x0d, 0x79, 0xc3, 0xe9, 0xfc, 0x7a, 0x4a,
2797 0xb3, 0x78, 0x9b, 0x8b, 0x02, 0x97, 0x85, 0x6f, 0xd1, 0x69, 0xca, 0x4d, 0x7d, 0xe2,
2798 0x5f, 0x7d, 0x7c, 0xc4,
2799 ],
2800 Elements::RightPadHigh1_8 => [
2801 0x71, 0x03, 0xc0, 0xfe, 0x00, 0xf5, 0x22, 0xa2, 0x21, 0x6c, 0x4a, 0x6b, 0xe5, 0xf7,
2802 0xe0, 0xeb, 0x4d, 0x70, 0x3c, 0xa7, 0x8f, 0x9c, 0x59, 0x8f, 0x6b, 0x3d, 0xfd, 0xe4,
2803 0x37, 0xd8, 0x0c, 0x84,
2804 ],
2805 Elements::RightPadHigh32_64 => [
2806 0x5d, 0xc9, 0x10, 0x7d, 0x45, 0x34, 0x95, 0x8c, 0xe4, 0x42, 0x27, 0x67, 0x56, 0x3a,
2807 0x03, 0x1a, 0x38, 0x0f, 0x60, 0xd3, 0x83, 0x71, 0x48, 0xab, 0x3c, 0x8c, 0xc9, 0xc4,
2808 0xc7, 0xd9, 0x96, 0xa2,
2809 ],
2810 Elements::RightPadHigh8_16 => [
2811 0xc0, 0xe2, 0xfd, 0x46, 0xf7, 0x88, 0x3b, 0x12, 0x85, 0xa6, 0xf1, 0xa1, 0xdb, 0x96,
2812 0xd9, 0x3c, 0x25, 0x48, 0x04, 0x0f, 0xcd, 0x3f, 0x5c, 0x23, 0xfb, 0xb2, 0x0b, 0x5e,
2813 0x83, 0x03, 0x7c, 0x96,
2814 ],
2815 Elements::RightPadHigh8_32 => [
2816 0x29, 0x1e, 0x62, 0x77, 0x08, 0x52, 0x0c, 0x2c, 0xa6, 0xae, 0xce, 0x32, 0xa8, 0x77,
2817 0xb7, 0x78, 0x49, 0xc4, 0xa7, 0xa2, 0x13, 0xcb, 0x89, 0xe1, 0xbd, 0xa7, 0xc5, 0xc5,
2818 0xfe, 0x75, 0x5f, 0x73,
2819 ],
2820 Elements::RightPadHigh8_64 => [
2821 0x6b, 0x6f, 0xa2, 0x37, 0x2e, 0xd2, 0x5e, 0x4a, 0x34, 0xd4, 0xae, 0x17, 0x23, 0x42,
2822 0xad, 0xbb, 0x25, 0x9b, 0xe8, 0x98, 0x76, 0x00, 0xdb, 0x19, 0x2e, 0xcb, 0x8d, 0xa4,
2823 0x34, 0xb9, 0xd8, 0x8f,
2824 ],
2825 Elements::RightPadLow16_32 => [
2826 0x77, 0x31, 0xd5, 0x60, 0xd3, 0x75, 0x92, 0xd1, 0xa3, 0x1f, 0x73, 0x62, 0x96, 0x7a,
2827 0xb2, 0xe4, 0x75, 0x92, 0xac, 0xa6, 0xe9, 0x2a, 0xb8, 0x58, 0x82, 0x37, 0x92, 0xda,
2828 0xe5, 0xd2, 0xdb, 0x52,
2829 ],
2830 Elements::RightPadLow16_64 => [
2831 0x0f, 0xe1, 0xc0, 0xdb, 0x9d, 0x4a, 0x2d, 0x63, 0xe2, 0xba, 0x4a, 0x33, 0x11, 0x7a,
2832 0xad, 0xba, 0x64, 0x51, 0x4a, 0x2b, 0x87, 0xa7, 0xa4, 0xe7, 0x93, 0xfa, 0xac, 0xfe,
2833 0x6b, 0x36, 0x34, 0x47,
2834 ],
2835 Elements::RightPadLow1_16 => [
2836 0x79, 0x14, 0xc8, 0xf2, 0x22, 0x47, 0xc2, 0xc3, 0x4b, 0x9c, 0x84, 0xe9, 0x2d, 0x14,
2837 0x44, 0xae, 0xc2, 0xe1, 0x7a, 0x0e, 0xf5, 0x86, 0xba, 0xb2, 0x78, 0x8e, 0xe6, 0xef,
2838 0x68, 0x84, 0x0d, 0x98,
2839 ],
2840 Elements::RightPadLow1_32 => [
2841 0x31, 0xb6, 0xce, 0x26, 0xe5, 0x59, 0xf7, 0x6c, 0xf3, 0x66, 0xf4, 0x80, 0x69, 0x85,
2842 0xec, 0xc2, 0x99, 0x55, 0x0f, 0x15, 0xd4, 0xc3, 0xa6, 0x72, 0x9e, 0x29, 0xd7, 0x0e,
2843 0x39, 0x89, 0x56, 0x52,
2844 ],
2845 Elements::RightPadLow1_64 => [
2846 0xc5, 0x52, 0x4a, 0xe6, 0x54, 0x8a, 0xcd, 0x63, 0x08, 0x2d, 0x94, 0x89, 0x3e, 0x18,
2847 0xf9, 0xed, 0xbb, 0x92, 0x31, 0xe7, 0x6b, 0xb4, 0xe1, 0x1b, 0xbf, 0xf6, 0xa7, 0xbd,
2848 0x16, 0xf4, 0xb0, 0x29,
2849 ],
2850 Elements::RightPadLow1_8 => [
2851 0x59, 0xd7, 0x22, 0x70, 0xef, 0x0e, 0x8f, 0x77, 0x0c, 0x8d, 0x11, 0xf3, 0x17, 0x73,
2852 0xf9, 0xb6, 0xe9, 0x0a, 0x4a, 0xec, 0xeb, 0x5b, 0xfb, 0x3d, 0xfe, 0x96, 0x8c, 0x4e,
2853 0x9d, 0xac, 0x5f, 0xe8,
2854 ],
2855 Elements::RightPadLow32_64 => [
2856 0xd4, 0x22, 0x7d, 0x06, 0x6f, 0x18, 0xb9, 0x11, 0xd6, 0xf5, 0xd9, 0xbf, 0xb9, 0xd9,
2857 0xf4, 0x6e, 0x9a, 0xea, 0xdb, 0xbe, 0xfa, 0x34, 0xd4, 0x74, 0x43, 0x2a, 0x1e, 0x78,
2858 0x9e, 0x48, 0x86, 0xff,
2859 ],
2860 Elements::RightPadLow8_16 => [
2861 0xab, 0xa4, 0x7a, 0x53, 0x6e, 0x12, 0x27, 0xe1, 0x22, 0xba, 0xac, 0xf1, 0x9c, 0xfd,
2862 0x28, 0x23, 0xb9, 0xb7, 0x8d, 0x79, 0xcc, 0x06, 0xd3, 0x4c, 0x34, 0x8b, 0x14, 0xa1,
2863 0xa1, 0x5a, 0xbd, 0x64,
2864 ],
2865 Elements::RightPadLow8_32 => [
2866 0x8f, 0x80, 0xa6, 0xc2, 0x74, 0x71, 0x6b, 0x67, 0x22, 0x04, 0x11, 0x34, 0xea, 0x1c,
2867 0x68, 0xaa, 0xbf, 0x02, 0x13, 0x29, 0x8f, 0x4e, 0x18, 0xf8, 0xf4, 0x92, 0xdc, 0x53,
2868 0x80, 0x8a, 0x31, 0x74,
2869 ],
2870 Elements::RightPadLow8_64 => [
2871 0xd6, 0x9c, 0x85, 0xe7, 0xb2, 0xd7, 0xe9, 0x49, 0x43, 0x6c, 0xb1, 0x29, 0x5e, 0x4a,
2872 0xa7, 0x05, 0x57, 0xd7, 0x5e, 0x7c, 0xbd, 0xec, 0x02, 0xcc, 0xa8, 0x5f, 0xbf, 0xb1,
2873 0x33, 0x08, 0xb2, 0x10,
2874 ],
2875 Elements::RightRotate16 => [
2876 0xe5, 0x10, 0x70, 0x82, 0x47, 0xf9, 0x1b, 0x4f, 0x0a, 0x8a, 0x22, 0xa4, 0x46, 0xb8,
2877 0x13, 0x7d, 0x0d, 0x42, 0xbe, 0xe7, 0x4c, 0x8c, 0x1e, 0xdd, 0x6d, 0x44, 0x6e, 0xdb,
2878 0x20, 0x13, 0xb5, 0x98,
2879 ],
2880 Elements::RightRotate32 => [
2881 0x98, 0x91, 0x57, 0x31, 0x41, 0x29, 0x22, 0xdb, 0xc5, 0x16, 0xa7, 0x37, 0x3a, 0xfc,
2882 0x4d, 0xe6, 0x48, 0x09, 0xf8, 0x3b, 0x26, 0x4b, 0xcf, 0xca, 0x6a, 0xe7, 0x48, 0x83,
2883 0xdb, 0xe1, 0x04, 0xd6,
2884 ],
2885 Elements::RightRotate64 => [
2886 0x9e, 0x2f, 0xb9, 0x8a, 0xdf, 0x10, 0x29, 0x33, 0x9d, 0xbe, 0x45, 0xa2, 0x2a, 0x54,
2887 0xa3, 0x90, 0xca, 0x09, 0x86, 0xed, 0xce, 0xa3, 0x2e, 0xac, 0xb8, 0x2e, 0xbc, 0xc8,
2888 0x94, 0xa2, 0x71, 0x1a,
2889 ],
2890 Elements::RightRotate8 => [
2891 0x00, 0xc7, 0xc2, 0x6d, 0x95, 0xa5, 0x0b, 0x5a, 0xf9, 0x34, 0x9f, 0xfe, 0x47, 0xe1,
2892 0xd4, 0x3f, 0x3d, 0x76, 0x1f, 0x17, 0xa7, 0x45, 0x3c, 0x98, 0x47, 0x91, 0xe8, 0x7d,
2893 0xc6, 0xa3, 0x11, 0xc8,
2894 ],
2895 Elements::RightShift16 => [
2896 0x8b, 0x5e, 0x0f, 0xeb, 0x95, 0x81, 0x30, 0xf0, 0x50, 0x83, 0x32, 0x15, 0x9e, 0x54,
2897 0xc2, 0xdf, 0x98, 0xaf, 0x83, 0x52, 0x1a, 0xca, 0xb3, 0x08, 0x4f, 0xd4, 0xf7, 0xc3,
2898 0xa2, 0xcc, 0xea, 0x77,
2899 ],
2900 Elements::RightShift32 => [
2901 0x4b, 0x1f, 0x25, 0x80, 0xe0, 0x85, 0x0d, 0x38, 0xe2, 0xa1, 0x15, 0x73, 0x38, 0x05,
2902 0x2f, 0x1c, 0x37, 0x9f, 0x9d, 0x81, 0x57, 0xf6, 0x2d, 0x33, 0x89, 0x0a, 0xf2, 0x4f,
2903 0xd9, 0xa7, 0xf7, 0x3e,
2904 ],
2905 Elements::RightShift64 => [
2906 0x91, 0xa2, 0x97, 0xd7, 0xb5, 0x8a, 0x39, 0x3b, 0xf5, 0x90, 0x25, 0x94, 0x77, 0x47,
2907 0xc8, 0x6d, 0xd4, 0x87, 0x65, 0x9c, 0xc5, 0x6f, 0xb5, 0xa6, 0xf6, 0x43, 0x99, 0x55,
2908 0x12, 0x9a, 0x95, 0x63,
2909 ],
2910 Elements::RightShift8 => [
2911 0xa4, 0xc3, 0x54, 0x6f, 0xf2, 0x7e, 0x56, 0xd6, 0x4e, 0x91, 0x8a, 0xb2, 0xfa, 0x6d,
2912 0x00, 0xfc, 0x27, 0x04, 0x58, 0x5b, 0x25, 0xbd, 0xe0, 0x04, 0x9d, 0x6d, 0x8f, 0x48,
2913 0xd8, 0xcf, 0x1c, 0xd0,
2914 ],
2915 Elements::RightShiftWith16 => [
2916 0xfd, 0x97, 0x70, 0x30, 0xe3, 0xa2, 0x5a, 0x32, 0xe7, 0x75, 0xb8, 0xd5, 0xe8, 0x71,
2917 0x74, 0xa7, 0xa9, 0xe8, 0x73, 0x1e, 0xc3, 0x6c, 0xf1, 0x32, 0x64, 0x20, 0xad, 0x91,
2918 0x50, 0x2e, 0x6e, 0x98,
2919 ],
2920 Elements::RightShiftWith32 => [
2921 0x28, 0x29, 0xba, 0x02, 0x1f, 0x54, 0x07, 0x7a, 0xff, 0xb6, 0x6a, 0xc6, 0xb6, 0xdf,
2922 0xd3, 0xfe, 0xf3, 0x8b, 0xc4, 0x14, 0x91, 0x84, 0x5a, 0x41, 0xce, 0x9d, 0xd3, 0x70,
2923 0x58, 0x6c, 0x2d, 0x04,
2924 ],
2925 Elements::RightShiftWith64 => [
2926 0x00, 0x6f, 0xa3, 0xc5, 0x45, 0x79, 0x75, 0x47, 0x86, 0xfc, 0x64, 0xdc, 0x32, 0xe1,
2927 0x9a, 0x22, 0x5c, 0xc1, 0x52, 0xc9, 0x4d, 0xee, 0xb3, 0xc6, 0xab, 0x29, 0x67, 0xdd,
2928 0xbf, 0xc6, 0x46, 0x53,
2929 ],
2930 Elements::RightShiftWith8 => [
2931 0xfc, 0xb5, 0xbe, 0x65, 0x07, 0xf0, 0xca, 0x44, 0xbe, 0x2b, 0xe1, 0xcc, 0x3c, 0x3c,
2932 0xfe, 0x39, 0x94, 0x40, 0x4b, 0x80, 0x83, 0xbd, 0x76, 0x02, 0xb2, 0x10, 0x2c, 0xb1,
2933 0xfc, 0xfa, 0x2c, 0x61,
2934 ],
2935 Elements::Rightmost16_1 => [
2936 0x3f, 0x3c, 0x43, 0x46, 0x87, 0x17, 0x42, 0x26, 0x5e, 0x87, 0xf0, 0x01, 0xb4, 0x6d,
2937 0xe7, 0xd1, 0x98, 0x75, 0x1b, 0x34, 0xfa, 0xa1, 0x80, 0x18, 0xde, 0x60, 0xc8, 0x46,
2938 0x8d, 0x9b, 0x98, 0xa4,
2939 ],
2940 Elements::Rightmost16_2 => [
2941 0x78, 0xf1, 0x71, 0x47, 0x6a, 0x3b, 0x0e, 0xd1, 0xe3, 0xa5, 0x45, 0x5a, 0x5f, 0xbb,
2942 0xcc, 0x90, 0x19, 0x81, 0xb3, 0x23, 0x0f, 0xea, 0x12, 0x64, 0x20, 0x4d, 0xac, 0xd0,
2943 0x81, 0xf9, 0x40, 0x80,
2944 ],
2945 Elements::Rightmost16_4 => [
2946 0x75, 0xa1, 0xdf, 0xb6, 0xae, 0x2c, 0x06, 0x6b, 0x2d, 0x0e, 0x20, 0x93, 0x04, 0x8a,
2947 0xdb, 0xc5, 0x0d, 0x46, 0x50, 0x65, 0x6f, 0xb2, 0xd3, 0x57, 0x8b, 0x57, 0xd9, 0xde,
2948 0x4c, 0x61, 0xc8, 0xb5,
2949 ],
2950 Elements::Rightmost16_8 => [
2951 0xee, 0x76, 0x9c, 0x1c, 0xc8, 0xa3, 0xfd, 0xd1, 0x83, 0x8f, 0xc9, 0xf0, 0x49, 0x0c,
2952 0xe7, 0x03, 0x93, 0xfd, 0x91, 0xba, 0x3c, 0xbd, 0x4a, 0xbd, 0x08, 0x64, 0x9f, 0xb9,
2953 0xc4, 0x43, 0x11, 0xbd,
2954 ],
2955 Elements::Rightmost32_1 => [
2956 0xcb, 0x0d, 0xb5, 0x69, 0xa3, 0x61, 0x86, 0xa2, 0x56, 0x05, 0xa9, 0xd2, 0xe4, 0xe1,
2957 0x0a, 0x20, 0xc1, 0x11, 0xd5, 0x0c, 0x34, 0xf1, 0x72, 0x46, 0x52, 0x0b, 0xc4, 0x54,
2958 0xd8, 0x68, 0x28, 0x36,
2959 ],
2960 Elements::Rightmost32_16 => [
2961 0x06, 0xfa, 0xa3, 0xbe, 0x67, 0x8c, 0xd6, 0xfd, 0xd7, 0xf3, 0x11, 0x2e, 0xbf, 0x2c,
2962 0x48, 0x62, 0x7a, 0xfa, 0x78, 0x75, 0xf7, 0x06, 0x8d, 0x26, 0xa9, 0xcc, 0x04, 0x5b,
2963 0x2c, 0x8f, 0x11, 0xbc,
2964 ],
2965 Elements::Rightmost32_2 => [
2966 0x00, 0xb8, 0x81, 0x5a, 0xd7, 0x42, 0x3d, 0xd5, 0x8c, 0xb9, 0x8b, 0xe8, 0x2c, 0xad,
2967 0x26, 0x67, 0x5c, 0x3b, 0xf5, 0x4a, 0x0b, 0xed, 0xba, 0xde, 0x34, 0x64, 0xb4, 0xfe,
2968 0x5a, 0x4e, 0x8c, 0xe6,
2969 ],
2970 Elements::Rightmost32_4 => [
2971 0x3d, 0xfa, 0x7a, 0x20, 0x19, 0x8e, 0x42, 0xd6, 0xa7, 0x94, 0x8c, 0x8e, 0xd8, 0xe0,
2972 0xd4, 0x7e, 0xc7, 0xc0, 0x00, 0x7b, 0x3d, 0x68, 0x66, 0xca, 0x15, 0xe3, 0xda, 0x04,
2973 0x5b, 0x85, 0x63, 0xc7,
2974 ],
2975 Elements::Rightmost32_8 => [
2976 0x17, 0xb5, 0x8d, 0x6e, 0x30, 0x4b, 0x1c, 0x7e, 0x5d, 0xbf, 0x0c, 0x4d, 0xf6, 0xfc,
2977 0xc8, 0x03, 0xc0, 0x08, 0x94, 0x4c, 0x79, 0x95, 0x55, 0x5b, 0x94, 0xe1, 0x28, 0x9b,
2978 0x25, 0x49, 0xbe, 0x99,
2979 ],
2980 Elements::Rightmost64_1 => [
2981 0x5e, 0x8f, 0xb4, 0x9f, 0xac, 0xe0, 0x34, 0x48, 0x1d, 0xc6, 0x53, 0x61, 0x8e, 0x2a,
2982 0x8b, 0x65, 0xea, 0xf0, 0x99, 0x3f, 0x28, 0x84, 0x4c, 0xc9, 0xb1, 0x30, 0xca, 0xcc,
2983 0xe4, 0x5e, 0x82, 0xde,
2984 ],
2985 Elements::Rightmost64_16 => [
2986 0xc6, 0x4c, 0xa9, 0x96, 0x55, 0x36, 0xf2, 0x37, 0xbc, 0x4d, 0x16, 0x6e, 0x4a, 0xec,
2987 0xa5, 0x6e, 0xac, 0x26, 0x62, 0xe6, 0x3a, 0xcc, 0xb9, 0x8b, 0x6e, 0x54, 0x25, 0x60,
2988 0xf9, 0xe5, 0x38, 0xda,
2989 ],
2990 Elements::Rightmost64_2 => [
2991 0x83, 0xd2, 0xda, 0x6f, 0x34, 0x20, 0xd7, 0x79, 0xbc, 0xb8, 0xf6, 0x0d, 0x0b, 0x69,
2992 0x6e, 0xed, 0x74, 0xc3, 0x1d, 0xb0, 0x8a, 0xdd, 0xbe, 0xbd, 0x12, 0x35, 0xa5, 0xdf,
2993 0x8f, 0x59, 0xc4, 0x2f,
2994 ],
2995 Elements::Rightmost64_32 => [
2996 0x7d, 0x2d, 0xff, 0x6e, 0x3d, 0xd5, 0x04, 0xbb, 0x0e, 0x57, 0x03, 0xa0, 0x33, 0x58,
2997 0x6d, 0x27, 0xd9, 0x66, 0x44, 0xc0, 0x48, 0xab, 0x34, 0xa4, 0x5b, 0xf5, 0x35, 0x12,
2998 0x9d, 0x50, 0x11, 0x67,
2999 ],
3000 Elements::Rightmost64_4 => [
3001 0x84, 0x1b, 0xbd, 0x65, 0x27, 0x42, 0xdd, 0xd3, 0xad, 0xea, 0xe4, 0x3c, 0xfe, 0xd6,
3002 0x32, 0x9f, 0x2f, 0xd6, 0x2e, 0x6f, 0xec, 0xd0, 0xfd, 0x58, 0xe3, 0xc3, 0xfb, 0x8b,
3003 0x5a, 0x0e, 0x4d, 0xd5,
3004 ],
3005 Elements::Rightmost64_8 => [
3006 0xa0, 0xa6, 0x1c, 0x76, 0x58, 0xa1, 0x86, 0x23, 0xbf, 0x1d, 0x01, 0x1a, 0x97, 0x92,
3007 0xd5, 0x18, 0xfb, 0xd0, 0x24, 0x14, 0x2a, 0x90, 0x44, 0x00, 0xec, 0xde, 0xea, 0x92,
3008 0x45, 0x7a, 0x0a, 0x81,
3009 ],
3010 Elements::Rightmost8_1 => [
3011 0x99, 0x9b, 0x68, 0x6e, 0x60, 0xb3, 0xd1, 0xec, 0xd6, 0xc6, 0xd7, 0x7f, 0xbc, 0xa8,
3012 0x2c, 0xb2, 0xab, 0xbd, 0x41, 0x82, 0xc8, 0x21, 0x12, 0x67, 0x47, 0x5f, 0xa0, 0xc1,
3013 0x90, 0x1d, 0x89, 0xf9,
3014 ],
3015 Elements::Rightmost8_2 => [
3016 0x53, 0x07, 0xff, 0xbf, 0x51, 0x6c, 0xd0, 0xee, 0xf3, 0xff, 0x43, 0x87, 0xb9, 0x05,
3017 0x2c, 0x14, 0x4a, 0x4d, 0xfa, 0x23, 0x29, 0x23, 0x7c, 0x6b, 0x27, 0x49, 0x92, 0xb2,
3018 0xc8, 0x04, 0x7b, 0x60,
3019 ],
3020 Elements::Rightmost8_4 => [
3021 0x7f, 0x52, 0xe6, 0x45, 0xbb, 0xbb, 0xd7, 0x92, 0x69, 0xc4, 0x3e, 0xf0, 0x2d, 0xb9,
3022 0x82, 0xf8, 0xc6, 0x36, 0x33, 0xc1, 0x79, 0xe4, 0x06, 0x91, 0x73, 0x93, 0x36, 0x04,
3023 0xcc, 0x63, 0x5b, 0xca,
3024 ],
3025 Elements::ScalarAdd => [
3026 0x34, 0xba, 0xa4, 0x0b, 0x2e, 0x0a, 0xa8, 0xcb, 0x7e, 0x97, 0xc7, 0x3e, 0x3e, 0xd3,
3027 0xb3, 0x65, 0xa1, 0x5b, 0x7c, 0x3f, 0x76, 0x61, 0xfb, 0x19, 0x71, 0x5e, 0xc6, 0x05,
3028 0xc1, 0x14, 0x9d, 0x11,
3029 ],
3030 Elements::ScalarInvert => [
3031 0x62, 0x31, 0xbd, 0xab, 0x73, 0xca, 0x34, 0xea, 0x7e, 0x83, 0x7d, 0xaa, 0xd6, 0x92,
3032 0xed, 0xe5, 0xba, 0xbf, 0xae, 0x09, 0xb5, 0x75, 0x6d, 0x2a, 0xb3, 0x6c, 0x5a, 0x36,
3033 0x47, 0x5a, 0x65, 0x89,
3034 ],
3035 Elements::ScalarIsZero => [
3036 0xf7, 0x5e, 0xda, 0x06, 0xce, 0x6a, 0xf0, 0x9f, 0xae, 0x37, 0xdb, 0x4e, 0x62, 0x25,
3037 0xe6, 0xa8, 0xac, 0x86, 0xa2, 0x36, 0x37, 0x62, 0x7d, 0x62, 0x64, 0x09, 0x19, 0x0f,
3038 0xf3, 0xb3, 0x9d, 0x90,
3039 ],
3040 Elements::ScalarMultiply => [
3041 0xb2, 0xbc, 0xc3, 0x90, 0xd6, 0x37, 0xb9, 0xe0, 0x3f, 0xbf, 0xc4, 0x2f, 0xff, 0x71,
3042 0xd2, 0x2e, 0x72, 0x00, 0xf6, 0x93, 0x29, 0xce, 0xf7, 0x16, 0x9e, 0x68, 0xa8, 0xc7,
3043 0x1a, 0x7f, 0x0a, 0x4b,
3044 ],
3045 Elements::ScalarMultiplyLambda => [
3046 0x89, 0xd5, 0x85, 0x5c, 0x5f, 0x85, 0xc0, 0x03, 0x5d, 0x27, 0xb0, 0xc0, 0x9e, 0x20,
3047 0x33, 0x0b, 0x00, 0x1c, 0x68, 0x4b, 0x59, 0x86, 0xab, 0xce, 0xd8, 0x36, 0x0c, 0xd3,
3048 0x9b, 0x08, 0xc4, 0xe1,
3049 ],
3050 Elements::ScalarNegate => [
3051 0x07, 0x05, 0xac, 0xdf, 0xb8, 0x66, 0x40, 0x00, 0x0e, 0x3d, 0x3b, 0xad, 0x50, 0x9a,
3052 0x14, 0xa7, 0x8c, 0x17, 0x1f, 0x61, 0xed, 0xc0, 0x84, 0x23, 0xb0, 0x42, 0xb9, 0x47,
3053 0x48, 0x43, 0x9c, 0xf8,
3054 ],
3055 Elements::ScalarNormalize => [
3056 0xa0, 0x61, 0xe1, 0x9d, 0x75, 0xc3, 0x25, 0xa2, 0x6d, 0x56, 0x5a, 0xad, 0x7e, 0x3f,
3057 0x9a, 0xe2, 0x6b, 0x22, 0x2f, 0x25, 0xe8, 0x02, 0x17, 0x4f, 0x6b, 0xac, 0xd5, 0x11,
3058 0x27, 0x7a, 0xea, 0xa5,
3059 ],
3060 Elements::ScalarSquare => [
3061 0x49, 0xf7, 0x34, 0xa2, 0x65, 0x9c, 0xa0, 0xab, 0x7c, 0x9e, 0x67, 0xfc, 0xfc, 0x3c,
3062 0x0d, 0x72, 0xaf, 0x0f, 0x91, 0x7c, 0x9e, 0xdc, 0xb9, 0x92, 0x9d, 0x17, 0x7a, 0x0f,
3063 0x0d, 0xe8, 0x9d, 0x59,
3064 ],
3065 Elements::Scale => [
3066 0xc0, 0x45, 0x43, 0xdc, 0x85, 0xef, 0x11, 0x37, 0x4a, 0x93, 0x0f, 0x4a, 0x94, 0x8e,
3067 0xb7, 0x35, 0xa6, 0x50, 0x0a, 0x1a, 0x71, 0x58, 0xd5, 0x73, 0x12, 0x3f, 0x07, 0x21,
3068 0x71, 0x75, 0xf3, 0x18,
3069 ],
3070 Elements::ScriptCMR => [
3071 0xec, 0x15, 0xf5, 0x9c, 0x52, 0x4d, 0x94, 0x14, 0x69, 0x81, 0x19, 0x54, 0x65, 0x4f,
3072 0x63, 0x58, 0x30, 0xec, 0xd7, 0xde, 0x51, 0x76, 0x62, 0xb2, 0x5c, 0xa4, 0xe8, 0xd0,
3073 0x5c, 0x2c, 0xce, 0x89,
3074 ],
3075 Elements::Sha256Block => [
3076 0x0c, 0x97, 0xa0, 0x08, 0xad, 0xe8, 0x7b, 0xb1, 0xe0, 0xac, 0x06, 0xb7, 0xd0, 0x31,
3077 0x30, 0x23, 0x36, 0x28, 0x58, 0xef, 0x90, 0xec, 0x14, 0xec, 0x9c, 0xb9, 0x5f, 0x0d,
3078 0xa9, 0x64, 0xe0, 0x08,
3079 ],
3080 Elements::Sha256Ctx8Add1 => [
3081 0x37, 0x06, 0x6c, 0x67, 0xad, 0x95, 0x24, 0x9d, 0x4b, 0xa6, 0xe1, 0x81, 0x44, 0xca,
3082 0x0a, 0x41, 0x5d, 0x9c, 0x83, 0x2a, 0xa6, 0xb6, 0x06, 0x28, 0xe9, 0x7c, 0x96, 0x7e,
3083 0xb1, 0x79, 0x33, 0x83,
3084 ],
3085 Elements::Sha256Ctx8Add128 => [
3086 0x2d, 0xcf, 0x48, 0x4c, 0x25, 0x7f, 0x67, 0x94, 0x0c, 0xa3, 0x75, 0xba, 0x98, 0xe8,
3087 0x3c, 0xe0, 0xe2, 0xa7, 0x1e, 0x16, 0xda, 0x50, 0x51, 0xd1, 0xbb, 0x19, 0xfb, 0x5f,
3088 0x34, 0x6f, 0x15, 0x4f,
3089 ],
3090 Elements::Sha256Ctx8Add16 => [
3091 0x82, 0x99, 0x25, 0x20, 0x40, 0xcb, 0x39, 0xe3, 0x26, 0xa2, 0x48, 0xd5, 0xc7, 0x88,
3092 0xf9, 0x51, 0x6d, 0x15, 0xa2, 0xff, 0x41, 0x45, 0xbb, 0x64, 0xad, 0x65, 0x77, 0xae,
3093 0x1a, 0x3e, 0xf7, 0x27,
3094 ],
3095 Elements::Sha256Ctx8Add2 => [
3096 0x8b, 0xae, 0x3e, 0x7e, 0x1e, 0xd4, 0xdc, 0xba, 0x6e, 0x64, 0x5a, 0xa1, 0x43, 0x41,
3097 0xbb, 0xae, 0x0d, 0xbb, 0x3a, 0xe2, 0x1b, 0xb6, 0x3d, 0xc0, 0x30, 0xca, 0x0e, 0x44,
3098 0x7a, 0x85, 0x7e, 0xc2,
3099 ],
3100 Elements::Sha256Ctx8Add256 => [
3101 0x44, 0xb7, 0x17, 0xe1, 0x97, 0x09, 0x99, 0xb6, 0x6b, 0x69, 0x3d, 0x8c, 0x9d, 0x1d,
3102 0x3b, 0x06, 0x05, 0xc2, 0xb7, 0xa6, 0x21, 0x3e, 0x6b, 0xa5, 0x6c, 0x69, 0xaf, 0x8d,
3103 0x7f, 0xae, 0x16, 0x86,
3104 ],
3105 Elements::Sha256Ctx8Add32 => [
3106 0x39, 0x23, 0x9a, 0x43, 0xa8, 0x4b, 0xac, 0x6f, 0x29, 0x69, 0xbf, 0xa9, 0x5b, 0xfe,
3107 0x6a, 0x04, 0xfc, 0xba, 0x80, 0x92, 0x89, 0x59, 0x39, 0xf1, 0x2a, 0x1c, 0xe0, 0xe2,
3108 0x63, 0x21, 0xec, 0x10,
3109 ],
3110 Elements::Sha256Ctx8Add4 => [
3111 0xd7, 0xd7, 0x45, 0x61, 0x4b, 0x37, 0xa7, 0xe0, 0x7d, 0xce, 0x22, 0xf6, 0x4e, 0x7b,
3112 0x1e, 0xdf, 0xe2, 0x3b, 0xed, 0xa8, 0x51, 0xf1, 0xe7, 0x6f, 0x1a, 0x6b, 0x02, 0x8f,
3113 0xcc, 0x5e, 0x9f, 0xc0,
3114 ],
3115 Elements::Sha256Ctx8Add512 => [
3116 0xbe, 0x36, 0x80, 0x32, 0xd8, 0x6e, 0xbc, 0xf2, 0x13, 0xca, 0x45, 0xba, 0x6e, 0xca,
3117 0xb5, 0x4c, 0xb1, 0xf2, 0x66, 0x1d, 0x40, 0x3d, 0xa0, 0x59, 0x06, 0x30, 0x0b, 0xc5,
3118 0x11, 0x37, 0xaa, 0xb5,
3119 ],
3120 Elements::Sha256Ctx8Add64 => [
3121 0xfd, 0xc4, 0x34, 0xce, 0x83, 0xdb, 0xdc, 0xe0, 0x78, 0x2a, 0xa3, 0x6d, 0x41, 0x8d,
3122 0xef, 0x7f, 0x99, 0xaf, 0x82, 0x93, 0xaf, 0xb2, 0x9e, 0x83, 0x9f, 0xe4, 0x94, 0x8f,
3123 0x62, 0x34, 0xf7, 0x7f,
3124 ],
3125 Elements::Sha256Ctx8Add8 => [
3126 0x9c, 0x98, 0x83, 0x30, 0x79, 0x9a, 0x68, 0x0b, 0xfe, 0x73, 0xd7, 0xca, 0xa3, 0x68,
3127 0x9f, 0xe4, 0xe4, 0x83, 0xda, 0x4e, 0xe6, 0xd8, 0x18, 0x58, 0x79, 0x27, 0xc7, 0xf4,
3128 0x33, 0x92, 0xde, 0xf7,
3129 ],
3130 Elements::Sha256Ctx8AddBuffer511 => [
3131 0xc0, 0x27, 0xe1, 0x06, 0x29, 0x96, 0xae, 0x94, 0xac, 0x39, 0x71, 0xa2, 0xc4, 0xfa,
3132 0xe5, 0x49, 0x97, 0xeb, 0xf0, 0x9b, 0x9f, 0x7d, 0xa5, 0x75, 0x63, 0x9b, 0xe6, 0x17,
3133 0x16, 0x7f, 0x02, 0xe3,
3134 ],
3135 Elements::Sha256Ctx8Finalize => [
3136 0xcb, 0xba, 0x1f, 0x1d, 0x8a, 0x97, 0xab, 0x4d, 0x1f, 0xa9, 0x68, 0x6e, 0x7a, 0xee,
3137 0xf0, 0x66, 0xfb, 0x5b, 0xf2, 0x90, 0x71, 0x6e, 0xae, 0x10, 0xe7, 0x0b, 0x61, 0x99,
3138 0x96, 0xc5, 0x95, 0x94,
3139 ],
3140 Elements::Sha256Ctx8Init => [
3141 0xa5, 0x3c, 0x76, 0x79, 0xe3, 0xae, 0x03, 0x47, 0xd4, 0xd7, 0x91, 0x26, 0xa7, 0xc7,
3142 0xe4, 0x9a, 0xc0, 0xde, 0xc9, 0x0c, 0xdf, 0x93, 0x57, 0x99, 0xcd, 0xdb, 0x58, 0xda,
3143 0x8f, 0x44, 0x96, 0xe4,
3144 ],
3145 Elements::Sha256Iv => [
3146 0x73, 0x89, 0xf0, 0x02, 0x53, 0x05, 0xdc, 0xe8, 0x28, 0xd4, 0xa1, 0xfe, 0x83, 0x74,
3147 0x30, 0x46, 0xa3, 0x67, 0xc9, 0x23, 0xf1, 0x8a, 0xbf, 0x36, 0x5e, 0x39, 0x1e, 0x5b,
3148 0x04, 0xaf, 0x1a, 0x47,
3149 ],
3150 Elements::SigAllHash => [
3151 0x6a, 0xc5, 0x3d, 0x3f, 0x93, 0xb8, 0xca, 0xf3, 0xea, 0x85, 0x34, 0xae, 0x61, 0x2a,
3152 0xbd, 0x32, 0x32, 0x5d, 0x2b, 0x0f, 0xec, 0x17, 0xde, 0x36, 0xaf, 0x0f, 0x71, 0xaa,
3153 0x97, 0x8f, 0x7c, 0xde,
3154 ],
3155 Elements::Some1 => [
3156 0xfb, 0xda, 0xd6, 0xb0, 0x22, 0xa0, 0xc7, 0x8f, 0xf3, 0x56, 0x04, 0xaa, 0xfa, 0xcd,
3157 0x27, 0xcc, 0x10, 0xf5, 0x1e, 0xe0, 0x69, 0x8c, 0x41, 0xf1, 0xad, 0xa9, 0x03, 0x97,
3158 0x61, 0x8d, 0x52, 0x6f,
3159 ],
3160 Elements::Some16 => [
3161 0x7e, 0x2c, 0xcd, 0xbf, 0xc2, 0x4d, 0xd8, 0xd8, 0xa9, 0x04, 0xb0, 0x17, 0xdd, 0x4f,
3162 0x57, 0xe7, 0xc8, 0x74, 0x96, 0x34, 0x8a, 0xca, 0x7d, 0x04, 0x58, 0xc9, 0xd1, 0x6b,
3163 0x68, 0xbc, 0xda, 0x1c,
3164 ],
3165 Elements::Some32 => [
3166 0x45, 0x36, 0xae, 0xb1, 0x21, 0xc4, 0x27, 0x3f, 0xfc, 0x2a, 0x48, 0xfe, 0xd9, 0xee,
3167 0xd0, 0x31, 0x2e, 0xbd, 0x97, 0x2d, 0xec, 0x56, 0x81, 0xf4, 0x7e, 0xad, 0x0f, 0x62,
3168 0xd9, 0x54, 0x45, 0x2a,
3169 ],
3170 Elements::Some64 => [
3171 0x7f, 0x0b, 0xbd, 0x9d, 0x66, 0x31, 0xc1, 0x30, 0x9f, 0x90, 0x1c, 0x2f, 0x0d, 0x7a,
3172 0x0d, 0x28, 0x4a, 0x34, 0x41, 0x6c, 0xf7, 0x50, 0xdb, 0x1f, 0xe2, 0xb9, 0xf3, 0xd6,
3173 0xed, 0x70, 0x94, 0x09,
3174 ],
3175 Elements::Some8 => [
3176 0x2d, 0x8c, 0x8f, 0x71, 0xee, 0x5e, 0x75, 0x82, 0xf0, 0xed, 0x65, 0xf5, 0x26, 0xc0,
3177 0x26, 0x05, 0xdc, 0xb9, 0x3c, 0x0b, 0xdd, 0xb9, 0x43, 0x3a, 0xff, 0x3f, 0x25, 0xc2,
3178 0x28, 0xac, 0xda, 0x8a,
3179 ],
3180 Elements::Subtract16 => [
3181 0x56, 0x9e, 0x6c, 0x6b, 0x39, 0xe7, 0xd8, 0x12, 0x65, 0x9b, 0x67, 0xaa, 0xc0, 0x8a,
3182 0xd1, 0x50, 0x99, 0xee, 0xad, 0x79, 0x8f, 0xd1, 0xd4, 0x2d, 0xa1, 0x7e, 0xe3, 0xf0,
3183 0xd4, 0xd4, 0x49, 0x2a,
3184 ],
3185 Elements::Subtract32 => [
3186 0x19, 0xd3, 0x5e, 0x0a, 0xf1, 0xe1, 0x65, 0x14, 0xa6, 0xdf, 0xc2, 0x9a, 0x91, 0x41,
3187 0x87, 0x13, 0x39, 0x64, 0xc4, 0x80, 0xf6, 0x60, 0xe7, 0xeb, 0x92, 0x4e, 0xe1, 0x6d,
3188 0xba, 0xa2, 0x49, 0xcb,
3189 ],
3190 Elements::Subtract64 => [
3191 0x52, 0x3e, 0x11, 0x86, 0x28, 0xbf, 0x3a, 0xc1, 0xa6, 0xbe, 0x5a, 0x72, 0xbd, 0xb1,
3192 0x14, 0x1b, 0x89, 0xe0, 0xe0, 0x01, 0xe4, 0x02, 0xad, 0xda, 0x82, 0x58, 0x79, 0x00,
3193 0x03, 0xf8, 0x8a, 0xd8,
3194 ],
3195 Elements::Subtract8 => [
3196 0x40, 0x95, 0x0b, 0x86, 0xf6, 0xf1, 0xf9, 0x93, 0x55, 0xde, 0xe1, 0x1f, 0x77, 0xda,
3197 0xf2, 0x79, 0xa0, 0xcb, 0x6c, 0x6d, 0x15, 0x6a, 0xe4, 0x4b, 0x7d, 0x5d, 0x25, 0x71,
3198 0x64, 0xb2, 0x67, 0xc5,
3199 ],
3200 Elements::Swu => [
3201 0xab, 0xf7, 0x0b, 0xe0, 0x0b, 0x30, 0xf5, 0x77, 0xf9, 0x87, 0xcb, 0x50, 0x48, 0x89,
3202 0x96, 0xba, 0x35, 0x96, 0xdb, 0xf9, 0xc1, 0xe8, 0x44, 0xa8, 0xb1, 0xb8, 0xb7, 0x10,
3203 0x85, 0x3b, 0x65, 0xeb,
3204 ],
3205 Elements::TapEnvHash => [
3206 0x72, 0x27, 0x07, 0x71, 0x93, 0xec, 0x17, 0x41, 0x8e, 0xbf, 0x78, 0x77, 0xaf, 0xdc,
3207 0x70, 0x97, 0xbd, 0x5e, 0xed, 0x57, 0xe8, 0x26, 0xdf, 0x66, 0x05, 0xc6, 0x48, 0x69,
3208 0x1d, 0x00, 0x34, 0x03,
3209 ],
3210 Elements::TapdataInit => [
3211 0x6c, 0x67, 0xe5, 0xc1, 0x07, 0x35, 0x30, 0x5e, 0xe7, 0xde, 0xb5, 0x9a, 0x6c, 0x6a,
3212 0xc2, 0xef, 0xfc, 0xab, 0x4f, 0xf7, 0xbb, 0x47, 0x9e, 0xa7, 0x00, 0x81, 0x60, 0x6e,
3213 0x60, 0x48, 0x4c, 0xa7,
3214 ],
3215 Elements::TapleafHash => [
3216 0xd4, 0x5a, 0x66, 0x1f, 0xc9, 0x10, 0x0e, 0x2e, 0xa9, 0xdf, 0x78, 0x9c, 0xa2, 0x34,
3217 0x6d, 0xa8, 0x42, 0x71, 0x7e, 0xf6, 0xa8, 0xc8, 0x24, 0x18, 0x4f, 0x2d, 0xa8, 0xc7,
3218 0xfb, 0x01, 0x62, 0x03,
3219 ],
3220 Elements::TapleafVersion => [
3221 0xdd, 0xb0, 0xed, 0xd6, 0xce, 0x1e, 0x07, 0x98, 0x3d, 0x1a, 0x62, 0x26, 0xf0, 0x0b,
3222 0x12, 0x51, 0x89, 0xaf, 0x13, 0xbd, 0x5c, 0xd0, 0x68, 0x12, 0x3a, 0xd4, 0x3f, 0x48,
3223 0x20, 0x1b, 0x00, 0x6f,
3224 ],
3225 Elements::Tappath => [
3226 0x42, 0xc0, 0xc1, 0xf2, 0xef, 0x0e, 0x28, 0xae, 0x7d, 0xef, 0xa1, 0x5e, 0x84, 0xa0,
3227 0x6f, 0x35, 0xfb, 0xf6, 0xfc, 0x89, 0x7b, 0x29, 0xf6, 0x83, 0xfe, 0x1a, 0x24, 0xe3,
3228 0x0d, 0xc5, 0x8b, 0xaf,
3229 ],
3230 Elements::TappathHash => [
3231 0x9d, 0xa9, 0x06, 0xe3, 0xec, 0x08, 0x60, 0x65, 0xbe, 0x14, 0x41, 0x36, 0xb5, 0x16,
3232 0x20, 0xb6, 0x6d, 0xdf, 0x4d, 0x71, 0x38, 0x57, 0x35, 0x4e, 0xba, 0x3b, 0x97, 0xc7,
3233 0x75, 0x85, 0xf4, 0x43,
3234 ],
3235 Elements::TotalFee => [
3236 0x4e, 0xba, 0x3f, 0x22, 0xba, 0xc0, 0xa4, 0x65, 0xe4, 0xd0, 0x8a, 0x9a, 0xc4, 0x05,
3237 0x18, 0xef, 0x97, 0x2c, 0x2e, 0x86, 0x12, 0x09, 0x0a, 0x51, 0xe3, 0x20, 0x3f, 0xcb,
3238 0xd2, 0xf4, 0xed, 0xbe,
3239 ],
3240 Elements::TransactionId => [
3241 0x08, 0xb8, 0xeb, 0x3c, 0x2d, 0x2d, 0x95, 0x84, 0x58, 0xe1, 0x63, 0xe9, 0x43, 0x34,
3242 0x95, 0x0c, 0x0b, 0xb9, 0x14, 0xa0, 0xb9, 0xd2, 0x14, 0xfc, 0x5e, 0x9d, 0xe8, 0xf7,
3243 0x0a, 0x17, 0xa0, 0xd4,
3244 ],
3245 Elements::TxHash => [
3246 0xc3, 0x61, 0x02, 0xae, 0xda, 0x8b, 0xcf, 0x62, 0xa8, 0x5e, 0x71, 0x4b, 0x18, 0xe4,
3247 0xc5, 0x0c, 0xd4, 0x17, 0xff, 0xbf, 0x86, 0xd7, 0x37, 0x34, 0xe0, 0x2c, 0xbf, 0xcb,
3248 0x53, 0x13, 0xfc, 0xcf,
3249 ],
3250 Elements::TxIsFinal => [
3251 0x8b, 0x31, 0x45, 0x72, 0x24, 0x70, 0xa0, 0x7d, 0xe9, 0x0a, 0x28, 0xba, 0x89, 0xf3,
3252 0xf8, 0x86, 0x42, 0x61, 0x00, 0x96, 0x54, 0xce, 0x86, 0x6c, 0xd8, 0xea, 0xf7, 0x6c,
3253 0x5d, 0x86, 0x26, 0xeb,
3254 ],
3255 Elements::TxLockDistance => [
3256 0x4c, 0x77, 0x73, 0xb8, 0x18, 0xcb, 0x7e, 0xe5, 0xf5, 0x4f, 0x92, 0x5a, 0xad, 0x01,
3257 0x56, 0x77, 0xa0, 0x43, 0xa7, 0x2f, 0x31, 0x6a, 0x18, 0x7c, 0xc2, 0x8c, 0x69, 0x6c,
3258 0xfc, 0xb9, 0x08, 0x07,
3259 ],
3260 Elements::TxLockDuration => [
3261 0xcc, 0x9c, 0x64, 0xc8, 0xb6, 0xeb, 0x4b, 0xf0, 0x96, 0x94, 0xaf, 0x5a, 0x35, 0xd9,
3262 0x57, 0xa4, 0x05, 0xe6, 0x6c, 0x1b, 0x35, 0x22, 0x4e, 0xd6, 0x75, 0x87, 0x89, 0x18,
3263 0x45, 0x24, 0x40, 0xb2,
3264 ],
3265 Elements::TxLockHeight => [
3266 0xc2, 0x02, 0x57, 0xf8, 0xe7, 0x6e, 0xcd, 0x0a, 0xe7, 0xad, 0x63, 0x4f, 0x5d, 0xfa,
3267 0x68, 0xae, 0x9a, 0x5e, 0xde, 0xd0, 0xe2, 0xee, 0xbe, 0x4e, 0xe5, 0x2c, 0xb4, 0x7a,
3268 0xcf, 0xb0, 0x26, 0x4c,
3269 ],
3270 Elements::TxLockTime => [
3271 0x3e, 0xe1, 0x90, 0x05, 0x42, 0xd0, 0x1e, 0xfd, 0x4e, 0x9a, 0x01, 0xd4, 0xef, 0xb1,
3272 0xf9, 0xdd, 0x99, 0x2c, 0xed, 0x35, 0xb7, 0xa7, 0x52, 0xf8, 0x3d, 0xa5, 0x93, 0x38,
3273 0x15, 0x38, 0xde, 0xa4,
3274 ],
3275 Elements::Verify => [
3276 0x34, 0x3e, 0x6d, 0xc1, 0x6b, 0x3f, 0x52, 0xe8, 0x3e, 0x3b, 0x4c, 0xcc, 0x99, 0xb8,
3277 0xc6, 0xf9, 0x6a, 0x07, 0x4f, 0xe3, 0x99, 0x32, 0x7a, 0xf3, 0x64, 0xbc, 0x28, 0x5e,
3278 0x29, 0x97, 0x45, 0xa2,
3279 ],
3280 Elements::Version => [
3281 0x08, 0x7f, 0xc9, 0x5c, 0x41, 0x00, 0x33, 0x48, 0x75, 0x9f, 0xd8, 0x40, 0x37, 0x2c,
3282 0x6f, 0x91, 0x2d, 0x9b, 0xe4, 0xe6, 0x1e, 0xee, 0x3c, 0x6a, 0x7a, 0x40, 0xdc, 0x13,
3283 0xc9, 0xc1, 0xbc, 0x70,
3284 ],
3285 Elements::Xor1 => [
3286 0x9d, 0xc9, 0xfe, 0x42, 0xf7, 0xeb, 0x34, 0x64, 0x9f, 0x1c, 0x72, 0xd2, 0xe5, 0xdd,
3287 0x16, 0x7d, 0xb2, 0x1b, 0xe5, 0x32, 0x13, 0x72, 0xd5, 0xca, 0x7f, 0x6a, 0x18, 0x4f,
3288 0x93, 0xe0, 0x5e, 0xe3,
3289 ],
3290 Elements::Xor16 => [
3291 0x1f, 0xca, 0xf4, 0x0b, 0xde, 0xdd, 0x72, 0xe7, 0x97, 0xb0, 0x9f, 0xe7, 0x87, 0x53,
3292 0xb0, 0xab, 0x27, 0x87, 0x2c, 0x0b, 0xd1, 0x2b, 0x03, 0x49, 0x55, 0xfb, 0xfa, 0xc2,
3293 0x38, 0x12, 0xef, 0x26,
3294 ],
3295 Elements::Xor32 => [
3296 0x1d, 0x49, 0xfc, 0x94, 0xf2, 0x2b, 0x5d, 0x31, 0xb7, 0xf9, 0xef, 0xb5, 0x37, 0x8e,
3297 0x5f, 0x8a, 0x42, 0x62, 0x6a, 0xed, 0x4e, 0x92, 0x79, 0x93, 0x48, 0xd6, 0xb7, 0x88,
3298 0xdf, 0xe8, 0x6b, 0x1c,
3299 ],
3300 Elements::Xor64 => [
3301 0x7a, 0x3f, 0x3f, 0x55, 0x20, 0x47, 0x83, 0x65, 0x33, 0x44, 0x31, 0x1d, 0x1d, 0xc5,
3302 0x09, 0xd3, 0x5b, 0x66, 0x39, 0xc0, 0xd8, 0xb9, 0x67, 0xa2, 0x07, 0x80, 0x6c, 0xd8,
3303 0x7d, 0x31, 0xd6, 0xe6,
3304 ],
3305 Elements::Xor8 => [
3306 0xd8, 0x33, 0x5f, 0x48, 0x90, 0xc1, 0xd8, 0xed, 0x76, 0x6c, 0x71, 0x35, 0x90, 0x2e,
3307 0x01, 0xa0, 0x09, 0x4e, 0x3a, 0x98, 0x16, 0xf7, 0x0c, 0x84, 0x7c, 0xc3, 0xd7, 0xc0,
3308 0x00, 0x40, 0x6e, 0xfe,
3309 ],
3310 Elements::XorXor1 => [
3311 0x1e, 0x10, 0x7b, 0x05, 0xff, 0x94, 0x1d, 0x31, 0xd7, 0x57, 0x8b, 0x43, 0x73, 0x28,
3312 0xba, 0x52, 0xf3, 0xff, 0x20, 0xa0, 0x68, 0xc0, 0xd2, 0xbd, 0xef, 0x08, 0x76, 0x80,
3313 0x93, 0xcc, 0x7c, 0x63,
3314 ],
3315 Elements::XorXor16 => [
3316 0xb7, 0x76, 0x98, 0x9d, 0xa5, 0x09, 0x5c, 0x4b, 0xe9, 0x4b, 0x1a, 0xef, 0x75, 0x94,
3317 0x66, 0xe1, 0x1f, 0x63, 0x9c, 0x19, 0x39, 0x47, 0x1f, 0xa1, 0x8e, 0x36, 0xe7, 0xe4,
3318 0x90, 0xc3, 0x89, 0x61,
3319 ],
3320 Elements::XorXor32 => [
3321 0xd1, 0x68, 0xfa, 0xc1, 0xac, 0x7f, 0xc4, 0x83, 0x57, 0xbe, 0x1b, 0x65, 0x33, 0x75,
3322 0xec, 0x5e, 0x3f, 0x05, 0x82, 0x3a, 0xae, 0x6a, 0xc9, 0x85, 0xe9, 0x40, 0x3e, 0xea,
3323 0xb1, 0x2b, 0xb9, 0xf8,
3324 ],
3325 Elements::XorXor64 => [
3326 0x36, 0x1c, 0x57, 0x93, 0x0e, 0xf9, 0x7d, 0x49, 0xcb, 0xc6, 0x79, 0xfa, 0xef, 0x1e,
3327 0x3b, 0xcf, 0xfb, 0x78, 0x79, 0x95, 0xb9, 0x61, 0xe5, 0x53, 0x7d, 0x2b, 0x1e, 0xeb,
3328 0xc9, 0xc9, 0xa6, 0xe8,
3329 ],
3330 Elements::XorXor8 => [
3331 0xc2, 0xda, 0x6e, 0x9c, 0xa6, 0x4d, 0x8a, 0x73, 0xc1, 0x77, 0x26, 0x67, 0xb3, 0xd7,
3332 0xa0, 0x93, 0x8b, 0xcb, 0x8a, 0x6c, 0x43, 0xfd, 0x04, 0x73, 0xee, 0xc7, 0x1b, 0x77,
3333 0x49, 0x4a, 0xad, 0x94,
3334 ],
3335 };
3336
3337 Cmr(Midstate(bytes))
3338 }
3339
3340 fn source_ty(&self) -> TypeName {
3341 let name: &'static [u8] = match self {
3342 Elements::Add16 => b"i",
3343 Elements::Add32 => b"l",
3344 Elements::Add64 => b"*ll",
3345 Elements::Add8 => b"****22*22**22*22***22*22**22*22",
3346 Elements::All16 => b"****22*22**22*22***22*22**22*22",
3347 Elements::All32 => b"i",
3348 Elements::All64 => b"l",
3349 Elements::All8 => b"***22*22**22*22",
3350 Elements::And1 => b"*22",
3351 Elements::And16 => b"i",
3352 Elements::And32 => b"l",
3353 Elements::And64 => b"*ll",
3354 Elements::And8 => b"****22*22**22*22***22*22**22*22",
3355 Elements::AnnexHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh+1h",
3356 Elements::AssetAmountHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+*2hh+*2hl",
3357 Elements::Bip0340Verify => b"**hh*hh",
3358 Elements::BuildTapbranch => b"*hh",
3359 Elements::BuildTapleafSimplicity => b"h",
3360 Elements::BuildTaptweak => b"*hh",
3361 Elements::CalculateAsset => b"h",
3362 Elements::CalculateConfidentialToken => b"h",
3363 Elements::CalculateExplicitToken => b"h",
3364 Elements::CalculateIssuanceEntropy => b"**hih",
3365 Elements::Ch1 => b"*2*22",
3366 Elements::Ch16 => b"*****22*22**22*22***22*22**22*22i",
3367 Elements::Ch32 => b"*il",
3368 Elements::Ch64 => b"*l*ll",
3369 Elements::Ch8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3370 Elements::CheckLockDistance => b"****22*22**22*22***22*22**22*22",
3371 Elements::CheckLockDuration => b"****22*22**22*22***22*22**22*22",
3372 Elements::CheckLockHeight => b"i",
3373 Elements::CheckLockTime => b"i",
3374 Elements::CheckSigVerify => b"**h*hh*hh",
3375 Elements::Complement1 => b"2",
3376 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3377 Elements::Complement32 => b"i",
3378 Elements::Complement64 => b"l",
3379 Elements::Complement8 => b"***22*22**22*22",
3380 Elements::CurrentAmount => b"1",
3381 Elements::CurrentAnnexHash => b"1",
3382 Elements::CurrentAsset => b"1",
3383 Elements::CurrentIndex => b"1",
3384 Elements::CurrentIssuanceAssetAmount => b"1",
3385 Elements::CurrentIssuanceAssetProof => b"1",
3386 Elements::CurrentIssuanceTokenAmount => b"1",
3387 Elements::CurrentIssuanceTokenProof => b"1",
3388 Elements::CurrentNewIssuanceContract => b"1",
3389 Elements::CurrentPegin => b"1",
3390 Elements::CurrentPrevOutpoint => b"1",
3391 Elements::CurrentReissuanceBlinding => b"1",
3392 Elements::CurrentReissuanceEntropy => b"1",
3393 Elements::CurrentScriptHash => b"1",
3394 Elements::CurrentScriptSigHash => b"1",
3395 Elements::CurrentSequence => b"1",
3396 Elements::Decompress => b"*2h",
3397 Elements::Decrement16 => b"****22*22**22*22***22*22**22*22",
3398 Elements::Decrement32 => b"i",
3399 Elements::Decrement64 => b"l",
3400 Elements::Decrement8 => b"***22*22**22*22",
3401 Elements::DivMod128_64 => b"**lll",
3402 Elements::DivMod16 => b"i",
3403 Elements::DivMod32 => b"l",
3404 Elements::DivMod64 => b"*ll",
3405 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3406 Elements::Divide16 => b"i",
3407 Elements::Divide32 => b"l",
3408 Elements::Divide64 => b"*ll",
3409 Elements::Divide8 => b"****22*22**22*22***22*22**22*22",
3410 Elements::Divides16 => b"i",
3411 Elements::Divides32 => b"l",
3412 Elements::Divides64 => b"*ll",
3413 Elements::Divides8 => b"****22*22**22*22***22*22**22*22",
3414 Elements::Eq1 => b"*22",
3415 Elements::Eq16 => b"i",
3416 Elements::Eq256 => b"*hh",
3417 Elements::Eq32 => b"l",
3418 Elements::Eq64 => b"*ll",
3419 Elements::Eq8 => b"****22*22**22*22***22*22**22*22",
3420 Elements::FeAdd => b"*hh",
3421 Elements::FeInvert => b"h",
3422 Elements::FeIsOdd => b"h",
3423 Elements::FeIsZero => b"h",
3424 Elements::FeMultiply => b"*hh",
3425 Elements::FeMultiplyBeta => b"h",
3426 Elements::FeNegate => b"h",
3427 Elements::FeNormalize => b"h",
3428 Elements::FeSquare => b"h",
3429 Elements::FeSquareRoot => b"h",
3430 Elements::FullAdd16 => b"*2i",
3431 Elements::FullAdd32 => b"*2l",
3432 Elements::FullAdd64 => b"*2*ll",
3433 Elements::FullAdd8 => b"*2****22*22**22*22***22*22**22*22",
3434 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3435 Elements::FullDecrement32 => b"*2i",
3436 Elements::FullDecrement64 => b"*2l",
3437 Elements::FullDecrement8 => b"*2***22*22**22*22",
3438 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3439 Elements::FullIncrement32 => b"*2i",
3440 Elements::FullIncrement64 => b"*2l",
3441 Elements::FullIncrement8 => b"*2***22*22**22*22",
3442 Elements::FullLeftShift16_1 => b"*****22*22**22*22***22*22**22*222",
3443 Elements::FullLeftShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3444 Elements::FullLeftShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3445 Elements::FullLeftShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3446 Elements::FullLeftShift32_1 => b"*i2",
3447 Elements::FullLeftShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3448 Elements::FullLeftShift32_2 => b"*i*22",
3449 Elements::FullLeftShift32_4 => b"*i**22*22",
3450 Elements::FullLeftShift32_8 => b"*i***22*22**22*22",
3451 Elements::FullLeftShift64_1 => b"*l2",
3452 Elements::FullLeftShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3453 Elements::FullLeftShift64_2 => b"*l*22",
3454 Elements::FullLeftShift64_32 => b"*li",
3455 Elements::FullLeftShift64_4 => b"*l**22*22",
3456 Elements::FullLeftShift64_8 => b"*l***22*22**22*22",
3457 Elements::FullLeftShift8_1 => b"****22*22**22*222",
3458 Elements::FullLeftShift8_2 => b"****22*22**22*22*22",
3459 Elements::FullLeftShift8_4 => b"****22*22**22*22**22*22",
3460 Elements::FullMultiply16 => b"l",
3461 Elements::FullMultiply32 => b"*ll",
3462 Elements::FullMultiply64 => b"h",
3463 Elements::FullMultiply8 => b"i",
3464 Elements::FullRightShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3465 Elements::FullRightShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3466 Elements::FullRightShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3467 Elements::FullRightShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3468 Elements::FullRightShift32_1 => b"*2i",
3469 Elements::FullRightShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3470 Elements::FullRightShift32_2 => b"**22i",
3471 Elements::FullRightShift32_4 => b"***22*22i",
3472 Elements::FullRightShift32_8 => b"****22*22**22*22i",
3473 Elements::FullRightShift64_1 => b"*2l",
3474 Elements::FullRightShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3475 Elements::FullRightShift64_2 => b"**22l",
3476 Elements::FullRightShift64_32 => b"*il",
3477 Elements::FullRightShift64_4 => b"***22*22l",
3478 Elements::FullRightShift64_8 => b"****22*22**22*22l",
3479 Elements::FullRightShift8_1 => b"*2***22*22**22*22",
3480 Elements::FullRightShift8_2 => b"**22***22*22**22*22",
3481 Elements::FullRightShift8_4 => b"***22*22***22*22**22*22",
3482 Elements::FullSubtract16 => b"*2i",
3483 Elements::FullSubtract32 => b"*2l",
3484 Elements::FullSubtract64 => b"*2*ll",
3485 Elements::FullSubtract8 => b"*2****22*22**22*22***22*22**22*22",
3486 Elements::GeIsOnCurve => b"*hh",
3487 Elements::GeNegate => b"*hh",
3488 Elements::GejAdd => b"***hhh**hhh",
3489 Elements::GejDouble => b"**hhh",
3490 Elements::GejEquiv => b"***hhh**hhh",
3491 Elements::GejGeAdd => b"***hhh*hh",
3492 Elements::GejGeAddEx => b"***hhh*hh",
3493 Elements::GejGeEquiv => b"***hhh*hh",
3494 Elements::GejInfinity => b"1",
3495 Elements::GejIsInfinity => b"**hhh",
3496 Elements::GejIsOnCurve => b"**hhh",
3497 Elements::GejNegate => b"**hhh",
3498 Elements::GejNormalize => b"**hhh",
3499 Elements::GejRescale => b"***hhhh",
3500 Elements::GejXEquiv => b"*h**hhh",
3501 Elements::GejYIsOdd => b"**hhh",
3502 Elements::Generate => b"h",
3503 Elements::GenesisBlockHash => b"1",
3504 Elements::HashToCurve => b"h",
3505 Elements::High1 => b"1",
3506 Elements::High16 => b"1",
3507 Elements::High32 => b"1",
3508 Elements::High64 => b"1",
3509 Elements::High8 => b"1",
3510 Elements::Increment16 => b"****22*22**22*22***22*22**22*22",
3511 Elements::Increment32 => b"i",
3512 Elements::Increment64 => b"l",
3513 Elements::Increment8 => b"***22*22**22*22",
3514 Elements::InputAmount => b"i",
3515 Elements::InputAmountsHash => b"1",
3516 Elements::InputAnnexHash => b"i",
3517 Elements::InputAnnexesHash => b"1",
3518 Elements::InputAsset => b"i",
3519 Elements::InputHash => b"i",
3520 Elements::InputOutpointsHash => b"1",
3521 Elements::InputPegin => b"i",
3522 Elements::InputPrevOutpoint => b"i",
3523 Elements::InputScriptHash => b"i",
3524 Elements::InputScriptSigHash => b"i",
3525 Elements::InputScriptSigsHash => b"1",
3526 Elements::InputScriptsHash => b"1",
3527 Elements::InputSequence => b"i",
3528 Elements::InputSequencesHash => b"1",
3529 Elements::InputUtxoHash => b"i",
3530 Elements::InputUtxosHash => b"1",
3531 Elements::InputsHash => b"1",
3532 Elements::InternalKey => b"1",
3533 Elements::IsOne16 => b"****22*22**22*22***22*22**22*22",
3534 Elements::IsOne32 => b"i",
3535 Elements::IsOne64 => b"l",
3536 Elements::IsOne8 => b"***22*22**22*22",
3537 Elements::IsZero16 => b"****22*22**22*22***22*22**22*22",
3538 Elements::IsZero32 => b"i",
3539 Elements::IsZero64 => b"l",
3540 Elements::IsZero8 => b"***22*22**22*22",
3541 Elements::Issuance => b"i",
3542 Elements::IssuanceAsset => b"i",
3543 Elements::IssuanceAssetAmount => b"i",
3544 Elements::IssuanceAssetAmountsHash => b"1",
3545 Elements::IssuanceAssetProof => b"i",
3546 Elements::IssuanceBlindingEntropyHash => b"1",
3547 Elements::IssuanceEntropy => b"i",
3548 Elements::IssuanceHash => b"i",
3549 Elements::IssuanceRangeProofsHash => b"1",
3550 Elements::IssuanceToken => b"i",
3551 Elements::IssuanceTokenAmount => b"i",
3552 Elements::IssuanceTokenAmountsHash => b"1",
3553 Elements::IssuanceTokenProof => b"i",
3554 Elements::IssuancesHash => b"1",
3555 Elements::LbtcAsset => b"1",
3556 Elements::Le16 => b"i",
3557 Elements::Le32 => b"l",
3558 Elements::Le64 => b"*ll",
3559 Elements::Le8 => b"****22*22**22*22***22*22**22*22",
3560 Elements::LeftExtend16_32 => b"****22*22**22*22***22*22**22*22",
3561 Elements::LeftExtend16_64 => b"****22*22**22*22***22*22**22*22",
3562 Elements::LeftExtend1_16 => b"2",
3563 Elements::LeftExtend1_32 => b"2",
3564 Elements::LeftExtend1_64 => b"2",
3565 Elements::LeftExtend1_8 => b"2",
3566 Elements::LeftExtend32_64 => b"i",
3567 Elements::LeftExtend8_16 => b"***22*22**22*22",
3568 Elements::LeftExtend8_32 => b"***22*22**22*22",
3569 Elements::LeftExtend8_64 => b"***22*22**22*22",
3570 Elements::LeftPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3571 Elements::LeftPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3572 Elements::LeftPadHigh1_16 => b"2",
3573 Elements::LeftPadHigh1_32 => b"2",
3574 Elements::LeftPadHigh1_64 => b"2",
3575 Elements::LeftPadHigh1_8 => b"2",
3576 Elements::LeftPadHigh32_64 => b"i",
3577 Elements::LeftPadHigh8_16 => b"***22*22**22*22",
3578 Elements::LeftPadHigh8_32 => b"***22*22**22*22",
3579 Elements::LeftPadHigh8_64 => b"***22*22**22*22",
3580 Elements::LeftPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3581 Elements::LeftPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3582 Elements::LeftPadLow1_16 => b"2",
3583 Elements::LeftPadLow1_32 => b"2",
3584 Elements::LeftPadLow1_64 => b"2",
3585 Elements::LeftPadLow1_8 => b"2",
3586 Elements::LeftPadLow32_64 => b"i",
3587 Elements::LeftPadLow8_16 => b"***22*22**22*22",
3588 Elements::LeftPadLow8_32 => b"***22*22**22*22",
3589 Elements::LeftPadLow8_64 => b"***22*22**22*22",
3590 Elements::LeftRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3591 Elements::LeftRotate32 => b"****22*22**22*22i",
3592 Elements::LeftRotate64 => b"****22*22**22*22l",
3593 Elements::LeftRotate8 => b"***22*22***22*22**22*22",
3594 Elements::LeftShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3595 Elements::LeftShift32 => b"****22*22**22*22i",
3596 Elements::LeftShift64 => b"****22*22**22*22l",
3597 Elements::LeftShift8 => b"***22*22***22*22**22*22",
3598 Elements::LeftShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3599 Elements::LeftShiftWith32 => b"*2****22*22**22*22i",
3600 Elements::LeftShiftWith64 => b"*2****22*22**22*22l",
3601 Elements::LeftShiftWith8 => b"*2***22*22***22*22**22*22",
3602 Elements::Leftmost16_1 => b"****22*22**22*22***22*22**22*22",
3603 Elements::Leftmost16_2 => b"****22*22**22*22***22*22**22*22",
3604 Elements::Leftmost16_4 => b"****22*22**22*22***22*22**22*22",
3605 Elements::Leftmost16_8 => b"****22*22**22*22***22*22**22*22",
3606 Elements::Leftmost32_1 => b"i",
3607 Elements::Leftmost32_16 => b"i",
3608 Elements::Leftmost32_2 => b"i",
3609 Elements::Leftmost32_4 => b"i",
3610 Elements::Leftmost32_8 => b"i",
3611 Elements::Leftmost64_1 => b"l",
3612 Elements::Leftmost64_16 => b"l",
3613 Elements::Leftmost64_2 => b"l",
3614 Elements::Leftmost64_32 => b"l",
3615 Elements::Leftmost64_4 => b"l",
3616 Elements::Leftmost64_8 => b"l",
3617 Elements::Leftmost8_1 => b"***22*22**22*22",
3618 Elements::Leftmost8_2 => b"***22*22**22*22",
3619 Elements::Leftmost8_4 => b"***22*22**22*22",
3620 Elements::LinearCombination1 => b"**h**hhhh",
3621 Elements::LinearVerify1 => b"***h*hhh*hh",
3622 Elements::LockTime => b"1",
3623 Elements::Low1 => b"1",
3624 Elements::Low16 => b"1",
3625 Elements::Low32 => b"1",
3626 Elements::Low64 => b"1",
3627 Elements::Low8 => b"1",
3628 Elements::Lt16 => b"i",
3629 Elements::Lt32 => b"l",
3630 Elements::Lt64 => b"*ll",
3631 Elements::Lt8 => b"****22*22**22*22***22*22**22*22",
3632 Elements::Maj1 => b"*2*22",
3633 Elements::Maj16 => b"*****22*22**22*22***22*22**22*22i",
3634 Elements::Maj32 => b"*il",
3635 Elements::Maj64 => b"*l*ll",
3636 Elements::Maj8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3637 Elements::Max16 => b"i",
3638 Elements::Max32 => b"l",
3639 Elements::Max64 => b"*ll",
3640 Elements::Max8 => b"****22*22**22*22***22*22**22*22",
3641 Elements::Median16 => b"*****22*22**22*22***22*22**22*22i",
3642 Elements::Median32 => b"*il",
3643 Elements::Median64 => b"*l*ll",
3644 Elements::Median8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3645 Elements::Min16 => b"i",
3646 Elements::Min32 => b"l",
3647 Elements::Min64 => b"*ll",
3648 Elements::Min8 => b"****22*22**22*22***22*22**22*22",
3649 Elements::Modulo16 => b"i",
3650 Elements::Modulo32 => b"l",
3651 Elements::Modulo64 => b"*ll",
3652 Elements::Modulo8 => b"****22*22**22*22***22*22**22*22",
3653 Elements::Multiply16 => b"i",
3654 Elements::Multiply32 => b"l",
3655 Elements::Multiply64 => b"*ll",
3656 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
3657 Elements::Negate16 => b"****22*22**22*22***22*22**22*22",
3658 Elements::Negate32 => b"i",
3659 Elements::Negate64 => b"l",
3660 Elements::Negate8 => b"***22*22**22*22",
3661 Elements::NewIssuanceContract => b"i",
3662 Elements::NonceHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh+1+*2hh",
3663 Elements::NumInputs => b"1",
3664 Elements::NumOutputs => b"1",
3665 Elements::One16 => b"1",
3666 Elements::One32 => b"1",
3667 Elements::One64 => b"1",
3668 Elements::One8 => b"1",
3669 Elements::Or1 => b"*22",
3670 Elements::Or16 => b"i",
3671 Elements::Or32 => b"l",
3672 Elements::Or64 => b"*ll",
3673 Elements::Or8 => b"****22*22**22*22***22*22**22*22",
3674 Elements::OutpointHash => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+1h*hi",
3675 Elements::OutputAmount => b"i",
3676 Elements::OutputAmountsHash => b"1",
3677 Elements::OutputAsset => b"i",
3678 Elements::OutputHash => b"i",
3679 Elements::OutputIsFee => b"i",
3680 Elements::OutputNonce => b"i",
3681 Elements::OutputNoncesHash => b"1",
3682 Elements::OutputNullDatum => b"l",
3683 Elements::OutputRangeProof => b"i",
3684 Elements::OutputRangeProofsHash => b"1",
3685 Elements::OutputScriptHash => b"i",
3686 Elements::OutputScriptsHash => b"1",
3687 Elements::OutputSurjectionProof => b"i",
3688 Elements::OutputSurjectionProofsHash => b"1",
3689 Elements::OutputsHash => b"1",
3690 Elements::ParseLock => b"i",
3691 Elements::ParseSequence => b"i",
3692 Elements::PointVerify1 => b"***h*2hh*2h",
3693 Elements::ReissuanceBlinding => b"i",
3694 Elements::ReissuanceEntropy => b"i",
3695 Elements::RightExtend16_32 => b"****22*22**22*22***22*22**22*22",
3696 Elements::RightExtend16_64 => b"****22*22**22*22***22*22**22*22",
3697 Elements::RightExtend32_64 => b"i",
3698 Elements::RightExtend8_16 => b"***22*22**22*22",
3699 Elements::RightExtend8_32 => b"***22*22**22*22",
3700 Elements::RightExtend8_64 => b"***22*22**22*22",
3701 Elements::RightPadHigh16_32 => b"****22*22**22*22***22*22**22*22",
3702 Elements::RightPadHigh16_64 => b"****22*22**22*22***22*22**22*22",
3703 Elements::RightPadHigh1_16 => b"2",
3704 Elements::RightPadHigh1_32 => b"2",
3705 Elements::RightPadHigh1_64 => b"2",
3706 Elements::RightPadHigh1_8 => b"2",
3707 Elements::RightPadHigh32_64 => b"i",
3708 Elements::RightPadHigh8_16 => b"***22*22**22*22",
3709 Elements::RightPadHigh8_32 => b"***22*22**22*22",
3710 Elements::RightPadHigh8_64 => b"***22*22**22*22",
3711 Elements::RightPadLow16_32 => b"****22*22**22*22***22*22**22*22",
3712 Elements::RightPadLow16_64 => b"****22*22**22*22***22*22**22*22",
3713 Elements::RightPadLow1_16 => b"2",
3714 Elements::RightPadLow1_32 => b"2",
3715 Elements::RightPadLow1_64 => b"2",
3716 Elements::RightPadLow1_8 => b"2",
3717 Elements::RightPadLow32_64 => b"i",
3718 Elements::RightPadLow8_16 => b"***22*22**22*22",
3719 Elements::RightPadLow8_32 => b"***22*22**22*22",
3720 Elements::RightPadLow8_64 => b"***22*22**22*22",
3721 Elements::RightRotate16 => b"***22*22****22*22**22*22***22*22**22*22",
3722 Elements::RightRotate32 => b"****22*22**22*22i",
3723 Elements::RightRotate64 => b"****22*22**22*22l",
3724 Elements::RightRotate8 => b"***22*22***22*22**22*22",
3725 Elements::RightShift16 => b"***22*22****22*22**22*22***22*22**22*22",
3726 Elements::RightShift32 => b"****22*22**22*22i",
3727 Elements::RightShift64 => b"****22*22**22*22l",
3728 Elements::RightShift8 => b"***22*22***22*22**22*22",
3729 Elements::RightShiftWith16 => b"*2***22*22****22*22**22*22***22*22**22*22",
3730 Elements::RightShiftWith32 => b"*2****22*22**22*22i",
3731 Elements::RightShiftWith64 => b"*2****22*22**22*22l",
3732 Elements::RightShiftWith8 => b"*2***22*22***22*22**22*22",
3733 Elements::Rightmost16_1 => b"****22*22**22*22***22*22**22*22",
3734 Elements::Rightmost16_2 => b"****22*22**22*22***22*22**22*22",
3735 Elements::Rightmost16_4 => b"****22*22**22*22***22*22**22*22",
3736 Elements::Rightmost16_8 => b"****22*22**22*22***22*22**22*22",
3737 Elements::Rightmost32_1 => b"i",
3738 Elements::Rightmost32_16 => b"i",
3739 Elements::Rightmost32_2 => b"i",
3740 Elements::Rightmost32_4 => b"i",
3741 Elements::Rightmost32_8 => b"i",
3742 Elements::Rightmost64_1 => b"l",
3743 Elements::Rightmost64_16 => b"l",
3744 Elements::Rightmost64_2 => b"l",
3745 Elements::Rightmost64_32 => b"l",
3746 Elements::Rightmost64_4 => b"l",
3747 Elements::Rightmost64_8 => b"l",
3748 Elements::Rightmost8_1 => b"***22*22**22*22",
3749 Elements::Rightmost8_2 => b"***22*22**22*22",
3750 Elements::Rightmost8_4 => b"***22*22**22*22",
3751 Elements::ScalarAdd => b"*hh",
3752 Elements::ScalarInvert => b"h",
3753 Elements::ScalarIsZero => b"h",
3754 Elements::ScalarMultiply => b"*hh",
3755 Elements::ScalarMultiplyLambda => b"h",
3756 Elements::ScalarNegate => b"h",
3757 Elements::ScalarNormalize => b"h",
3758 Elements::ScalarSquare => b"h",
3759 Elements::Scale => b"*h**hhh",
3760 Elements::ScriptCMR => b"1",
3761 Elements::Sha256Block => b"*h*hh",
3762 Elements::Sha256Ctx8Add1 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***22*22**22*22",
3763 Elements::Sha256Ctx8Add128 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh**hh*hh",
3764 Elements::Sha256Ctx8Add16 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*ll",
3765 Elements::Sha256Ctx8Add2 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****22*22**22*22***22*22**22*22",
3766 Elements::Sha256Ctx8Add256 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh***hh*hh**hh*hh",
3767 Elements::Sha256Ctx8Add32 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhh",
3768 Elements::Sha256Ctx8Add4 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhi",
3769 Elements::Sha256Ctx8Add512 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh****hh*hh**hh*hh***hh*hh**hh*hh",
3770 Elements::Sha256Ctx8Add64 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*hh",
3771 Elements::Sha256Ctx8Add8 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lhl",
3772 Elements::Sha256Ctx8AddBuffer511 => b"***+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh*+1***hh*hh**hh*hh*+1**hh*hh*+1*hh*+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22",
3773 Elements::Sha256Ctx8Finalize => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3774 Elements::Sha256Ctx8Init => b"1",
3775 Elements::Sha256Iv => b"1",
3776 Elements::SigAllHash => b"1",
3777 Elements::Some1 => b"2",
3778 Elements::Some16 => b"****22*22**22*22***22*22**22*22",
3779 Elements::Some32 => b"i",
3780 Elements::Some64 => b"l",
3781 Elements::Some8 => b"***22*22**22*22",
3782 Elements::Subtract16 => b"i",
3783 Elements::Subtract32 => b"l",
3784 Elements::Subtract64 => b"*ll",
3785 Elements::Subtract8 => b"****22*22**22*22***22*22**22*22",
3786 Elements::Swu => b"h",
3787 Elements::TapEnvHash => b"1",
3788 Elements::TapdataInit => b"1",
3789 Elements::TapleafHash => b"1",
3790 Elements::TapleafVersion => b"1",
3791 Elements::Tappath => b"***22*22**22*22",
3792 Elements::TappathHash => b"1",
3793 Elements::TotalFee => b"h",
3794 Elements::TransactionId => b"1",
3795 Elements::TxHash => b"1",
3796 Elements::TxIsFinal => b"1",
3797 Elements::TxLockDistance => b"1",
3798 Elements::TxLockDuration => b"1",
3799 Elements::TxLockHeight => b"1",
3800 Elements::TxLockTime => b"1",
3801 Elements::Verify => b"2",
3802 Elements::Version => b"1",
3803 Elements::Xor1 => b"*22",
3804 Elements::Xor16 => b"i",
3805 Elements::Xor32 => b"l",
3806 Elements::Xor64 => b"*ll",
3807 Elements::Xor8 => b"****22*22**22*22***22*22**22*22",
3808 Elements::XorXor1 => b"*2*22",
3809 Elements::XorXor16 => b"*****22*22**22*22***22*22**22*22i",
3810 Elements::XorXor32 => b"*il",
3811 Elements::XorXor64 => b"*l*ll",
3812 Elements::XorXor8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3813 };
3814
3815 TypeName(name)
3816 }
3817
3818 fn target_ty(&self) -> TypeName {
3819 let name: &'static [u8] = match self {
3820 Elements::Add16 => b"*2****22*22**22*22***22*22**22*22",
3821 Elements::Add32 => b"*2i",
3822 Elements::Add64 => b"*2l",
3823 Elements::Add8 => b"*2***22*22**22*22",
3824 Elements::All16 => b"2",
3825 Elements::All32 => b"2",
3826 Elements::All64 => b"2",
3827 Elements::All8 => b"2",
3828 Elements::And1 => b"2",
3829 Elements::And16 => b"****22*22**22*22***22*22**22*22",
3830 Elements::And32 => b"i",
3831 Elements::And64 => b"l",
3832 Elements::And8 => b"***22*22**22*22",
3833 Elements::AnnexHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3834 Elements::AssetAmountHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
3835 Elements::Bip0340Verify => b"1",
3836 Elements::BuildTapbranch => b"h",
3837 Elements::BuildTapleafSimplicity => b"h",
3838 Elements::BuildTaptweak => b"h",
3839 Elements::CalculateAsset => b"h",
3840 Elements::CalculateConfidentialToken => b"h",
3841 Elements::CalculateExplicitToken => b"h",
3842 Elements::CalculateIssuanceEntropy => b"h",
3843 Elements::Ch1 => b"2",
3844 Elements::Ch16 => b"****22*22**22*22***22*22**22*22",
3845 Elements::Ch32 => b"i",
3846 Elements::Ch64 => b"l",
3847 Elements::Ch8 => b"***22*22**22*22",
3848 Elements::CheckLockDistance => b"1",
3849 Elements::CheckLockDuration => b"1",
3850 Elements::CheckLockHeight => b"1",
3851 Elements::CheckLockTime => b"1",
3852 Elements::CheckSigVerify => b"1",
3853 Elements::Complement1 => b"2",
3854 Elements::Complement16 => b"****22*22**22*22***22*22**22*22",
3855 Elements::Complement32 => b"i",
3856 Elements::Complement64 => b"l",
3857 Elements::Complement8 => b"***22*22**22*22",
3858 Elements::CurrentAmount => b"*+*2hh+*2hl",
3859 Elements::CurrentAnnexHash => b"+1h",
3860 Elements::CurrentAsset => b"+*2hh",
3861 Elements::CurrentIndex => b"i",
3862 Elements::CurrentIssuanceAssetAmount => b"+1+*2hl",
3863 Elements::CurrentIssuanceAssetProof => b"h",
3864 Elements::CurrentIssuanceTokenAmount => b"+1+*2hl",
3865 Elements::CurrentIssuanceTokenProof => b"h",
3866 Elements::CurrentNewIssuanceContract => b"+1h",
3867 Elements::CurrentPegin => b"+1h",
3868 Elements::CurrentPrevOutpoint => b"*hi",
3869 Elements::CurrentReissuanceBlinding => b"+1h",
3870 Elements::CurrentReissuanceEntropy => b"+1h",
3871 Elements::CurrentScriptHash => b"h",
3872 Elements::CurrentScriptSigHash => b"h",
3873 Elements::CurrentSequence => b"i",
3874 Elements::Decompress => b"+1*hh",
3875 Elements::Decrement16 => b"*2****22*22**22*22***22*22**22*22",
3876 Elements::Decrement32 => b"*2i",
3877 Elements::Decrement64 => b"*2l",
3878 Elements::Decrement8 => b"*2***22*22**22*22",
3879 Elements::DivMod128_64 => b"*ll",
3880 Elements::DivMod16 => b"i",
3881 Elements::DivMod32 => b"l",
3882 Elements::DivMod64 => b"*ll",
3883 Elements::DivMod8 => b"****22*22**22*22***22*22**22*22",
3884 Elements::Divide16 => b"****22*22**22*22***22*22**22*22",
3885 Elements::Divide32 => b"i",
3886 Elements::Divide64 => b"l",
3887 Elements::Divide8 => b"***22*22**22*22",
3888 Elements::Divides16 => b"2",
3889 Elements::Divides32 => b"2",
3890 Elements::Divides64 => b"2",
3891 Elements::Divides8 => b"2",
3892 Elements::Eq1 => b"2",
3893 Elements::Eq16 => b"2",
3894 Elements::Eq256 => b"2",
3895 Elements::Eq32 => b"2",
3896 Elements::Eq64 => b"2",
3897 Elements::Eq8 => b"2",
3898 Elements::FeAdd => b"h",
3899 Elements::FeInvert => b"h",
3900 Elements::FeIsOdd => b"2",
3901 Elements::FeIsZero => b"2",
3902 Elements::FeMultiply => b"h",
3903 Elements::FeMultiplyBeta => b"h",
3904 Elements::FeNegate => b"h",
3905 Elements::FeNormalize => b"h",
3906 Elements::FeSquare => b"h",
3907 Elements::FeSquareRoot => b"+1h",
3908 Elements::FullAdd16 => b"*2****22*22**22*22***22*22**22*22",
3909 Elements::FullAdd32 => b"*2i",
3910 Elements::FullAdd64 => b"*2l",
3911 Elements::FullAdd8 => b"*2***22*22**22*22",
3912 Elements::FullDecrement16 => b"*2****22*22**22*22***22*22**22*22",
3913 Elements::FullDecrement32 => b"*2i",
3914 Elements::FullDecrement64 => b"*2l",
3915 Elements::FullDecrement8 => b"*2***22*22**22*22",
3916 Elements::FullIncrement16 => b"*2****22*22**22*22***22*22**22*22",
3917 Elements::FullIncrement32 => b"*2i",
3918 Elements::FullIncrement64 => b"*2l",
3919 Elements::FullIncrement8 => b"*2***22*22**22*22",
3920 Elements::FullLeftShift16_1 => b"*2****22*22**22*22***22*22**22*22",
3921 Elements::FullLeftShift16_2 => b"**22****22*22**22*22***22*22**22*22",
3922 Elements::FullLeftShift16_4 => b"***22*22****22*22**22*22***22*22**22*22",
3923 Elements::FullLeftShift16_8 => b"****22*22**22*22****22*22**22*22***22*22**22*22",
3924 Elements::FullLeftShift32_1 => b"*2i",
3925 Elements::FullLeftShift32_16 => b"*****22*22**22*22***22*22**22*22i",
3926 Elements::FullLeftShift32_2 => b"**22i",
3927 Elements::FullLeftShift32_4 => b"***22*22i",
3928 Elements::FullLeftShift32_8 => b"****22*22**22*22i",
3929 Elements::FullLeftShift64_1 => b"*2l",
3930 Elements::FullLeftShift64_16 => b"*****22*22**22*22***22*22**22*22l",
3931 Elements::FullLeftShift64_2 => b"**22l",
3932 Elements::FullLeftShift64_32 => b"*il",
3933 Elements::FullLeftShift64_4 => b"***22*22l",
3934 Elements::FullLeftShift64_8 => b"****22*22**22*22l",
3935 Elements::FullLeftShift8_1 => b"*2***22*22**22*22",
3936 Elements::FullLeftShift8_2 => b"**22***22*22**22*22",
3937 Elements::FullLeftShift8_4 => b"***22*22***22*22**22*22",
3938 Elements::FullMultiply16 => b"i",
3939 Elements::FullMultiply32 => b"l",
3940 Elements::FullMultiply64 => b"*ll",
3941 Elements::FullMultiply8 => b"****22*22**22*22***22*22**22*22",
3942 Elements::FullRightShift16_1 => b"*****22*22**22*22***22*22**22*222",
3943 Elements::FullRightShift16_2 => b"*****22*22**22*22***22*22**22*22*22",
3944 Elements::FullRightShift16_4 => b"*****22*22**22*22***22*22**22*22**22*22",
3945 Elements::FullRightShift16_8 => b"*****22*22**22*22***22*22**22*22***22*22**22*22",
3946 Elements::FullRightShift32_1 => b"*i2",
3947 Elements::FullRightShift32_16 => b"*i****22*22**22*22***22*22**22*22",
3948 Elements::FullRightShift32_2 => b"*i*22",
3949 Elements::FullRightShift32_4 => b"*i**22*22",
3950 Elements::FullRightShift32_8 => b"*i***22*22**22*22",
3951 Elements::FullRightShift64_1 => b"*l2",
3952 Elements::FullRightShift64_16 => b"*l****22*22**22*22***22*22**22*22",
3953 Elements::FullRightShift64_2 => b"*l*22",
3954 Elements::FullRightShift64_32 => b"*li",
3955 Elements::FullRightShift64_4 => b"*l**22*22",
3956 Elements::FullRightShift64_8 => b"*l***22*22**22*22",
3957 Elements::FullRightShift8_1 => b"****22*22**22*222",
3958 Elements::FullRightShift8_2 => b"****22*22**22*22*22",
3959 Elements::FullRightShift8_4 => b"****22*22**22*22**22*22",
3960 Elements::FullSubtract16 => b"*2****22*22**22*22***22*22**22*22",
3961 Elements::FullSubtract32 => b"*2i",
3962 Elements::FullSubtract64 => b"*2l",
3963 Elements::FullSubtract8 => b"*2***22*22**22*22",
3964 Elements::GeIsOnCurve => b"2",
3965 Elements::GeNegate => b"*hh",
3966 Elements::GejAdd => b"**hhh",
3967 Elements::GejDouble => b"**hhh",
3968 Elements::GejEquiv => b"2",
3969 Elements::GejGeAdd => b"**hhh",
3970 Elements::GejGeAddEx => b"*h**hhh",
3971 Elements::GejGeEquiv => b"2",
3972 Elements::GejInfinity => b"**hhh",
3973 Elements::GejIsInfinity => b"2",
3974 Elements::GejIsOnCurve => b"2",
3975 Elements::GejNegate => b"**hhh",
3976 Elements::GejNormalize => b"+1*hh",
3977 Elements::GejRescale => b"**hhh",
3978 Elements::GejXEquiv => b"2",
3979 Elements::GejYIsOdd => b"2",
3980 Elements::Generate => b"**hhh",
3981 Elements::GenesisBlockHash => b"h",
3982 Elements::HashToCurve => b"*hh",
3983 Elements::High1 => b"2",
3984 Elements::High16 => b"****22*22**22*22***22*22**22*22",
3985 Elements::High32 => b"i",
3986 Elements::High64 => b"l",
3987 Elements::High8 => b"***22*22**22*22",
3988 Elements::Increment16 => b"*2****22*22**22*22***22*22**22*22",
3989 Elements::Increment32 => b"*2i",
3990 Elements::Increment64 => b"*2l",
3991 Elements::Increment8 => b"*2***22*22**22*22",
3992 Elements::InputAmount => b"+1*+*2hh+*2hl",
3993 Elements::InputAmountsHash => b"h",
3994 Elements::InputAnnexHash => b"+1+1h",
3995 Elements::InputAnnexesHash => b"h",
3996 Elements::InputAsset => b"+1+*2hh",
3997 Elements::InputHash => b"+1h",
3998 Elements::InputOutpointsHash => b"h",
3999 Elements::InputPegin => b"+1+1h",
4000 Elements::InputPrevOutpoint => b"+1*hi",
4001 Elements::InputScriptHash => b"+1h",
4002 Elements::InputScriptSigHash => b"+1h",
4003 Elements::InputScriptSigsHash => b"h",
4004 Elements::InputScriptsHash => b"h",
4005 Elements::InputSequence => b"+1i",
4006 Elements::InputSequencesHash => b"h",
4007 Elements::InputUtxoHash => b"+1h",
4008 Elements::InputUtxosHash => b"h",
4009 Elements::InputsHash => b"h",
4010 Elements::InternalKey => b"h",
4011 Elements::IsOne16 => b"2",
4012 Elements::IsOne32 => b"2",
4013 Elements::IsOne64 => b"2",
4014 Elements::IsOne8 => b"2",
4015 Elements::IsZero16 => b"2",
4016 Elements::IsZero32 => b"2",
4017 Elements::IsZero64 => b"2",
4018 Elements::IsZero8 => b"2",
4019 Elements::Issuance => b"+1+12",
4020 Elements::IssuanceAsset => b"+1+1h",
4021 Elements::IssuanceAssetAmount => b"+1+1+*2hl",
4022 Elements::IssuanceAssetAmountsHash => b"h",
4023 Elements::IssuanceAssetProof => b"+1h",
4024 Elements::IssuanceBlindingEntropyHash => b"h",
4025 Elements::IssuanceEntropy => b"+1+1h",
4026 Elements::IssuanceHash => b"+1h",
4027 Elements::IssuanceRangeProofsHash => b"h",
4028 Elements::IssuanceToken => b"+1+1h",
4029 Elements::IssuanceTokenAmount => b"+1+1+*2hl",
4030 Elements::IssuanceTokenAmountsHash => b"h",
4031 Elements::IssuanceTokenProof => b"+1h",
4032 Elements::IssuancesHash => b"h",
4033 Elements::LbtcAsset => b"h",
4034 Elements::Le16 => b"2",
4035 Elements::Le32 => b"2",
4036 Elements::Le64 => b"2",
4037 Elements::Le8 => b"2",
4038 Elements::LeftExtend16_32 => b"i",
4039 Elements::LeftExtend16_64 => b"l",
4040 Elements::LeftExtend1_16 => b"****22*22**22*22***22*22**22*22",
4041 Elements::LeftExtend1_32 => b"i",
4042 Elements::LeftExtend1_64 => b"l",
4043 Elements::LeftExtend1_8 => b"***22*22**22*22",
4044 Elements::LeftExtend32_64 => b"l",
4045 Elements::LeftExtend8_16 => b"****22*22**22*22***22*22**22*22",
4046 Elements::LeftExtend8_32 => b"i",
4047 Elements::LeftExtend8_64 => b"l",
4048 Elements::LeftPadHigh16_32 => b"i",
4049 Elements::LeftPadHigh16_64 => b"l",
4050 Elements::LeftPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4051 Elements::LeftPadHigh1_32 => b"i",
4052 Elements::LeftPadHigh1_64 => b"l",
4053 Elements::LeftPadHigh1_8 => b"***22*22**22*22",
4054 Elements::LeftPadHigh32_64 => b"l",
4055 Elements::LeftPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4056 Elements::LeftPadHigh8_32 => b"i",
4057 Elements::LeftPadHigh8_64 => b"l",
4058 Elements::LeftPadLow16_32 => b"i",
4059 Elements::LeftPadLow16_64 => b"l",
4060 Elements::LeftPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4061 Elements::LeftPadLow1_32 => b"i",
4062 Elements::LeftPadLow1_64 => b"l",
4063 Elements::LeftPadLow1_8 => b"***22*22**22*22",
4064 Elements::LeftPadLow32_64 => b"l",
4065 Elements::LeftPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4066 Elements::LeftPadLow8_32 => b"i",
4067 Elements::LeftPadLow8_64 => b"l",
4068 Elements::LeftRotate16 => b"****22*22**22*22***22*22**22*22",
4069 Elements::LeftRotate32 => b"i",
4070 Elements::LeftRotate64 => b"l",
4071 Elements::LeftRotate8 => b"***22*22**22*22",
4072 Elements::LeftShift16 => b"****22*22**22*22***22*22**22*22",
4073 Elements::LeftShift32 => b"i",
4074 Elements::LeftShift64 => b"l",
4075 Elements::LeftShift8 => b"***22*22**22*22",
4076 Elements::LeftShiftWith16 => b"****22*22**22*22***22*22**22*22",
4077 Elements::LeftShiftWith32 => b"i",
4078 Elements::LeftShiftWith64 => b"l",
4079 Elements::LeftShiftWith8 => b"***22*22**22*22",
4080 Elements::Leftmost16_1 => b"2",
4081 Elements::Leftmost16_2 => b"*22",
4082 Elements::Leftmost16_4 => b"**22*22",
4083 Elements::Leftmost16_8 => b"***22*22**22*22",
4084 Elements::Leftmost32_1 => b"2",
4085 Elements::Leftmost32_16 => b"****22*22**22*22***22*22**22*22",
4086 Elements::Leftmost32_2 => b"*22",
4087 Elements::Leftmost32_4 => b"**22*22",
4088 Elements::Leftmost32_8 => b"***22*22**22*22",
4089 Elements::Leftmost64_1 => b"2",
4090 Elements::Leftmost64_16 => b"****22*22**22*22***22*22**22*22",
4091 Elements::Leftmost64_2 => b"*22",
4092 Elements::Leftmost64_32 => b"i",
4093 Elements::Leftmost64_4 => b"**22*22",
4094 Elements::Leftmost64_8 => b"***22*22**22*22",
4095 Elements::Leftmost8_1 => b"2",
4096 Elements::Leftmost8_2 => b"*22",
4097 Elements::Leftmost8_4 => b"**22*22",
4098 Elements::LinearCombination1 => b"**hhh",
4099 Elements::LinearVerify1 => b"1",
4100 Elements::LockTime => b"i",
4101 Elements::Low1 => b"2",
4102 Elements::Low16 => b"****22*22**22*22***22*22**22*22",
4103 Elements::Low32 => b"i",
4104 Elements::Low64 => b"l",
4105 Elements::Low8 => b"***22*22**22*22",
4106 Elements::Lt16 => b"2",
4107 Elements::Lt32 => b"2",
4108 Elements::Lt64 => b"2",
4109 Elements::Lt8 => b"2",
4110 Elements::Maj1 => b"2",
4111 Elements::Maj16 => b"****22*22**22*22***22*22**22*22",
4112 Elements::Maj32 => b"i",
4113 Elements::Maj64 => b"l",
4114 Elements::Maj8 => b"***22*22**22*22",
4115 Elements::Max16 => b"****22*22**22*22***22*22**22*22",
4116 Elements::Max32 => b"i",
4117 Elements::Max64 => b"l",
4118 Elements::Max8 => b"***22*22**22*22",
4119 Elements::Median16 => b"****22*22**22*22***22*22**22*22",
4120 Elements::Median32 => b"i",
4121 Elements::Median64 => b"l",
4122 Elements::Median8 => b"***22*22**22*22",
4123 Elements::Min16 => b"****22*22**22*22***22*22**22*22",
4124 Elements::Min32 => b"i",
4125 Elements::Min64 => b"l",
4126 Elements::Min8 => b"***22*22**22*22",
4127 Elements::Modulo16 => b"****22*22**22*22***22*22**22*22",
4128 Elements::Modulo32 => b"i",
4129 Elements::Modulo64 => b"l",
4130 Elements::Modulo8 => b"***22*22**22*22",
4131 Elements::Multiply16 => b"i",
4132 Elements::Multiply32 => b"l",
4133 Elements::Multiply64 => b"*ll",
4134 Elements::Multiply8 => b"****22*22**22*22***22*22**22*22",
4135 Elements::Negate16 => b"*2****22*22**22*22***22*22**22*22",
4136 Elements::Negate32 => b"*2i",
4137 Elements::Negate64 => b"*2l",
4138 Elements::Negate8 => b"*2***22*22**22*22",
4139 Elements::NewIssuanceContract => b"+1+1h",
4140 Elements::NonceHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4141 Elements::NumInputs => b"i",
4142 Elements::NumOutputs => b"i",
4143 Elements::One16 => b"****22*22**22*22***22*22**22*22",
4144 Elements::One32 => b"i",
4145 Elements::One64 => b"l",
4146 Elements::One8 => b"***22*22**22*22",
4147 Elements::Or1 => b"2",
4148 Elements::Or16 => b"****22*22**22*22***22*22**22*22",
4149 Elements::Or32 => b"i",
4150 Elements::Or64 => b"l",
4151 Elements::Or8 => b"***22*22**22*22",
4152 Elements::OutpointHash => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4153 Elements::OutputAmount => b"+1*+*2hh+*2hl",
4154 Elements::OutputAmountsHash => b"h",
4155 Elements::OutputAsset => b"+1+*2hh",
4156 Elements::OutputHash => b"+1h",
4157 Elements::OutputIsFee => b"+12",
4158 Elements::OutputNonce => b"+1+1+*2hh",
4159 Elements::OutputNoncesHash => b"h",
4160 Elements::OutputNullDatum => b"+1+1+**22h+2**22*22",
4161 Elements::OutputRangeProof => b"+1h",
4162 Elements::OutputRangeProofsHash => b"h",
4163 Elements::OutputScriptHash => b"+1h",
4164 Elements::OutputScriptsHash => b"h",
4165 Elements::OutputSurjectionProof => b"+1h",
4166 Elements::OutputSurjectionProofsHash => b"h",
4167 Elements::OutputsHash => b"h",
4168 Elements::ParseLock => b"+ii",
4169 Elements::ParseSequence => b"+1+****22*22**22*22***22*22**22*22****22*22**22*22***22*22**22*22",
4170 Elements::PointVerify1 => b"1",
4171 Elements::ReissuanceBlinding => b"+1+1h",
4172 Elements::ReissuanceEntropy => b"+1+1h",
4173 Elements::RightExtend16_32 => b"i",
4174 Elements::RightExtend16_64 => b"l",
4175 Elements::RightExtend32_64 => b"l",
4176 Elements::RightExtend8_16 => b"****22*22**22*22***22*22**22*22",
4177 Elements::RightExtend8_32 => b"i",
4178 Elements::RightExtend8_64 => b"l",
4179 Elements::RightPadHigh16_32 => b"i",
4180 Elements::RightPadHigh16_64 => b"l",
4181 Elements::RightPadHigh1_16 => b"****22*22**22*22***22*22**22*22",
4182 Elements::RightPadHigh1_32 => b"i",
4183 Elements::RightPadHigh1_64 => b"l",
4184 Elements::RightPadHigh1_8 => b"***22*22**22*22",
4185 Elements::RightPadHigh32_64 => b"l",
4186 Elements::RightPadHigh8_16 => b"****22*22**22*22***22*22**22*22",
4187 Elements::RightPadHigh8_32 => b"i",
4188 Elements::RightPadHigh8_64 => b"l",
4189 Elements::RightPadLow16_32 => b"i",
4190 Elements::RightPadLow16_64 => b"l",
4191 Elements::RightPadLow1_16 => b"****22*22**22*22***22*22**22*22",
4192 Elements::RightPadLow1_32 => b"i",
4193 Elements::RightPadLow1_64 => b"l",
4194 Elements::RightPadLow1_8 => b"***22*22**22*22",
4195 Elements::RightPadLow32_64 => b"l",
4196 Elements::RightPadLow8_16 => b"****22*22**22*22***22*22**22*22",
4197 Elements::RightPadLow8_32 => b"i",
4198 Elements::RightPadLow8_64 => b"l",
4199 Elements::RightRotate16 => b"****22*22**22*22***22*22**22*22",
4200 Elements::RightRotate32 => b"i",
4201 Elements::RightRotate64 => b"l",
4202 Elements::RightRotate8 => b"***22*22**22*22",
4203 Elements::RightShift16 => b"****22*22**22*22***22*22**22*22",
4204 Elements::RightShift32 => b"i",
4205 Elements::RightShift64 => b"l",
4206 Elements::RightShift8 => b"***22*22**22*22",
4207 Elements::RightShiftWith16 => b"****22*22**22*22***22*22**22*22",
4208 Elements::RightShiftWith32 => b"i",
4209 Elements::RightShiftWith64 => b"l",
4210 Elements::RightShiftWith8 => b"***22*22**22*22",
4211 Elements::Rightmost16_1 => b"2",
4212 Elements::Rightmost16_2 => b"*22",
4213 Elements::Rightmost16_4 => b"**22*22",
4214 Elements::Rightmost16_8 => b"***22*22**22*22",
4215 Elements::Rightmost32_1 => b"2",
4216 Elements::Rightmost32_16 => b"****22*22**22*22***22*22**22*22",
4217 Elements::Rightmost32_2 => b"*22",
4218 Elements::Rightmost32_4 => b"**22*22",
4219 Elements::Rightmost32_8 => b"***22*22**22*22",
4220 Elements::Rightmost64_1 => b"2",
4221 Elements::Rightmost64_16 => b"****22*22**22*22***22*22**22*22",
4222 Elements::Rightmost64_2 => b"*22",
4223 Elements::Rightmost64_32 => b"i",
4224 Elements::Rightmost64_4 => b"**22*22",
4225 Elements::Rightmost64_8 => b"***22*22**22*22",
4226 Elements::Rightmost8_1 => b"2",
4227 Elements::Rightmost8_2 => b"*22",
4228 Elements::Rightmost8_4 => b"**22*22",
4229 Elements::ScalarAdd => b"h",
4230 Elements::ScalarInvert => b"h",
4231 Elements::ScalarIsZero => b"2",
4232 Elements::ScalarMultiply => b"h",
4233 Elements::ScalarMultiplyLambda => b"h",
4234 Elements::ScalarNegate => b"h",
4235 Elements::ScalarNormalize => b"h",
4236 Elements::ScalarSquare => b"h",
4237 Elements::Scale => b"**hhh",
4238 Elements::ScriptCMR => b"h",
4239 Elements::Sha256Block => b"h",
4240 Elements::Sha256Ctx8Add1 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4241 Elements::Sha256Ctx8Add128 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4242 Elements::Sha256Ctx8Add16 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4243 Elements::Sha256Ctx8Add2 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4244 Elements::Sha256Ctx8Add256 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4245 Elements::Sha256Ctx8Add32 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4246 Elements::Sha256Ctx8Add4 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4247 Elements::Sha256Ctx8Add512 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4248 Elements::Sha256Ctx8Add64 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4249 Elements::Sha256Ctx8Add8 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4250 Elements::Sha256Ctx8AddBuffer511 => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4251 Elements::Sha256Ctx8Finalize => b"h",
4252 Elements::Sha256Ctx8Init => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4253 Elements::Sha256Iv => b"h",
4254 Elements::SigAllHash => b"h",
4255 Elements::Some1 => b"2",
4256 Elements::Some16 => b"2",
4257 Elements::Some32 => b"2",
4258 Elements::Some64 => b"2",
4259 Elements::Some8 => b"2",
4260 Elements::Subtract16 => b"*2****22*22**22*22***22*22**22*22",
4261 Elements::Subtract32 => b"*2i",
4262 Elements::Subtract64 => b"*2l",
4263 Elements::Subtract8 => b"*2***22*22**22*22",
4264 Elements::Swu => b"*hh",
4265 Elements::TapEnvHash => b"h",
4266 Elements::TapdataInit => b"**+1h*+1*ll*+1l*+1i*+1****22*22**22*22***22*22**22*22+1***22*22**22*22*lh",
4267 Elements::TapleafHash => b"h",
4268 Elements::TapleafVersion => b"***22*22**22*22",
4269 Elements::Tappath => b"+1h",
4270 Elements::TappathHash => b"h",
4271 Elements::TotalFee => b"l",
4272 Elements::TransactionId => b"h",
4273 Elements::TxHash => b"h",
4274 Elements::TxIsFinal => b"2",
4275 Elements::TxLockDistance => b"****22*22**22*22***22*22**22*22",
4276 Elements::TxLockDuration => b"****22*22**22*22***22*22**22*22",
4277 Elements::TxLockHeight => b"i",
4278 Elements::TxLockTime => b"i",
4279 Elements::Verify => b"1",
4280 Elements::Version => b"i",
4281 Elements::Xor1 => b"2",
4282 Elements::Xor16 => b"****22*22**22*22***22*22**22*22",
4283 Elements::Xor32 => b"i",
4284 Elements::Xor64 => b"l",
4285 Elements::Xor8 => b"***22*22**22*22",
4286 Elements::XorXor1 => b"2",
4287 Elements::XorXor16 => b"****22*22**22*22***22*22**22*22",
4288 Elements::XorXor32 => b"i",
4289 Elements::XorXor64 => b"l",
4290 Elements::XorXor8 => b"***22*22**22*22",
4291 };
4292
4293 TypeName(name)
4294 }
4295
4296 fn encode<W: Write>(&self, w: &mut BitWriter<W>) -> std::io::Result<usize> {
4297 let (n, len) = match self {
4298 Elements::Verify => (0, 3),
4299 Elements::Low1 => (8, 6),
4300 Elements::Low8 => (37, 8),
4301 Elements::Low16 => (304, 11),
4302 Elements::Low32 => (305, 11),
4303 Elements::Low64 => (306, 11),
4304 Elements::High1 => (10, 6),
4305 Elements::High8 => (45, 8),
4306 Elements::High16 => (368, 11),
4307 Elements::High32 => (369, 11),
4308 Elements::High64 => (370, 11),
4309 Elements::Complement1 => (96, 9),
4310 Elements::Complement8 => (389, 11),
4311 Elements::Complement16 => (3120, 14),
4312 Elements::Complement32 => (3121, 14),
4313 Elements::Complement64 => (3122, 14),
4314 Elements::And1 => (98, 9),
4315 Elements::And8 => (397, 11),
4316 Elements::And16 => (3184, 14),
4317 Elements::And32 => (3185, 14),
4318 Elements::And64 => (3186, 14),
4319 Elements::Or1 => (100, 9),
4320 Elements::Or8 => (405, 11),
4321 Elements::Or16 => (3248, 14),
4322 Elements::Or32 => (3249, 14),
4323 Elements::Or64 => (3250, 14),
4324 Elements::Xor1 => (102, 9),
4325 Elements::Xor8 => (413, 11),
4326 Elements::Xor16 => (3312, 14),
4327 Elements::Xor32 => (3313, 14),
4328 Elements::Xor64 => (3314, 14),
4329 Elements::Maj1 => (208, 10),
4330 Elements::Maj8 => (837, 12),
4331 Elements::Maj16 => (6704, 15),
4332 Elements::Maj32 => (6705, 15),
4333 Elements::Maj64 => (6706, 15),
4334 Elements::XorXor1 => (210, 10),
4335 Elements::XorXor8 => (845, 12),
4336 Elements::XorXor16 => (6768, 15),
4337 Elements::XorXor32 => (6769, 15),
4338 Elements::XorXor64 => (6770, 15),
4339 Elements::Ch1 => (212, 10),
4340 Elements::Ch8 => (853, 12),
4341 Elements::Ch16 => (6832, 15),
4342 Elements::Ch32 => (6833, 15),
4343 Elements::Ch64 => (6834, 15),
4344 Elements::Some1 => (214, 10),
4345 Elements::Some8 => (861, 12),
4346 Elements::Some16 => (6896, 15),
4347 Elements::Some32 => (6897, 15),
4348 Elements::Some64 => (6898, 15),
4349 Elements::All8 => (869, 12),
4350 Elements::All16 => (6960, 15),
4351 Elements::All32 => (6961, 15),
4352 Elements::All64 => (6962, 15),
4353 Elements::Eq1 => (218, 10),
4354 Elements::Eq8 => (877, 12),
4355 Elements::Eq16 => (7024, 15),
4356 Elements::Eq32 => (7025, 15),
4357 Elements::Eq64 => (7026, 15),
4358 Elements::Eq256 => (14056, 16),
4359 Elements::FullLeftShift8_1 => (1765, 13),
4360 Elements::FullLeftShift16_1 => (14128, 16),
4361 Elements::FullLeftShift32_1 => (14129, 16),
4362 Elements::FullLeftShift64_1 => (14130, 16),
4363 Elements::FullLeftShift8_2 => (7076, 15),
4364 Elements::FullLeftShift16_2 => (7077, 15),
4365 Elements::FullLeftShift32_2 => (56624, 18),
4366 Elements::FullLeftShift64_2 => (56625, 18),
4367 Elements::FullLeftShift8_4 => (1770, 13),
4368 Elements::FullLeftShift16_4 => (7084, 15),
4369 Elements::FullLeftShift32_4 => (7085, 15),
4370 Elements::FullLeftShift64_4 => (56688, 18),
4371 Elements::FullLeftShift16_8 => (14176, 16),
4372 Elements::FullLeftShift32_8 => (56708, 18),
4373 Elements::FullLeftShift64_8 => (56709, 18),
4374 Elements::FullLeftShift32_16 => (14178, 16),
4375 Elements::FullLeftShift64_16 => (56716, 18),
4376 Elements::FullLeftShift64_32 => (14180, 16),
4377 Elements::FullRightShift8_1 => (1781, 13),
4378 Elements::FullRightShift16_1 => (14256, 16),
4379 Elements::FullRightShift32_1 => (14257, 16),
4380 Elements::FullRightShift64_1 => (14258, 16),
4381 Elements::FullRightShift8_2 => (7140, 15),
4382 Elements::FullRightShift16_2 => (7141, 15),
4383 Elements::FullRightShift32_2 => (57136, 18),
4384 Elements::FullRightShift64_2 => (57137, 18),
4385 Elements::FullRightShift8_4 => (1786, 13),
4386 Elements::FullRightShift16_4 => (7148, 15),
4387 Elements::FullRightShift32_4 => (7149, 15),
4388 Elements::FullRightShift64_4 => (57200, 18),
4389 Elements::FullRightShift16_8 => (14304, 16),
4390 Elements::FullRightShift32_8 => (57220, 18),
4391 Elements::FullRightShift64_8 => (57221, 18),
4392 Elements::FullRightShift32_16 => (14306, 16),
4393 Elements::FullRightShift64_16 => (57228, 18),
4394 Elements::FullRightShift64_32 => (14308, 16),
4395 Elements::Leftmost8_1 => (28677, 17),
4396 Elements::Leftmost16_1 => (229424, 20),
4397 Elements::Leftmost32_1 => (229425, 20),
4398 Elements::Leftmost64_1 => (229426, 20),
4399 Elements::Leftmost8_2 => (114724, 19),
4400 Elements::Leftmost16_2 => (114725, 19),
4401 Elements::Leftmost32_2 => (917808, 22),
4402 Elements::Leftmost64_2 => (917809, 22),
4403 Elements::Leftmost8_4 => (28682, 17),
4404 Elements::Leftmost16_4 => (114732, 19),
4405 Elements::Leftmost32_4 => (114733, 19),
4406 Elements::Leftmost64_4 => (917872, 22),
4407 Elements::Leftmost16_8 => (229472, 20),
4408 Elements::Leftmost32_8 => (917892, 22),
4409 Elements::Leftmost64_8 => (917893, 22),
4410 Elements::Leftmost32_16 => (229474, 20),
4411 Elements::Leftmost64_16 => (917900, 22),
4412 Elements::Leftmost64_32 => (229476, 20),
4413 Elements::Rightmost8_1 => (28693, 17),
4414 Elements::Rightmost16_1 => (229552, 20),
4415 Elements::Rightmost32_1 => (229553, 20),
4416 Elements::Rightmost64_1 => (229554, 20),
4417 Elements::Rightmost8_2 => (114788, 19),
4418 Elements::Rightmost16_2 => (114789, 19),
4419 Elements::Rightmost32_2 => (918320, 22),
4420 Elements::Rightmost64_2 => (918321, 22),
4421 Elements::Rightmost8_4 => (28698, 17),
4422 Elements::Rightmost16_4 => (114796, 19),
4423 Elements::Rightmost32_4 => (114797, 19),
4424 Elements::Rightmost64_4 => (918384, 22),
4425 Elements::Rightmost16_8 => (229600, 20),
4426 Elements::Rightmost32_8 => (918404, 22),
4427 Elements::Rightmost64_8 => (918405, 22),
4428 Elements::Rightmost32_16 => (229602, 20),
4429 Elements::Rightmost64_16 => (918412, 22),
4430 Elements::Rightmost64_32 => (229604, 20),
4431 Elements::LeftPadLow1_8 => (28709, 17),
4432 Elements::LeftPadLow1_16 => (229680, 20),
4433 Elements::LeftPadLow1_32 => (229681, 20),
4434 Elements::LeftPadLow1_64 => (229682, 20),
4435 Elements::LeftPadLow8_16 => (229728, 20),
4436 Elements::LeftPadLow8_32 => (918916, 22),
4437 Elements::LeftPadLow8_64 => (918917, 22),
4438 Elements::LeftPadLow16_32 => (229730, 20),
4439 Elements::LeftPadLow16_64 => (918924, 22),
4440 Elements::LeftPadLow32_64 => (229732, 20),
4441 Elements::LeftPadHigh1_8 => (28725, 17),
4442 Elements::LeftPadHigh1_16 => (229808, 20),
4443 Elements::LeftPadHigh1_32 => (229809, 20),
4444 Elements::LeftPadHigh1_64 => (229810, 20),
4445 Elements::LeftPadHigh8_16 => (229856, 20),
4446 Elements::LeftPadHigh8_32 => (919428, 22),
4447 Elements::LeftPadHigh8_64 => (919429, 22),
4448 Elements::LeftPadHigh16_32 => (229858, 20),
4449 Elements::LeftPadHigh16_64 => (919436, 22),
4450 Elements::LeftPadHigh32_64 => (229860, 20),
4451 Elements::LeftExtend1_8 => (28741, 17),
4452 Elements::LeftExtend1_16 => (229936, 20),
4453 Elements::LeftExtend1_32 => (229937, 20),
4454 Elements::LeftExtend1_64 => (229938, 20),
4455 Elements::LeftExtend8_16 => (229984, 20),
4456 Elements::LeftExtend8_32 => (919940, 22),
4457 Elements::LeftExtend8_64 => (919941, 22),
4458 Elements::LeftExtend16_32 => (229986, 20),
4459 Elements::LeftExtend16_64 => (919948, 22),
4460 Elements::LeftExtend32_64 => (229988, 20),
4461 Elements::RightPadLow1_8 => (28757, 17),
4462 Elements::RightPadLow1_16 => (230064, 20),
4463 Elements::RightPadLow1_32 => (230065, 20),
4464 Elements::RightPadLow1_64 => (230066, 20),
4465 Elements::RightPadLow8_16 => (230112, 20),
4466 Elements::RightPadLow8_32 => (920452, 22),
4467 Elements::RightPadLow8_64 => (920453, 22),
4468 Elements::RightPadLow16_32 => (230114, 20),
4469 Elements::RightPadLow16_64 => (920460, 22),
4470 Elements::RightPadLow32_64 => (230116, 20),
4471 Elements::RightPadHigh1_8 => (28773, 17),
4472 Elements::RightPadHigh1_16 => (230192, 20),
4473 Elements::RightPadHigh1_32 => (230193, 20),
4474 Elements::RightPadHigh1_64 => (230194, 20),
4475 Elements::RightPadHigh8_16 => (230240, 20),
4476 Elements::RightPadHigh8_32 => (920964, 22),
4477 Elements::RightPadHigh8_64 => (920965, 22),
4478 Elements::RightPadHigh16_32 => (230242, 20),
4479 Elements::RightPadHigh16_64 => (920972, 22),
4480 Elements::RightPadHigh32_64 => (230244, 20),
4481 Elements::RightExtend8_16 => (230368, 20),
4482 Elements::RightExtend8_32 => (921476, 22),
4483 Elements::RightExtend8_64 => (921477, 22),
4484 Elements::RightExtend16_32 => (230370, 20),
4485 Elements::RightExtend16_64 => (921484, 22),
4486 Elements::RightExtend32_64 => (230372, 20),
4487 Elements::LeftShiftWith8 => (14405, 16),
4488 Elements::LeftShiftWith16 => (115248, 19),
4489 Elements::LeftShiftWith32 => (115249, 19),
4490 Elements::LeftShiftWith64 => (115250, 19),
4491 Elements::RightShiftWith8 => (14413, 16),
4492 Elements::RightShiftWith16 => (115312, 19),
4493 Elements::RightShiftWith32 => (115313, 19),
4494 Elements::RightShiftWith64 => (115314, 19),
4495 Elements::LeftShift8 => (14421, 16),
4496 Elements::LeftShift16 => (115376, 19),
4497 Elements::LeftShift32 => (115377, 19),
4498 Elements::LeftShift64 => (115378, 19),
4499 Elements::RightShift8 => (14429, 16),
4500 Elements::RightShift16 => (115440, 19),
4501 Elements::RightShift32 => (115441, 19),
4502 Elements::RightShift64 => (115442, 19),
4503 Elements::LeftRotate8 => (14437, 16),
4504 Elements::LeftRotate16 => (115504, 19),
4505 Elements::LeftRotate32 => (115505, 19),
4506 Elements::LeftRotate64 => (115506, 19),
4507 Elements::RightRotate8 => (14445, 16),
4508 Elements::RightRotate16 => (115568, 19),
4509 Elements::RightRotate32 => (115569, 19),
4510 Elements::RightRotate64 => (115570, 19),
4511 Elements::One8 => (69, 8),
4512 Elements::One16 => (560, 11),
4513 Elements::One32 => (561, 11),
4514 Elements::One64 => (562, 11),
4515 Elements::FullAdd8 => (293, 10),
4516 Elements::FullAdd16 => (2352, 13),
4517 Elements::FullAdd32 => (2353, 13),
4518 Elements::FullAdd64 => (2354, 13),
4519 Elements::Add8 => (301, 10),
4520 Elements::Add16 => (2416, 13),
4521 Elements::Add32 => (2417, 13),
4522 Elements::Add64 => (2418, 13),
4523 Elements::FullIncrement8 => (2437, 13),
4524 Elements::FullIncrement16 => (19504, 16),
4525 Elements::FullIncrement32 => (19505, 16),
4526 Elements::FullIncrement64 => (19506, 16),
4527 Elements::Increment8 => (2445, 13),
4528 Elements::Increment16 => (19568, 16),
4529 Elements::Increment32 => (19569, 16),
4530 Elements::Increment64 => (19570, 16),
4531 Elements::FullSubtract8 => (2461, 13),
4532 Elements::FullSubtract16 => (19696, 16),
4533 Elements::FullSubtract32 => (19697, 16),
4534 Elements::FullSubtract64 => (19698, 16),
4535 Elements::Subtract8 => (4933, 14),
4536 Elements::Subtract16 => (39472, 17),
4537 Elements::Subtract32 => (39473, 17),
4538 Elements::Subtract64 => (39474, 17),
4539 Elements::Negate8 => (4941, 14),
4540 Elements::Negate16 => (39536, 17),
4541 Elements::Negate32 => (39537, 17),
4542 Elements::Negate64 => (39538, 17),
4543 Elements::FullDecrement8 => (4949, 14),
4544 Elements::FullDecrement16 => (39600, 17),
4545 Elements::FullDecrement32 => (39601, 17),
4546 Elements::FullDecrement64 => (39602, 17),
4547 Elements::Decrement8 => (4957, 14),
4548 Elements::Decrement16 => (39664, 17),
4549 Elements::Decrement32 => (39665, 17),
4550 Elements::Decrement64 => (39666, 17),
4551 Elements::FullMultiply8 => (4965, 14),
4552 Elements::FullMultiply16 => (39728, 17),
4553 Elements::FullMultiply32 => (39729, 17),
4554 Elements::FullMultiply64 => (39730, 17),
4555 Elements::Multiply8 => (4973, 14),
4556 Elements::Multiply16 => (39792, 17),
4557 Elements::Multiply32 => (39793, 17),
4558 Elements::Multiply64 => (39794, 17),
4559 Elements::IsZero8 => (4981, 14),
4560 Elements::IsZero16 => (39856, 17),
4561 Elements::IsZero32 => (39857, 17),
4562 Elements::IsZero64 => (39858, 17),
4563 Elements::IsOne8 => (4989, 14),
4564 Elements::IsOne16 => (39920, 17),
4565 Elements::IsOne32 => (39921, 17),
4566 Elements::IsOne64 => (39922, 17),
4567 Elements::Le8 => (79877, 18),
4568 Elements::Le16 => (639024, 21),
4569 Elements::Le32 => (639025, 21),
4570 Elements::Le64 => (639026, 21),
4571 Elements::Lt8 => (79885, 18),
4572 Elements::Lt16 => (639088, 21),
4573 Elements::Lt32 => (639089, 21),
4574 Elements::Lt64 => (639090, 21),
4575 Elements::Min8 => (79893, 18),
4576 Elements::Min16 => (639152, 21),
4577 Elements::Min32 => (639153, 21),
4578 Elements::Min64 => (639154, 21),
4579 Elements::Max8 => (79901, 18),
4580 Elements::Max16 => (639216, 21),
4581 Elements::Max32 => (639217, 21),
4582 Elements::Max64 => (639218, 21),
4583 Elements::Median8 => (79909, 18),
4584 Elements::Median16 => (639280, 21),
4585 Elements::Median32 => (639281, 21),
4586 Elements::Median64 => (639282, 21),
4587 Elements::DivMod128_64 => (639346, 21),
4588 Elements::DivMod8 => (79925, 18),
4589 Elements::DivMod16 => (639408, 21),
4590 Elements::DivMod32 => (639409, 21),
4591 Elements::DivMod64 => (639410, 21),
4592 Elements::Divide8 => (79933, 18),
4593 Elements::Divide16 => (639472, 21),
4594 Elements::Divide32 => (639473, 21),
4595 Elements::Divide64 => (639474, 21),
4596 Elements::Modulo8 => (79941, 18),
4597 Elements::Modulo16 => (639536, 21),
4598 Elements::Modulo32 => (639537, 21),
4599 Elements::Modulo64 => (639538, 21),
4600 Elements::Divides8 => (79949, 18),
4601 Elements::Divides16 => (639600, 21),
4602 Elements::Divides32 => (639601, 21),
4603 Elements::Divides64 => (639602, 21),
4604 Elements::Sha256Block => (20, 6),
4605 Elements::Sha256Iv => (84, 8),
4606 Elements::Sha256Ctx8Add1 => (170, 9),
4607 Elements::Sha256Ctx8Add2 => (684, 11),
4608 Elements::Sha256Ctx8Add4 => (685, 11),
4609 Elements::Sha256Ctx8Add8 => (5488, 14),
4610 Elements::Sha256Ctx8Add16 => (5489, 14),
4611 Elements::Sha256Ctx8Add32 => (5490, 14),
4612 Elements::Sha256Ctx8Add64 => (5491, 14),
4613 Elements::Sha256Ctx8Add128 => (10984, 15),
4614 Elements::Sha256Ctx8Add256 => (10985, 15),
4615 Elements::Sha256Ctx8Add512 => (10986, 15),
4616 Elements::Sha256Ctx8AddBuffer511 => (688, 11),
4617 Elements::Sha256Ctx8Finalize => (689, 11),
4618 Elements::Sha256Ctx8Init => (690, 11),
4619 Elements::PointVerify1 => (192, 9),
4620 Elements::Decompress => (388, 10),
4621 Elements::LinearVerify1 => (778, 11),
4622 Elements::LinearCombination1 => (6240, 14),
4623 Elements::Scale => (3121, 13),
4624 Elements::Generate => (3122, 13),
4625 Elements::GejInfinity => (3123, 13),
4626 Elements::GejNormalize => (6248, 14),
4627 Elements::GejNegate => (6249, 14),
4628 Elements::GeNegate => (6250, 14),
4629 Elements::GejDouble => (6251, 14),
4630 Elements::GejAdd => (6252, 14),
4631 Elements::GejGeAddEx => (6253, 14),
4632 Elements::GejGeAdd => (6254, 14),
4633 Elements::GejRescale => (6255, 14),
4634 Elements::GejIsInfinity => (100096, 18),
4635 Elements::GejEquiv => (100097, 18),
4636 Elements::GejGeEquiv => (100098, 18),
4637 Elements::GejXEquiv => (100099, 18),
4638 Elements::GejYIsOdd => (100100, 18),
4639 Elements::GejIsOnCurve => (100101, 18),
4640 Elements::GeIsOnCurve => (100102, 18),
4641 Elements::ScalarNormalize => (100103, 18),
4642 Elements::ScalarNegate => (100104, 18),
4643 Elements::ScalarAdd => (100105, 18),
4644 Elements::ScalarSquare => (100106, 18),
4645 Elements::ScalarMultiply => (100107, 18),
4646 Elements::ScalarMultiplyLambda => (100108, 18),
4647 Elements::ScalarInvert => (100109, 18),
4648 Elements::ScalarIsZero => (100110, 18),
4649 Elements::FeNormalize => (200227, 19),
4650 Elements::FeNegate => (200228, 19),
4651 Elements::FeAdd => (200229, 19),
4652 Elements::FeSquare => (200230, 19),
4653 Elements::FeMultiply => (200231, 19),
4654 Elements::FeMultiplyBeta => (200232, 19),
4655 Elements::FeInvert => (200233, 19),
4656 Elements::FeSquareRoot => (200234, 19),
4657 Elements::FeIsZero => (200235, 19),
4658 Elements::FeIsOdd => (200236, 19),
4659 Elements::HashToCurve => (200238, 19),
4660 Elements::Swu => (200239, 19),
4661 Elements::CheckSigVerify => (98, 8),
4662 Elements::Bip0340Verify => (396, 10),
4663 Elements::ParseLock => (102, 8),
4664 Elements::ParseSequence => (412, 10),
4665 Elements::TapdataInit => (413, 10),
4666 Elements::SigAllHash => (4, 3),
4667 Elements::TxHash => (20, 5),
4668 Elements::TapEnvHash => (21, 5),
4669 Elements::OutputsHash => (176, 8),
4670 Elements::InputsHash => (177, 8),
4671 Elements::IssuancesHash => (178, 8),
4672 Elements::InputUtxosHash => (179, 8),
4673 Elements::OutputHash => (360, 9),
4674 Elements::OutputAmountsHash => (361, 9),
4675 Elements::OutputScriptsHash => (362, 9),
4676 Elements::OutputNoncesHash => (363, 9),
4677 Elements::OutputRangeProofsHash => (364, 9),
4678 Elements::OutputSurjectionProofsHash => (365, 9),
4679 Elements::InputHash => (366, 9),
4680 Elements::InputOutpointsHash => (367, 9),
4681 Elements::InputSequencesHash => (5888, 13),
4682 Elements::InputAnnexesHash => (5889, 13),
4683 Elements::InputScriptSigsHash => (5890, 13),
4684 Elements::IssuanceHash => (5891, 13),
4685 Elements::IssuanceAssetAmountsHash => (5892, 13),
4686 Elements::IssuanceTokenAmountsHash => (5893, 13),
4687 Elements::IssuanceRangeProofsHash => (5894, 13),
4688 Elements::IssuanceBlindingEntropyHash => (5895, 13),
4689 Elements::InputUtxoHash => (5896, 13),
4690 Elements::InputAmountsHash => (5897, 13),
4691 Elements::InputScriptsHash => (5898, 13),
4692 Elements::TapleafHash => (5899, 13),
4693 Elements::TappathHash => (5900, 13),
4694 Elements::OutpointHash => (5901, 13),
4695 Elements::AssetAmountHash => (5902, 13),
4696 Elements::NonceHash => (5903, 13),
4697 Elements::AnnexHash => (11808, 14),
4698 Elements::BuildTapleafSimplicity => (11809, 14),
4699 Elements::BuildTapbranch => (11810, 14),
4700 Elements::BuildTaptweak => (11811, 14),
4701 Elements::CheckLockHeight => (24, 5),
4702 Elements::CheckLockTime => (100, 7),
4703 Elements::CheckLockDistance => (101, 7),
4704 Elements::CheckLockDuration => (816, 10),
4705 Elements::TxLockHeight => (817, 10),
4706 Elements::TxLockTime => (818, 10),
4707 Elements::TxLockDistance => (819, 10),
4708 Elements::TxLockDuration => (1640, 11),
4709 Elements::TxIsFinal => (1641, 11),
4710 Elements::Issuance => (26, 5),
4711 Elements::IssuanceAsset => (108, 7),
4712 Elements::IssuanceToken => (109, 7),
4713 Elements::IssuanceEntropy => (880, 10),
4714 Elements::CalculateIssuanceEntropy => (881, 10),
4715 Elements::CalculateAsset => (882, 10),
4716 Elements::CalculateExplicitToken => (883, 10),
4717 Elements::CalculateConfidentialToken => (1768, 11),
4718 Elements::LbtcAsset => (1769, 11),
4719 Elements::ScriptCMR => (224, 8),
4720 Elements::InternalKey => (900, 10),
4721 Elements::CurrentIndex => (901, 10),
4722 Elements::NumInputs => (7216, 13),
4723 Elements::NumOutputs => (7217, 13),
4724 Elements::LockTime => (7218, 13),
4725 Elements::OutputAsset => (7219, 13),
4726 Elements::OutputAmount => (14440, 14),
4727 Elements::OutputNonce => (14441, 14),
4728 Elements::OutputScriptHash => (14442, 14),
4729 Elements::OutputNullDatum => (14443, 14),
4730 Elements::OutputIsFee => (14444, 14),
4731 Elements::OutputSurjectionProof => (14445, 14),
4732 Elements::OutputRangeProof => (14446, 14),
4733 Elements::TotalFee => (14447, 14),
4734 Elements::CurrentPegin => (231168, 18),
4735 Elements::CurrentPrevOutpoint => (231169, 18),
4736 Elements::CurrentAsset => (231170, 18),
4737 Elements::CurrentAmount => (231171, 18),
4738 Elements::CurrentScriptHash => (231172, 18),
4739 Elements::CurrentSequence => (231173, 18),
4740 Elements::CurrentAnnexHash => (231174, 18),
4741 Elements::CurrentScriptSigHash => (231175, 18),
4742 Elements::CurrentReissuanceBlinding => (231176, 18),
4743 Elements::CurrentNewIssuanceContract => (231177, 18),
4744 Elements::CurrentReissuanceEntropy => (231178, 18),
4745 Elements::CurrentIssuanceAssetAmount => (231179, 18),
4746 Elements::CurrentIssuanceTokenAmount => (231180, 18),
4747 Elements::CurrentIssuanceAssetProof => (231181, 18),
4748 Elements::CurrentIssuanceTokenProof => (231182, 18),
4749 Elements::InputPegin => (231183, 18),
4750 Elements::InputPrevOutpoint => (462368, 19),
4751 Elements::InputAsset => (462369, 19),
4752 Elements::InputAmount => (462370, 19),
4753 Elements::InputScriptHash => (462371, 19),
4754 Elements::InputSequence => (462372, 19),
4755 Elements::InputAnnexHash => (462373, 19),
4756 Elements::InputScriptSigHash => (462374, 19),
4757 Elements::ReissuanceBlinding => (462375, 19),
4758 Elements::NewIssuanceContract => (462376, 19),
4759 Elements::ReissuanceEntropy => (462377, 19),
4760 Elements::IssuanceAssetAmount => (462378, 19),
4761 Elements::IssuanceTokenAmount => (462379, 19),
4762 Elements::IssuanceAssetProof => (462380, 19),
4763 Elements::IssuanceTokenProof => (462381, 19),
4764 Elements::TapleafVersion => (462382, 19),
4765 Elements::Tappath => (462383, 19),
4766 Elements::Version => (462384, 19),
4767 Elements::GenesisBlockHash => (462385, 19),
4768 Elements::TransactionId => (462386, 19),
4769 };
4770
4771 w.write_bits_be(n, len)
4772 }
4773
4774 fn decode<I: Iterator<Item = u8>>(bits: &mut BitIter<I>) -> Result<Self, decode::Error> {
4775 decode_bits!(bits, {
4776 0 => {
4777 0 => {
4778 0 => {Elements::Verify},
4779 1 => {
4780 0 => {
4781 0 => {
4782 0 => {Elements::Low1},
4783 1 => {
4784 0 => {
4785 0 => {},
4786 1 => {Elements::Low8}
4787 },
4788 1 => {
4789 0 => {
4790 0 => {
4791 0 => {
4792 0 => {Elements::Low16},
4793 1 => {Elements::Low32}
4794 },
4795 1 => {
4796 0 => {Elements::Low64},
4797 1 => {}
4798 }
4799 },
4800 1 => {}
4801 },
4802 1 => {}
4803 }
4804 }
4805 },
4806 1 => {
4807 0 => {Elements::High1},
4808 1 => {
4809 0 => {
4810 0 => {},
4811 1 => {Elements::High8}
4812 },
4813 1 => {
4814 0 => {
4815 0 => {
4816 0 => {
4817 0 => {Elements::High16},
4818 1 => {Elements::High32}
4819 },
4820 1 => {
4821 0 => {Elements::High64},
4822 1 => {}
4823 }
4824 },
4825 1 => {}
4826 },
4827 1 => {}
4828 }
4829 }
4830 }
4831 },
4832 1 => {
4833 0 => {
4834 0 => {
4835 0 => {
4836 0 => {
4837 0 => {Elements::Complement1},
4838 1 => {
4839 0 => {
4840 0 => {},
4841 1 => {Elements::Complement8}
4842 },
4843 1 => {
4844 0 => {
4845 0 => {
4846 0 => {
4847 0 => {Elements::Complement16},
4848 1 => {Elements::Complement32}
4849 },
4850 1 => {
4851 0 => {Elements::Complement64},
4852 1 => {}
4853 }
4854 },
4855 1 => {}
4856 },
4857 1 => {}
4858 }
4859 }
4860 },
4861 1 => {
4862 0 => {Elements::And1},
4863 1 => {
4864 0 => {
4865 0 => {},
4866 1 => {Elements::And8}
4867 },
4868 1 => {
4869 0 => {
4870 0 => {
4871 0 => {
4872 0 => {Elements::And16},
4873 1 => {Elements::And32}
4874 },
4875 1 => {
4876 0 => {Elements::And64},
4877 1 => {}
4878 }
4879 },
4880 1 => {}
4881 },
4882 1 => {}
4883 }
4884 }
4885 }
4886 },
4887 1 => {
4888 0 => {
4889 0 => {Elements::Or1},
4890 1 => {
4891 0 => {
4892 0 => {},
4893 1 => {Elements::Or8}
4894 },
4895 1 => {
4896 0 => {
4897 0 => {
4898 0 => {
4899 0 => {Elements::Or16},
4900 1 => {Elements::Or32}
4901 },
4902 1 => {
4903 0 => {Elements::Or64},
4904 1 => {}
4905 }
4906 },
4907 1 => {}
4908 },
4909 1 => {}
4910 }
4911 }
4912 },
4913 1 => {
4914 0 => {Elements::Xor1},
4915 1 => {
4916 0 => {
4917 0 => {},
4918 1 => {Elements::Xor8}
4919 },
4920 1 => {
4921 0 => {
4922 0 => {
4923 0 => {
4924 0 => {Elements::Xor16},
4925 1 => {Elements::Xor32}
4926 },
4927 1 => {
4928 0 => {Elements::Xor64},
4929 1 => {}
4930 }
4931 },
4932 1 => {}
4933 },
4934 1 => {}
4935 }
4936 }
4937 }
4938 }
4939 },
4940 1 => {
4941 0 => {
4942 0 => {
4943 0 => {
4944 0 => {Elements::Maj1},
4945 1 => {
4946 0 => {
4947 0 => {},
4948 1 => {Elements::Maj8}
4949 },
4950 1 => {
4951 0 => {
4952 0 => {
4953 0 => {
4954 0 => {Elements::Maj16},
4955 1 => {Elements::Maj32}
4956 },
4957 1 => {
4958 0 => {Elements::Maj64},
4959 1 => {}
4960 }
4961 },
4962 1 => {}
4963 },
4964 1 => {}
4965 }
4966 }
4967 },
4968 1 => {
4969 0 => {Elements::XorXor1},
4970 1 => {
4971 0 => {
4972 0 => {},
4973 1 => {Elements::XorXor8}
4974 },
4975 1 => {
4976 0 => {
4977 0 => {
4978 0 => {
4979 0 => {Elements::XorXor16},
4980 1 => {Elements::XorXor32}
4981 },
4982 1 => {
4983 0 => {Elements::XorXor64},
4984 1 => {}
4985 }
4986 },
4987 1 => {}
4988 },
4989 1 => {}
4990 }
4991 }
4992 }
4993 },
4994 1 => {
4995 0 => {
4996 0 => {Elements::Ch1},
4997 1 => {
4998 0 => {
4999 0 => {},
5000 1 => {Elements::Ch8}
5001 },
5002 1 => {
5003 0 => {
5004 0 => {
5005 0 => {
5006 0 => {Elements::Ch16},
5007 1 => {Elements::Ch32}
5008 },
5009 1 => {
5010 0 => {Elements::Ch64},
5011 1 => {}
5012 }
5013 },
5014 1 => {}
5015 },
5016 1 => {}
5017 }
5018 }
5019 },
5020 1 => {
5021 0 => {Elements::Some1},
5022 1 => {
5023 0 => {
5024 0 => {},
5025 1 => {Elements::Some8}
5026 },
5027 1 => {
5028 0 => {
5029 0 => {
5030 0 => {
5031 0 => {Elements::Some16},
5032 1 => {Elements::Some32}
5033 },
5034 1 => {
5035 0 => {Elements::Some64},
5036 1 => {}
5037 }
5038 },
5039 1 => {}
5040 },
5041 1 => {}
5042 }
5043 }
5044 }
5045 }
5046 },
5047 1 => {
5048 0 => {
5049 0 => {
5050 0 => {},
5051 1 => {
5052 0 => {
5053 0 => {},
5054 1 => {Elements::All8}
5055 },
5056 1 => {
5057 0 => {
5058 0 => {
5059 0 => {
5060 0 => {Elements::All16},
5061 1 => {Elements::All32}
5062 },
5063 1 => {
5064 0 => {Elements::All64},
5065 1 => {}
5066 }
5067 },
5068 1 => {}
5069 },
5070 1 => {}
5071 }
5072 }
5073 },
5074 1 => {
5075 0 => {Elements::Eq1},
5076 1 => {
5077 0 => {
5078 0 => {},
5079 1 => {Elements::Eq8}
5080 },
5081 1 => {
5082 0 => {
5083 0 => {
5084 0 => {
5085 0 => {Elements::Eq16},
5086 1 => {Elements::Eq32}
5087 },
5088 1 => {
5089 0 => {Elements::Eq64},
5090 1 => {}
5091 }
5092 },
5093 1 => {
5094 0 => {
5095 0 => {
5096 0 => {Elements::Eq256},
5097 1 => {}
5098 },
5099 1 => {}
5100 },
5101 1 => {}
5102 }
5103 },
5104 1 => {}
5105 }
5106 }
5107 }
5108 },
5109 1 => {
5110 0 => {
5111 0 => {
5112 0 => {},
5113 1 => {
5114 0 => {
5115 0 => {},
5116 1 => {Elements::FullLeftShift8_1}
5117 },
5118 1 => {
5119 0 => {
5120 0 => {
5121 0 => {
5122 0 => {Elements::FullLeftShift16_1},
5123 1 => {Elements::FullLeftShift32_1}
5124 },
5125 1 => {
5126 0 => {Elements::FullLeftShift64_1},
5127 1 => {}
5128 }
5129 },
5130 1 => {}
5131 },
5132 1 => {}
5133 }
5134 }
5135 },
5136 1 => {
5137 0 => {
5138 0 => {
5139 0 => {},
5140 1 => {
5141 0 => {
5142 0 => {Elements::FullLeftShift8_2},
5143 1 => {Elements::FullLeftShift16_2}
5144 },
5145 1 => {
5146 0 => {
5147 0 => {
5148 0 => {
5149 0 => {Elements::FullLeftShift32_2},
5150 1 => {Elements::FullLeftShift64_2}
5151 },
5152 1 => {}
5153 },
5154 1 => {}
5155 },
5156 1 => {}
5157 }
5158 }
5159 },
5160 1 => {
5161 0 => {Elements::FullLeftShift8_4},
5162 1 => {
5163 0 => {
5164 0 => {Elements::FullLeftShift16_4},
5165 1 => {Elements::FullLeftShift32_4}
5166 },
5167 1 => {
5168 0 => {
5169 0 => {
5170 0 => {
5171 0 => {Elements::FullLeftShift64_4},
5172 1 => {}
5173 },
5174 1 => {}
5175 },
5176 1 => {}
5177 },
5178 1 => {}
5179 }
5180 }
5181 }
5182 },
5183 1 => {
5184 0 => {
5185 0 => {
5186 0 => {
5187 0 => {
5188 0 => {Elements::FullLeftShift16_8},
5189 1 => {
5190 0 => {
5191 0 => {Elements::FullLeftShift32_8},
5192 1 => {Elements::FullLeftShift64_8}
5193 },
5194 1 => {}
5195 }
5196 },
5197 1 => {
5198 0 => {Elements::FullLeftShift32_16},
5199 1 => {
5200 0 => {
5201 0 => {Elements::FullLeftShift64_16},
5202 1 => {}
5203 },
5204 1 => {}
5205 }
5206 }
5207 },
5208 1 => {
5209 0 => {
5210 0 => {Elements::FullLeftShift64_32},
5211 1 => {}
5212 },
5213 1 => {}
5214 }
5215 },
5216 1 => {}
5217 },
5218 1 => {}
5219 }
5220 }
5221 },
5222 1 => {
5223 0 => {
5224 0 => {},
5225 1 => {
5226 0 => {
5227 0 => {},
5228 1 => {Elements::FullRightShift8_1}
5229 },
5230 1 => {
5231 0 => {
5232 0 => {
5233 0 => {
5234 0 => {Elements::FullRightShift16_1},
5235 1 => {Elements::FullRightShift32_1}
5236 },
5237 1 => {
5238 0 => {Elements::FullRightShift64_1},
5239 1 => {}
5240 }
5241 },
5242 1 => {}
5243 },
5244 1 => {}
5245 }
5246 }
5247 },
5248 1 => {
5249 0 => {
5250 0 => {
5251 0 => {},
5252 1 => {
5253 0 => {
5254 0 => {Elements::FullRightShift8_2},
5255 1 => {Elements::FullRightShift16_2}
5256 },
5257 1 => {
5258 0 => {
5259 0 => {
5260 0 => {
5261 0 => {Elements::FullRightShift32_2},
5262 1 => {Elements::FullRightShift64_2}
5263 },
5264 1 => {}
5265 },
5266 1 => {}
5267 },
5268 1 => {}
5269 }
5270 }
5271 },
5272 1 => {
5273 0 => {Elements::FullRightShift8_4},
5274 1 => {
5275 0 => {
5276 0 => {Elements::FullRightShift16_4},
5277 1 => {Elements::FullRightShift32_4}
5278 },
5279 1 => {
5280 0 => {
5281 0 => {
5282 0 => {
5283 0 => {Elements::FullRightShift64_4},
5284 1 => {}
5285 },
5286 1 => {}
5287 },
5288 1 => {}
5289 },
5290 1 => {}
5291 }
5292 }
5293 }
5294 },
5295 1 => {
5296 0 => {
5297 0 => {
5298 0 => {
5299 0 => {
5300 0 => {Elements::FullRightShift16_8},
5301 1 => {
5302 0 => {
5303 0 => {Elements::FullRightShift32_8},
5304 1 => {Elements::FullRightShift64_8}
5305 },
5306 1 => {}
5307 }
5308 },
5309 1 => {
5310 0 => {Elements::FullRightShift32_16},
5311 1 => {
5312 0 => {
5313 0 => {Elements::FullRightShift64_16},
5314 1 => {}
5315 },
5316 1 => {}
5317 }
5318 }
5319 },
5320 1 => {
5321 0 => {
5322 0 => {Elements::FullRightShift64_32},
5323 1 => {}
5324 },
5325 1 => {}
5326 }
5327 },
5328 1 => {}
5329 },
5330 1 => {}
5331 }
5332 }
5333 }
5334 }
5335 }
5336 }
5337 },
5338 1 => {
5339 0 => {
5340 0 => {
5341 0 => {
5342 0 => {
5343 0 => {
5344 0 => {
5345 0 => {
5346 0 => {
5347 0 => {
5348 0 => {},
5349 1 => {
5350 0 => {
5351 0 => {},
5352 1 => {Elements::Leftmost8_1}
5353 },
5354 1 => {
5355 0 => {
5356 0 => {
5357 0 => {
5358 0 => {Elements::Leftmost16_1},
5359 1 => {Elements::Leftmost32_1}
5360 },
5361 1 => {
5362 0 => {Elements::Leftmost64_1},
5363 1 => {}
5364 }
5365 },
5366 1 => {}
5367 },
5368 1 => {}
5369 }
5370 }
5371 },
5372 1 => {
5373 0 => {
5374 0 => {
5375 0 => {},
5376 1 => {
5377 0 => {
5378 0 => {Elements::Leftmost8_2},
5379 1 => {Elements::Leftmost16_2}
5380 },
5381 1 => {
5382 0 => {
5383 0 => {
5384 0 => {
5385 0 => {Elements::Leftmost32_2},
5386 1 => {Elements::Leftmost64_2}
5387 },
5388 1 => {}
5389 },
5390 1 => {}
5391 },
5392 1 => {}
5393 }
5394 }
5395 },
5396 1 => {
5397 0 => {Elements::Leftmost8_4},
5398 1 => {
5399 0 => {
5400 0 => {Elements::Leftmost16_4},
5401 1 => {Elements::Leftmost32_4}
5402 },
5403 1 => {
5404 0 => {
5405 0 => {
5406 0 => {
5407 0 => {Elements::Leftmost64_4},
5408 1 => {}
5409 },
5410 1 => {}
5411 },
5412 1 => {}
5413 },
5414 1 => {}
5415 }
5416 }
5417 }
5418 },
5419 1 => {
5420 0 => {
5421 0 => {
5422 0 => {
5423 0 => {
5424 0 => {Elements::Leftmost16_8},
5425 1 => {
5426 0 => {
5427 0 => {Elements::Leftmost32_8},
5428 1 => {Elements::Leftmost64_8}
5429 },
5430 1 => {}
5431 }
5432 },
5433 1 => {
5434 0 => {Elements::Leftmost32_16},
5435 1 => {
5436 0 => {
5437 0 => {Elements::Leftmost64_16},
5438 1 => {}
5439 },
5440 1 => {}
5441 }
5442 }
5443 },
5444 1 => {
5445 0 => {
5446 0 => {Elements::Leftmost64_32},
5447 1 => {}
5448 },
5449 1 => {}
5450 }
5451 },
5452 1 => {}
5453 },
5454 1 => {}
5455 }
5456 }
5457 },
5458 1 => {
5459 0 => {
5460 0 => {},
5461 1 => {
5462 0 => {
5463 0 => {},
5464 1 => {Elements::Rightmost8_1}
5465 },
5466 1 => {
5467 0 => {
5468 0 => {
5469 0 => {
5470 0 => {Elements::Rightmost16_1},
5471 1 => {Elements::Rightmost32_1}
5472 },
5473 1 => {
5474 0 => {Elements::Rightmost64_1},
5475 1 => {}
5476 }
5477 },
5478 1 => {}
5479 },
5480 1 => {}
5481 }
5482 }
5483 },
5484 1 => {
5485 0 => {
5486 0 => {
5487 0 => {},
5488 1 => {
5489 0 => {
5490 0 => {Elements::Rightmost8_2},
5491 1 => {Elements::Rightmost16_2}
5492 },
5493 1 => {
5494 0 => {
5495 0 => {
5496 0 => {
5497 0 => {Elements::Rightmost32_2},
5498 1 => {Elements::Rightmost64_2}
5499 },
5500 1 => {}
5501 },
5502 1 => {}
5503 },
5504 1 => {}
5505 }
5506 }
5507 },
5508 1 => {
5509 0 => {Elements::Rightmost8_4},
5510 1 => {
5511 0 => {
5512 0 => {Elements::Rightmost16_4},
5513 1 => {Elements::Rightmost32_4}
5514 },
5515 1 => {
5516 0 => {
5517 0 => {
5518 0 => {
5519 0 => {Elements::Rightmost64_4},
5520 1 => {}
5521 },
5522 1 => {}
5523 },
5524 1 => {}
5525 },
5526 1 => {}
5527 }
5528 }
5529 }
5530 },
5531 1 => {
5532 0 => {
5533 0 => {
5534 0 => {
5535 0 => {
5536 0 => {Elements::Rightmost16_8},
5537 1 => {
5538 0 => {
5539 0 => {Elements::Rightmost32_8},
5540 1 => {Elements::Rightmost64_8}
5541 },
5542 1 => {}
5543 }
5544 },
5545 1 => {
5546 0 => {Elements::Rightmost32_16},
5547 1 => {
5548 0 => {
5549 0 => {Elements::Rightmost64_16},
5550 1 => {}
5551 },
5552 1 => {}
5553 }
5554 }
5555 },
5556 1 => {
5557 0 => {
5558 0 => {Elements::Rightmost64_32},
5559 1 => {}
5560 },
5561 1 => {}
5562 }
5563 },
5564 1 => {}
5565 },
5566 1 => {}
5567 }
5568 }
5569 }
5570 },
5571 1 => {
5572 0 => {
5573 0 => {
5574 0 => {},
5575 1 => {
5576 0 => {
5577 0 => {},
5578 1 => {Elements::LeftPadLow1_8}
5579 },
5580 1 => {
5581 0 => {
5582 0 => {
5583 0 => {
5584 0 => {Elements::LeftPadLow1_16},
5585 1 => {Elements::LeftPadLow1_32}
5586 },
5587 1 => {
5588 0 => {Elements::LeftPadLow1_64},
5589 1 => {}
5590 }
5591 },
5592 1 => {}
5593 },
5594 1 => {}
5595 }
5596 }
5597 },
5598 1 => {
5599 0 => {},
5600 1 => {
5601 0 => {
5602 0 => {
5603 0 => {
5604 0 => {
5605 0 => {Elements::LeftPadLow8_16},
5606 1 => {
5607 0 => {
5608 0 => {Elements::LeftPadLow8_32},
5609 1 => {Elements::LeftPadLow8_64}
5610 },
5611 1 => {}
5612 }
5613 },
5614 1 => {
5615 0 => {Elements::LeftPadLow16_32},
5616 1 => {
5617 0 => {
5618 0 => {Elements::LeftPadLow16_64},
5619 1 => {}
5620 },
5621 1 => {}
5622 }
5623 }
5624 },
5625 1 => {
5626 0 => {
5627 0 => {Elements::LeftPadLow32_64},
5628 1 => {}
5629 },
5630 1 => {}
5631 }
5632 },
5633 1 => {}
5634 },
5635 1 => {}
5636 }
5637 }
5638 },
5639 1 => {
5640 0 => {
5641 0 => {},
5642 1 => {
5643 0 => {
5644 0 => {},
5645 1 => {Elements::LeftPadHigh1_8}
5646 },
5647 1 => {
5648 0 => {
5649 0 => {
5650 0 => {
5651 0 => {Elements::LeftPadHigh1_16},
5652 1 => {Elements::LeftPadHigh1_32}
5653 },
5654 1 => {
5655 0 => {Elements::LeftPadHigh1_64},
5656 1 => {}
5657 }
5658 },
5659 1 => {}
5660 },
5661 1 => {}
5662 }
5663 }
5664 },
5665 1 => {
5666 0 => {},
5667 1 => {
5668 0 => {
5669 0 => {
5670 0 => {
5671 0 => {
5672 0 => {Elements::LeftPadHigh8_16},
5673 1 => {
5674 0 => {
5675 0 => {Elements::LeftPadHigh8_32},
5676 1 => {Elements::LeftPadHigh8_64}
5677 },
5678 1 => {}
5679 }
5680 },
5681 1 => {
5682 0 => {Elements::LeftPadHigh16_32},
5683 1 => {
5684 0 => {
5685 0 => {Elements::LeftPadHigh16_64},
5686 1 => {}
5687 },
5688 1 => {}
5689 }
5690 }
5691 },
5692 1 => {
5693 0 => {
5694 0 => {Elements::LeftPadHigh32_64},
5695 1 => {}
5696 },
5697 1 => {}
5698 }
5699 },
5700 1 => {}
5701 },
5702 1 => {}
5703 }
5704 }
5705 }
5706 }
5707 },
5708 1 => {
5709 0 => {
5710 0 => {
5711 0 => {
5712 0 => {},
5713 1 => {
5714 0 => {
5715 0 => {},
5716 1 => {Elements::LeftExtend1_8}
5717 },
5718 1 => {
5719 0 => {
5720 0 => {
5721 0 => {
5722 0 => {Elements::LeftExtend1_16},
5723 1 => {Elements::LeftExtend1_32}
5724 },
5725 1 => {
5726 0 => {Elements::LeftExtend1_64},
5727 1 => {}
5728 }
5729 },
5730 1 => {}
5731 },
5732 1 => {}
5733 }
5734 }
5735 },
5736 1 => {
5737 0 => {},
5738 1 => {
5739 0 => {
5740 0 => {
5741 0 => {
5742 0 => {
5743 0 => {Elements::LeftExtend8_16},
5744 1 => {
5745 0 => {
5746 0 => {Elements::LeftExtend8_32},
5747 1 => {Elements::LeftExtend8_64}
5748 },
5749 1 => {}
5750 }
5751 },
5752 1 => {
5753 0 => {Elements::LeftExtend16_32},
5754 1 => {
5755 0 => {
5756 0 => {Elements::LeftExtend16_64},
5757 1 => {}
5758 },
5759 1 => {}
5760 }
5761 }
5762 },
5763 1 => {
5764 0 => {
5765 0 => {Elements::LeftExtend32_64},
5766 1 => {}
5767 },
5768 1 => {}
5769 }
5770 },
5771 1 => {}
5772 },
5773 1 => {}
5774 }
5775 }
5776 },
5777 1 => {
5778 0 => {
5779 0 => {},
5780 1 => {
5781 0 => {
5782 0 => {},
5783 1 => {Elements::RightPadLow1_8}
5784 },
5785 1 => {
5786 0 => {
5787 0 => {
5788 0 => {
5789 0 => {Elements::RightPadLow1_16},
5790 1 => {Elements::RightPadLow1_32}
5791 },
5792 1 => {
5793 0 => {Elements::RightPadLow1_64},
5794 1 => {}
5795 }
5796 },
5797 1 => {}
5798 },
5799 1 => {}
5800 }
5801 }
5802 },
5803 1 => {
5804 0 => {},
5805 1 => {
5806 0 => {
5807 0 => {
5808 0 => {
5809 0 => {
5810 0 => {Elements::RightPadLow8_16},
5811 1 => {
5812 0 => {
5813 0 => {Elements::RightPadLow8_32},
5814 1 => {Elements::RightPadLow8_64}
5815 },
5816 1 => {}
5817 }
5818 },
5819 1 => {
5820 0 => {Elements::RightPadLow16_32},
5821 1 => {
5822 0 => {
5823 0 => {Elements::RightPadLow16_64},
5824 1 => {}
5825 },
5826 1 => {}
5827 }
5828 }
5829 },
5830 1 => {
5831 0 => {
5832 0 => {Elements::RightPadLow32_64},
5833 1 => {}
5834 },
5835 1 => {}
5836 }
5837 },
5838 1 => {}
5839 },
5840 1 => {}
5841 }
5842 }
5843 }
5844 },
5845 1 => {
5846 0 => {
5847 0 => {
5848 0 => {},
5849 1 => {
5850 0 => {
5851 0 => {},
5852 1 => {Elements::RightPadHigh1_8}
5853 },
5854 1 => {
5855 0 => {
5856 0 => {
5857 0 => {
5858 0 => {Elements::RightPadHigh1_16},
5859 1 => {Elements::RightPadHigh1_32}
5860 },
5861 1 => {
5862 0 => {Elements::RightPadHigh1_64},
5863 1 => {}
5864 }
5865 },
5866 1 => {}
5867 },
5868 1 => {}
5869 }
5870 }
5871 },
5872 1 => {
5873 0 => {},
5874 1 => {
5875 0 => {
5876 0 => {
5877 0 => {
5878 0 => {
5879 0 => {Elements::RightPadHigh8_16},
5880 1 => {
5881 0 => {
5882 0 => {Elements::RightPadHigh8_32},
5883 1 => {Elements::RightPadHigh8_64}
5884 },
5885 1 => {}
5886 }
5887 },
5888 1 => {
5889 0 => {Elements::RightPadHigh16_32},
5890 1 => {
5891 0 => {
5892 0 => {Elements::RightPadHigh16_64},
5893 1 => {}
5894 },
5895 1 => {}
5896 }
5897 }
5898 },
5899 1 => {
5900 0 => {
5901 0 => {Elements::RightPadHigh32_64},
5902 1 => {}
5903 },
5904 1 => {}
5905 }
5906 },
5907 1 => {}
5908 },
5909 1 => {}
5910 }
5911 }
5912 },
5913 1 => {
5914 0 => {},
5915 1 => {
5916 0 => {},
5917 1 => {
5918 0 => {
5919 0 => {
5920 0 => {
5921 0 => {
5922 0 => {Elements::RightExtend8_16},
5923 1 => {
5924 0 => {
5925 0 => {Elements::RightExtend8_32},
5926 1 => {Elements::RightExtend8_64}
5927 },
5928 1 => {}
5929 }
5930 },
5931 1 => {
5932 0 => {Elements::RightExtend16_32},
5933 1 => {
5934 0 => {
5935 0 => {Elements::RightExtend16_64},
5936 1 => {}
5937 },
5938 1 => {}
5939 }
5940 }
5941 },
5942 1 => {
5943 0 => {
5944 0 => {Elements::RightExtend32_64},
5945 1 => {}
5946 },
5947 1 => {}
5948 }
5949 },
5950 1 => {}
5951 },
5952 1 => {}
5953 }
5954 }
5955 }
5956 }
5957 }
5958 },
5959 1 => {
5960 0 => {
5961 0 => {
5962 0 => {
5963 0 => {},
5964 1 => {
5965 0 => {
5966 0 => {},
5967 1 => {Elements::LeftShiftWith8}
5968 },
5969 1 => {
5970 0 => {
5971 0 => {
5972 0 => {
5973 0 => {Elements::LeftShiftWith16},
5974 1 => {Elements::LeftShiftWith32}
5975 },
5976 1 => {
5977 0 => {Elements::LeftShiftWith64},
5978 1 => {}
5979 }
5980 },
5981 1 => {}
5982 },
5983 1 => {}
5984 }
5985 }
5986 },
5987 1 => {
5988 0 => {},
5989 1 => {
5990 0 => {
5991 0 => {},
5992 1 => {Elements::RightShiftWith8}
5993 },
5994 1 => {
5995 0 => {
5996 0 => {
5997 0 => {
5998 0 => {Elements::RightShiftWith16},
5999 1 => {Elements::RightShiftWith32}
6000 },
6001 1 => {
6002 0 => {Elements::RightShiftWith64},
6003 1 => {}
6004 }
6005 },
6006 1 => {}
6007 },
6008 1 => {}
6009 }
6010 }
6011 }
6012 },
6013 1 => {
6014 0 => {
6015 0 => {},
6016 1 => {
6017 0 => {
6018 0 => {},
6019 1 => {Elements::LeftShift8}
6020 },
6021 1 => {
6022 0 => {
6023 0 => {
6024 0 => {
6025 0 => {Elements::LeftShift16},
6026 1 => {Elements::LeftShift32}
6027 },
6028 1 => {
6029 0 => {Elements::LeftShift64},
6030 1 => {}
6031 }
6032 },
6033 1 => {}
6034 },
6035 1 => {}
6036 }
6037 }
6038 },
6039 1 => {
6040 0 => {},
6041 1 => {
6042 0 => {
6043 0 => {},
6044 1 => {Elements::RightShift8}
6045 },
6046 1 => {
6047 0 => {
6048 0 => {
6049 0 => {
6050 0 => {Elements::RightShift16},
6051 1 => {Elements::RightShift32}
6052 },
6053 1 => {
6054 0 => {Elements::RightShift64},
6055 1 => {}
6056 }
6057 },
6058 1 => {}
6059 },
6060 1 => {}
6061 }
6062 }
6063 }
6064 }
6065 },
6066 1 => {
6067 0 => {
6068 0 => {
6069 0 => {},
6070 1 => {
6071 0 => {
6072 0 => {},
6073 1 => {Elements::LeftRotate8}
6074 },
6075 1 => {
6076 0 => {
6077 0 => {
6078 0 => {
6079 0 => {Elements::LeftRotate16},
6080 1 => {Elements::LeftRotate32}
6081 },
6082 1 => {
6083 0 => {Elements::LeftRotate64},
6084 1 => {}
6085 }
6086 },
6087 1 => {}
6088 },
6089 1 => {}
6090 }
6091 }
6092 },
6093 1 => {
6094 0 => {},
6095 1 => {
6096 0 => {
6097 0 => {},
6098 1 => {Elements::RightRotate8}
6099 },
6100 1 => {
6101 0 => {
6102 0 => {
6103 0 => {
6104 0 => {Elements::RightRotate16},
6105 1 => {Elements::RightRotate32}
6106 },
6107 1 => {
6108 0 => {Elements::RightRotate64},
6109 1 => {}
6110 }
6111 },
6112 1 => {}
6113 },
6114 1 => {}
6115 }
6116 }
6117 }
6118 },
6119 1 => {}
6120 }
6121 }
6122 },
6123 1 => {}
6124 },
6125 1 => {}
6126 },
6127 1 => {}
6128 },
6129 1 => {}
6130 }
6131 }
6132 }
6133 },
6134 1 => {
6135 0 => {
6136 0 => {
6137 0 => {
6138 0 => {},
6139 1 => {
6140 0 => {
6141 0 => {},
6142 1 => {Elements::One8}
6143 },
6144 1 => {
6145 0 => {
6146 0 => {
6147 0 => {
6148 0 => {Elements::One16},
6149 1 => {Elements::One32}
6150 },
6151 1 => {
6152 0 => {Elements::One64},
6153 1 => {}
6154 }
6155 },
6156 1 => {}
6157 },
6158 1 => {}
6159 }
6160 }
6161 },
6162 1 => {
6163 0 => {
6164 0 => {
6165 0 => {},
6166 1 => {
6167 0 => {
6168 0 => {},
6169 1 => {Elements::FullAdd8}
6170 },
6171 1 => {
6172 0 => {
6173 0 => {
6174 0 => {
6175 0 => {Elements::FullAdd16},
6176 1 => {Elements::FullAdd32}
6177 },
6178 1 => {
6179 0 => {Elements::FullAdd64},
6180 1 => {}
6181 }
6182 },
6183 1 => {}
6184 },
6185 1 => {}
6186 }
6187 }
6188 },
6189 1 => {
6190 0 => {},
6191 1 => {
6192 0 => {
6193 0 => {},
6194 1 => {Elements::Add8}
6195 },
6196 1 => {
6197 0 => {
6198 0 => {
6199 0 => {
6200 0 => {Elements::Add16},
6201 1 => {Elements::Add32}
6202 },
6203 1 => {
6204 0 => {Elements::Add64},
6205 1 => {}
6206 }
6207 },
6208 1 => {}
6209 },
6210 1 => {}
6211 }
6212 }
6213 }
6214 },
6215 1 => {
6216 0 => {
6217 0 => {
6218 0 => {
6219 0 => {
6220 0 => {},
6221 1 => {
6222 0 => {
6223 0 => {},
6224 1 => {Elements::FullIncrement8}
6225 },
6226 1 => {
6227 0 => {
6228 0 => {
6229 0 => {
6230 0 => {Elements::FullIncrement16},
6231 1 => {Elements::FullIncrement32}
6232 },
6233 1 => {
6234 0 => {Elements::FullIncrement64},
6235 1 => {}
6236 }
6237 },
6238 1 => {}
6239 },
6240 1 => {}
6241 }
6242 }
6243 },
6244 1 => {
6245 0 => {},
6246 1 => {
6247 0 => {
6248 0 => {},
6249 1 => {Elements::Increment8}
6250 },
6251 1 => {
6252 0 => {
6253 0 => {
6254 0 => {
6255 0 => {Elements::Increment16},
6256 1 => {Elements::Increment32}
6257 },
6258 1 => {
6259 0 => {Elements::Increment64},
6260 1 => {}
6261 }
6262 },
6263 1 => {}
6264 },
6265 1 => {}
6266 }
6267 }
6268 }
6269 },
6270 1 => {
6271 0 => {},
6272 1 => {
6273 0 => {},
6274 1 => {
6275 0 => {
6276 0 => {},
6277 1 => {Elements::FullSubtract8}
6278 },
6279 1 => {
6280 0 => {
6281 0 => {
6282 0 => {
6283 0 => {Elements::FullSubtract16},
6284 1 => {Elements::FullSubtract32}
6285 },
6286 1 => {
6287 0 => {Elements::FullSubtract64},
6288 1 => {}
6289 }
6290 },
6291 1 => {}
6292 },
6293 1 => {}
6294 }
6295 }
6296 }
6297 }
6298 },
6299 1 => {
6300 0 => {
6301 0 => {
6302 0 => {
6303 0 => {},
6304 1 => {
6305 0 => {
6306 0 => {},
6307 1 => {Elements::Subtract8}
6308 },
6309 1 => {
6310 0 => {
6311 0 => {
6312 0 => {
6313 0 => {Elements::Subtract16},
6314 1 => {Elements::Subtract32}
6315 },
6316 1 => {
6317 0 => {Elements::Subtract64},
6318 1 => {}
6319 }
6320 },
6321 1 => {}
6322 },
6323 1 => {}
6324 }
6325 }
6326 },
6327 1 => {
6328 0 => {},
6329 1 => {
6330 0 => {
6331 0 => {},
6332 1 => {Elements::Negate8}
6333 },
6334 1 => {
6335 0 => {
6336 0 => {
6337 0 => {
6338 0 => {Elements::Negate16},
6339 1 => {Elements::Negate32}
6340 },
6341 1 => {
6342 0 => {Elements::Negate64},
6343 1 => {}
6344 }
6345 },
6346 1 => {}
6347 },
6348 1 => {}
6349 }
6350 }
6351 }
6352 },
6353 1 => {
6354 0 => {
6355 0 => {},
6356 1 => {
6357 0 => {
6358 0 => {},
6359 1 => {Elements::FullDecrement8}
6360 },
6361 1 => {
6362 0 => {
6363 0 => {
6364 0 => {
6365 0 => {Elements::FullDecrement16},
6366 1 => {Elements::FullDecrement32}
6367 },
6368 1 => {
6369 0 => {Elements::FullDecrement64},
6370 1 => {}
6371 }
6372 },
6373 1 => {}
6374 },
6375 1 => {}
6376 }
6377 }
6378 },
6379 1 => {
6380 0 => {},
6381 1 => {
6382 0 => {
6383 0 => {},
6384 1 => {Elements::Decrement8}
6385 },
6386 1 => {
6387 0 => {
6388 0 => {
6389 0 => {
6390 0 => {Elements::Decrement16},
6391 1 => {Elements::Decrement32}
6392 },
6393 1 => {
6394 0 => {Elements::Decrement64},
6395 1 => {}
6396 }
6397 },
6398 1 => {}
6399 },
6400 1 => {}
6401 }
6402 }
6403 }
6404 }
6405 },
6406 1 => {
6407 0 => {
6408 0 => {
6409 0 => {},
6410 1 => {
6411 0 => {
6412 0 => {},
6413 1 => {Elements::FullMultiply8}
6414 },
6415 1 => {
6416 0 => {
6417 0 => {
6418 0 => {
6419 0 => {Elements::FullMultiply16},
6420 1 => {Elements::FullMultiply32}
6421 },
6422 1 => {
6423 0 => {Elements::FullMultiply64},
6424 1 => {}
6425 }
6426 },
6427 1 => {}
6428 },
6429 1 => {}
6430 }
6431 }
6432 },
6433 1 => {
6434 0 => {},
6435 1 => {
6436 0 => {
6437 0 => {},
6438 1 => {Elements::Multiply8}
6439 },
6440 1 => {
6441 0 => {
6442 0 => {
6443 0 => {
6444 0 => {Elements::Multiply16},
6445 1 => {Elements::Multiply32}
6446 },
6447 1 => {
6448 0 => {Elements::Multiply64},
6449 1 => {}
6450 }
6451 },
6452 1 => {}
6453 },
6454 1 => {}
6455 }
6456 }
6457 }
6458 },
6459 1 => {
6460 0 => {
6461 0 => {},
6462 1 => {
6463 0 => {
6464 0 => {},
6465 1 => {Elements::IsZero8}
6466 },
6467 1 => {
6468 0 => {
6469 0 => {
6470 0 => {
6471 0 => {Elements::IsZero16},
6472 1 => {Elements::IsZero32}
6473 },
6474 1 => {
6475 0 => {Elements::IsZero64},
6476 1 => {}
6477 }
6478 },
6479 1 => {}
6480 },
6481 1 => {}
6482 }
6483 }
6484 },
6485 1 => {
6486 0 => {},
6487 1 => {
6488 0 => {
6489 0 => {},
6490 1 => {Elements::IsOne8}
6491 },
6492 1 => {
6493 0 => {
6494 0 => {
6495 0 => {
6496 0 => {Elements::IsOne16},
6497 1 => {Elements::IsOne32}
6498 },
6499 1 => {
6500 0 => {Elements::IsOne64},
6501 1 => {}
6502 }
6503 },
6504 1 => {}
6505 },
6506 1 => {}
6507 }
6508 }
6509 }
6510 }
6511 }
6512 }
6513 },
6514 1 => {
6515 0 => {
6516 0 => {
6517 0 => {
6518 0 => {
6519 0 => {
6520 0 => {
6521 0 => {
6522 0 => {
6523 0 => {},
6524 1 => {
6525 0 => {
6526 0 => {},
6527 1 => {Elements::Le8}
6528 },
6529 1 => {
6530 0 => {
6531 0 => {
6532 0 => {
6533 0 => {Elements::Le16},
6534 1 => {Elements::Le32}
6535 },
6536 1 => {
6537 0 => {Elements::Le64},
6538 1 => {}
6539 }
6540 },
6541 1 => {}
6542 },
6543 1 => {}
6544 }
6545 }
6546 },
6547 1 => {
6548 0 => {},
6549 1 => {
6550 0 => {
6551 0 => {},
6552 1 => {Elements::Lt8}
6553 },
6554 1 => {
6555 0 => {
6556 0 => {
6557 0 => {
6558 0 => {Elements::Lt16},
6559 1 => {Elements::Lt32}
6560 },
6561 1 => {
6562 0 => {Elements::Lt64},
6563 1 => {}
6564 }
6565 },
6566 1 => {}
6567 },
6568 1 => {}
6569 }
6570 }
6571 }
6572 },
6573 1 => {
6574 0 => {
6575 0 => {},
6576 1 => {
6577 0 => {
6578 0 => {},
6579 1 => {Elements::Min8}
6580 },
6581 1 => {
6582 0 => {
6583 0 => {
6584 0 => {
6585 0 => {Elements::Min16},
6586 1 => {Elements::Min32}
6587 },
6588 1 => {
6589 0 => {Elements::Min64},
6590 1 => {}
6591 }
6592 },
6593 1 => {}
6594 },
6595 1 => {}
6596 }
6597 }
6598 },
6599 1 => {
6600 0 => {},
6601 1 => {
6602 0 => {
6603 0 => {},
6604 1 => {Elements::Max8}
6605 },
6606 1 => {
6607 0 => {
6608 0 => {
6609 0 => {
6610 0 => {Elements::Max16},
6611 1 => {Elements::Max32}
6612 },
6613 1 => {
6614 0 => {Elements::Max64},
6615 1 => {}
6616 }
6617 },
6618 1 => {}
6619 },
6620 1 => {}
6621 }
6622 }
6623 }
6624 }
6625 },
6626 1 => {
6627 0 => {
6628 0 => {
6629 0 => {},
6630 1 => {
6631 0 => {
6632 0 => {},
6633 1 => {Elements::Median8}
6634 },
6635 1 => {
6636 0 => {
6637 0 => {
6638 0 => {
6639 0 => {Elements::Median16},
6640 1 => {Elements::Median32}
6641 },
6642 1 => {
6643 0 => {Elements::Median64},
6644 1 => {}
6645 }
6646 },
6647 1 => {}
6648 },
6649 1 => {}
6650 }
6651 }
6652 },
6653 1 => {
6654 0 => {},
6655 1 => {
6656 0 => {},
6657 1 => {
6658 0 => {
6659 0 => {
6660 0 => {},
6661 1 => {
6662 0 => {Elements::DivMod128_64},
6663 1 => {}
6664 }
6665 },
6666 1 => {}
6667 },
6668 1 => {}
6669 }
6670 }
6671 }
6672 },
6673 1 => {
6674 0 => {
6675 0 => {},
6676 1 => {
6677 0 => {
6678 0 => {},
6679 1 => {Elements::DivMod8}
6680 },
6681 1 => {
6682 0 => {
6683 0 => {
6684 0 => {
6685 0 => {Elements::DivMod16},
6686 1 => {Elements::DivMod32}
6687 },
6688 1 => {
6689 0 => {Elements::DivMod64},
6690 1 => {}
6691 }
6692 },
6693 1 => {}
6694 },
6695 1 => {}
6696 }
6697 }
6698 },
6699 1 => {
6700 0 => {},
6701 1 => {
6702 0 => {
6703 0 => {},
6704 1 => {Elements::Divide8}
6705 },
6706 1 => {
6707 0 => {
6708 0 => {
6709 0 => {
6710 0 => {Elements::Divide16},
6711 1 => {Elements::Divide32}
6712 },
6713 1 => {
6714 0 => {Elements::Divide64},
6715 1 => {}
6716 }
6717 },
6718 1 => {}
6719 },
6720 1 => {}
6721 }
6722 }
6723 }
6724 }
6725 }
6726 },
6727 1 => {
6728 0 => {
6729 0 => {
6730 0 => {
6731 0 => {},
6732 1 => {
6733 0 => {
6734 0 => {},
6735 1 => {Elements::Modulo8}
6736 },
6737 1 => {
6738 0 => {
6739 0 => {
6740 0 => {
6741 0 => {Elements::Modulo16},
6742 1 => {Elements::Modulo32}
6743 },
6744 1 => {
6745 0 => {Elements::Modulo64},
6746 1 => {}
6747 }
6748 },
6749 1 => {}
6750 },
6751 1 => {}
6752 }
6753 }
6754 },
6755 1 => {
6756 0 => {},
6757 1 => {
6758 0 => {
6759 0 => {},
6760 1 => {Elements::Divides8}
6761 },
6762 1 => {
6763 0 => {
6764 0 => {
6765 0 => {
6766 0 => {Elements::Divides16},
6767 1 => {Elements::Divides32}
6768 },
6769 1 => {
6770 0 => {Elements::Divides64},
6771 1 => {}
6772 }
6773 },
6774 1 => {}
6775 },
6776 1 => {}
6777 }
6778 }
6779 }
6780 },
6781 1 => {}
6782 },
6783 1 => {}
6784 }
6785 },
6786 1 => {}
6787 },
6788 1 => {}
6789 },
6790 1 => {}
6791 },
6792 1 => {}
6793 }
6794 }
6795 }
6796 },
6797 1 => {
6798 0 => {
6799 0 => {Elements::Sha256Block},
6800 1 => {
6801 0 => {
6802 0 => {Elements::Sha256Iv},
6803 1 => {
6804 0 => {Elements::Sha256Ctx8Add1},
6805 1 => {
6806 0 => {
6807 0 => {Elements::Sha256Ctx8Add2},
6808 1 => {Elements::Sha256Ctx8Add4}
6809 },
6810 1 => {
6811 0 => {
6812 0 => {
6813 0 => {
6814 0 => {Elements::Sha256Ctx8Add8},
6815 1 => {Elements::Sha256Ctx8Add16}
6816 },
6817 1 => {
6818 0 => {Elements::Sha256Ctx8Add32},
6819 1 => {Elements::Sha256Ctx8Add64}
6820 }
6821 },
6822 1 => {
6823 0 => {
6824 0 => {
6825 0 => {Elements::Sha256Ctx8Add128},
6826 1 => {Elements::Sha256Ctx8Add256}
6827 },
6828 1 => {
6829 0 => {Elements::Sha256Ctx8Add512},
6830 1 => {}
6831 }
6832 },
6833 1 => {}
6834 }
6835 },
6836 1 => {}
6837 }
6838 }
6839 }
6840 },
6841 1 => {
6842 0 => {
6843 0 => {
6844 0 => {
6845 0 => {Elements::Sha256Ctx8AddBuffer511},
6846 1 => {Elements::Sha256Ctx8Finalize}
6847 },
6848 1 => {
6849 0 => {Elements::Sha256Ctx8Init},
6850 1 => {}
6851 }
6852 },
6853 1 => {}
6854 },
6855 1 => {}
6856 }
6857 }
6858 },
6859 1 => {}
6860 }
6861 },
6862 1 => {
6863 0 => {
6864 0 => {
6865 0 => {
6866 0 => {
6867 0 => {
6868 0 => {Elements::PointVerify1},
6869 1 => {}
6870 },
6871 1 => {
6872 0 => {
6873 0 => {Elements::Decompress},
6874 1 => {
6875 0 => {Elements::LinearVerify1},
6876 1 => {}
6877 }
6878 },
6879 1 => {
6880 0 => {
6881 0 => {
6882 0 => {
6883 0 => {
6884 0 => {Elements::LinearCombination1},
6885 1 => {}
6886 },
6887 1 => {Elements::Scale}
6888 },
6889 1 => {
6890 0 => {Elements::Generate},
6891 1 => {Elements::GejInfinity}
6892 }
6893 },
6894 1 => {
6895 0 => {
6896 0 => {
6897 0 => {Elements::GejNormalize},
6898 1 => {Elements::GejNegate}
6899 },
6900 1 => {
6901 0 => {Elements::GeNegate},
6902 1 => {Elements::GejDouble}
6903 }
6904 },
6905 1 => {
6906 0 => {
6907 0 => {Elements::GejAdd},
6908 1 => {Elements::GejGeAddEx}
6909 },
6910 1 => {
6911 0 => {Elements::GejGeAdd},
6912 1 => {Elements::GejRescale}
6913 }
6914 }
6915 }
6916 },
6917 1 => {
6918 0 => {
6919 0 => {
6920 0 => {
6921 0 => {
6922 0 => {
6923 0 => {
6924 0 => {
6925 0 => {Elements::GejIsInfinity},
6926 1 => {Elements::GejEquiv}
6927 },
6928 1 => {
6929 0 => {Elements::GejGeEquiv},
6930 1 => {Elements::GejXEquiv}
6931 }
6932 },
6933 1 => {
6934 0 => {
6935 0 => {Elements::GejYIsOdd},
6936 1 => {Elements::GejIsOnCurve}
6937 },
6938 1 => {
6939 0 => {Elements::GeIsOnCurve},
6940 1 => {Elements::ScalarNormalize}
6941 }
6942 }
6943 },
6944 1 => {
6945 0 => {
6946 0 => {
6947 0 => {Elements::ScalarNegate},
6948 1 => {Elements::ScalarAdd}
6949 },
6950 1 => {
6951 0 => {Elements::ScalarSquare},
6952 1 => {Elements::ScalarMultiply}
6953 }
6954 },
6955 1 => {
6956 0 => {
6957 0 => {Elements::ScalarMultiplyLambda},
6958 1 => {Elements::ScalarInvert}
6959 },
6960 1 => {
6961 0 => {Elements::ScalarIsZero},
6962 1 => {}
6963 }
6964 }
6965 }
6966 },
6967 1 => {
6968 0 => {
6969 0 => {
6970 0 => {
6971 0 => {},
6972 1 => {
6973 0 => {},
6974 1 => {Elements::FeNormalize}
6975 }
6976 },
6977 1 => {
6978 0 => {
6979 0 => {Elements::FeNegate},
6980 1 => {Elements::FeAdd}
6981 },
6982 1 => {
6983 0 => {Elements::FeSquare},
6984 1 => {Elements::FeMultiply}
6985 }
6986 }
6987 },
6988 1 => {
6989 0 => {
6990 0 => {
6991 0 => {Elements::FeMultiplyBeta},
6992 1 => {Elements::FeInvert}
6993 },
6994 1 => {
6995 0 => {Elements::FeSquareRoot},
6996 1 => {Elements::FeIsZero}
6997 }
6998 },
6999 1 => {
7000 0 => {
7001 0 => {Elements::FeIsOdd},
7002 1 => {}
7003 },
7004 1 => {
7005 0 => {Elements::HashToCurve},
7006 1 => {Elements::Swu}
7007 }
7008 }
7009 }
7010 },
7011 1 => {}
7012 }
7013 },
7014 1 => {}
7015 },
7016 1 => {}
7017 },
7018 1 => {}
7019 }
7020 }
7021 }
7022 },
7023 1 => {
7024 0 => {Elements::CheckSigVerify},
7025 1 => {
7026 0 => {
7027 0 => {Elements::Bip0340Verify},
7028 1 => {}
7029 },
7030 1 => {}
7031 }
7032 }
7033 },
7034 1 => {
7035 0 => {},
7036 1 => {
7037 0 => {Elements::ParseLock},
7038 1 => {
7039 0 => {
7040 0 => {Elements::ParseSequence},
7041 1 => {Elements::TapdataInit}
7042 },
7043 1 => {}
7044 }
7045 }
7046 }
7047 },
7048 1 => {}
7049 },
7050 1 => {}
7051 }
7052 }
7053 },
7054 1 => {
7055 0 => {
7056 0 => {Elements::SigAllHash},
7057 1 => {
7058 0 => {
7059 0 => {Elements::TxHash},
7060 1 => {Elements::TapEnvHash}
7061 },
7062 1 => {
7063 0 => {
7064 0 => {
7065 0 => {
7066 0 => {Elements::OutputsHash},
7067 1 => {Elements::InputsHash}
7068 },
7069 1 => {
7070 0 => {Elements::IssuancesHash},
7071 1 => {Elements::InputUtxosHash}
7072 }
7073 },
7074 1 => {
7075 0 => {
7076 0 => {
7077 0 => {Elements::OutputHash},
7078 1 => {Elements::OutputAmountsHash}
7079 },
7080 1 => {
7081 0 => {Elements::OutputScriptsHash},
7082 1 => {Elements::OutputNoncesHash}
7083 }
7084 },
7085 1 => {
7086 0 => {
7087 0 => {Elements::OutputRangeProofsHash},
7088 1 => {Elements::OutputSurjectionProofsHash}
7089 },
7090 1 => {
7091 0 => {Elements::InputHash},
7092 1 => {Elements::InputOutpointsHash}
7093 }
7094 }
7095 }
7096 },
7097 1 => {
7098 0 => {
7099 0 => {
7100 0 => {
7101 0 => {
7102 0 => {
7103 0 => {
7104 0 => {
7105 0 => {Elements::InputSequencesHash},
7106 1 => {Elements::InputAnnexesHash}
7107 },
7108 1 => {
7109 0 => {Elements::InputScriptSigsHash},
7110 1 => {Elements::IssuanceHash}
7111 }
7112 },
7113 1 => {
7114 0 => {
7115 0 => {Elements::IssuanceAssetAmountsHash},
7116 1 => {Elements::IssuanceTokenAmountsHash}
7117 },
7118 1 => {
7119 0 => {Elements::IssuanceRangeProofsHash},
7120 1 => {Elements::IssuanceBlindingEntropyHash}
7121 }
7122 }
7123 },
7124 1 => {
7125 0 => {
7126 0 => {
7127 0 => {Elements::InputUtxoHash},
7128 1 => {Elements::InputAmountsHash}
7129 },
7130 1 => {
7131 0 => {Elements::InputScriptsHash},
7132 1 => {Elements::TapleafHash}
7133 }
7134 },
7135 1 => {
7136 0 => {
7137 0 => {Elements::TappathHash},
7138 1 => {Elements::OutpointHash}
7139 },
7140 1 => {
7141 0 => {Elements::AssetAmountHash},
7142 1 => {Elements::NonceHash}
7143 }
7144 }
7145 }
7146 },
7147 1 => {
7148 0 => {
7149 0 => {
7150 0 => {
7151 0 => {
7152 0 => {Elements::AnnexHash},
7153 1 => {Elements::BuildTapleafSimplicity}
7154 },
7155 1 => {
7156 0 => {Elements::BuildTapbranch},
7157 1 => {Elements::BuildTaptweak}
7158 }
7159 },
7160 1 => {}
7161 },
7162 1 => {}
7163 },
7164 1 => {}
7165 }
7166 },
7167 1 => {}
7168 },
7169 1 => {}
7170 },
7171 1 => {}
7172 }
7173 }
7174 }
7175 },
7176 1 => {
7177 0 => {
7178 0 => {
7179 0 => {Elements::CheckLockHeight},
7180 1 => {
7181 0 => {
7182 0 => {Elements::CheckLockTime},
7183 1 => {Elements::CheckLockDistance}
7184 },
7185 1 => {
7186 0 => {
7187 0 => {
7188 0 => {
7189 0 => {Elements::CheckLockDuration},
7190 1 => {Elements::TxLockHeight}
7191 },
7192 1 => {
7193 0 => {Elements::TxLockTime},
7194 1 => {Elements::TxLockDistance}
7195 }
7196 },
7197 1 => {
7198 0 => {
7199 0 => {
7200 0 => {Elements::TxLockDuration},
7201 1 => {Elements::TxIsFinal}
7202 },
7203 1 => {}
7204 },
7205 1 => {}
7206 }
7207 },
7208 1 => {}
7209 }
7210 }
7211 },
7212 1 => {
7213 0 => {Elements::Issuance},
7214 1 => {
7215 0 => {
7216 0 => {Elements::IssuanceAsset},
7217 1 => {Elements::IssuanceToken}
7218 },
7219 1 => {
7220 0 => {
7221 0 => {
7222 0 => {
7223 0 => {Elements::IssuanceEntropy},
7224 1 => {Elements::CalculateIssuanceEntropy}
7225 },
7226 1 => {
7227 0 => {Elements::CalculateAsset},
7228 1 => {Elements::CalculateExplicitToken}
7229 }
7230 },
7231 1 => {
7232 0 => {
7233 0 => {
7234 0 => {Elements::CalculateConfidentialToken},
7235 1 => {Elements::LbtcAsset}
7236 },
7237 1 => {}
7238 },
7239 1 => {}
7240 }
7241 },
7242 1 => {}
7243 }
7244 }
7245 }
7246 },
7247 1 => {
7248 0 => {
7249 0 => {
7250 0 => {
7251 0 => {
7252 0 => {Elements::ScriptCMR},
7253 1 => {
7254 0 => {
7255 0 => {Elements::InternalKey},
7256 1 => {Elements::CurrentIndex}
7257 },
7258 1 => {
7259 0 => {
7260 0 => {
7261 0 => {
7262 0 => {Elements::NumInputs},
7263 1 => {Elements::NumOutputs}
7264 },
7265 1 => {
7266 0 => {Elements::LockTime},
7267 1 => {Elements::OutputAsset}
7268 }
7269 },
7270 1 => {
7271 0 => {
7272 0 => {
7273 0 => {Elements::OutputAmount},
7274 1 => {Elements::OutputNonce}
7275 },
7276 1 => {
7277 0 => {Elements::OutputScriptHash},
7278 1 => {Elements::OutputNullDatum}
7279 }
7280 },
7281 1 => {
7282 0 => {
7283 0 => {Elements::OutputIsFee},
7284 1 => {Elements::OutputSurjectionProof}
7285 },
7286 1 => {
7287 0 => {Elements::OutputRangeProof},
7288 1 => {Elements::TotalFee}
7289 }
7290 }
7291 }
7292 },
7293 1 => {
7294 0 => {
7295 0 => {
7296 0 => {
7297 0 => {
7298 0 => {
7299 0 => {
7300 0 => {
7301 0 => {Elements::CurrentPegin},
7302 1 => {Elements::CurrentPrevOutpoint}
7303 },
7304 1 => {
7305 0 => {Elements::CurrentAsset},
7306 1 => {Elements::CurrentAmount}
7307 }
7308 },
7309 1 => {
7310 0 => {
7311 0 => {Elements::CurrentScriptHash},
7312 1 => {Elements::CurrentSequence}
7313 },
7314 1 => {
7315 0 => {Elements::CurrentAnnexHash},
7316 1 => {Elements::CurrentScriptSigHash}
7317 }
7318 }
7319 },
7320 1 => {
7321 0 => {
7322 0 => {
7323 0 => {Elements::CurrentReissuanceBlinding},
7324 1 => {Elements::CurrentNewIssuanceContract}
7325 },
7326 1 => {
7327 0 => {Elements::CurrentReissuanceEntropy},
7328 1 => {Elements::CurrentIssuanceAssetAmount}
7329 }
7330 },
7331 1 => {
7332 0 => {
7333 0 => {Elements::CurrentIssuanceTokenAmount},
7334 1 => {Elements::CurrentIssuanceAssetProof}
7335 },
7336 1 => {
7337 0 => {Elements::CurrentIssuanceTokenProof},
7338 1 => {Elements::InputPegin}
7339 }
7340 }
7341 }
7342 },
7343 1 => {
7344 0 => {
7345 0 => {
7346 0 => {
7347 0 => {
7348 0 => {Elements::InputPrevOutpoint},
7349 1 => {Elements::InputAsset}
7350 },
7351 1 => {
7352 0 => {Elements::InputAmount},
7353 1 => {Elements::InputScriptHash}
7354 }
7355 },
7356 1 => {
7357 0 => {
7358 0 => {Elements::InputSequence},
7359 1 => {Elements::InputAnnexHash}
7360 },
7361 1 => {
7362 0 => {Elements::InputScriptSigHash},
7363 1 => {Elements::ReissuanceBlinding}
7364 }
7365 }
7366 },
7367 1 => {
7368 0 => {
7369 0 => {
7370 0 => {Elements::NewIssuanceContract},
7371 1 => {Elements::ReissuanceEntropy}
7372 },
7373 1 => {
7374 0 => {Elements::IssuanceAssetAmount},
7375 1 => {Elements::IssuanceTokenAmount}
7376 }
7377 },
7378 1 => {
7379 0 => {
7380 0 => {Elements::IssuanceAssetProof},
7381 1 => {Elements::IssuanceTokenProof}
7382 },
7383 1 => {
7384 0 => {Elements::TapleafVersion},
7385 1 => {Elements::Tappath}
7386 }
7387 }
7388 }
7389 },
7390 1 => {
7391 0 => {
7392 0 => {
7393 0 => {
7394 0 => {Elements::Version},
7395 1 => {Elements::GenesisBlockHash}
7396 },
7397 1 => {
7398 0 => {Elements::TransactionId},
7399 1 => {}
7400 }
7401 },
7402 1 => {}
7403 },
7404 1 => {}
7405 }
7406 }
7407 },
7408 1 => {}
7409 },
7410 1 => {}
7411 },
7412 1 => {}
7413 }
7414 }
7415 }
7416 },
7417 1 => {}
7418 },
7419 1 => {}
7420 },
7421 1 => {}
7422 },
7423 1 => {}
7424 }
7425 }
7426 }
7427 })
7428 }
7429
7430 fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool {
7431 match self {
7432 Elements::Add16 => &simplicity_sys::c_jets::jets_wrapper::add_16,
7433 Elements::Add32 => &simplicity_sys::c_jets::jets_wrapper::add_32,
7434 Elements::Add64 => &simplicity_sys::c_jets::jets_wrapper::add_64,
7435 Elements::Add8 => &simplicity_sys::c_jets::jets_wrapper::add_8,
7436 Elements::All16 => &simplicity_sys::c_jets::jets_wrapper::all_16,
7437 Elements::All32 => &simplicity_sys::c_jets::jets_wrapper::all_32,
7438 Elements::All64 => &simplicity_sys::c_jets::jets_wrapper::all_64,
7439 Elements::All8 => &simplicity_sys::c_jets::jets_wrapper::all_8,
7440 Elements::And1 => &simplicity_sys::c_jets::jets_wrapper::and_1,
7441 Elements::And16 => &simplicity_sys::c_jets::jets_wrapper::and_16,
7442 Elements::And32 => &simplicity_sys::c_jets::jets_wrapper::and_32,
7443 Elements::And64 => &simplicity_sys::c_jets::jets_wrapper::and_64,
7444 Elements::And8 => &simplicity_sys::c_jets::jets_wrapper::and_8,
7445 Elements::AnnexHash => &simplicity_sys::c_jets::jets_wrapper::annex_hash,
7446 Elements::AssetAmountHash => &simplicity_sys::c_jets::jets_wrapper::asset_amount_hash,
7447 Elements::Bip0340Verify => &simplicity_sys::c_jets::jets_wrapper::bip_0340_verify,
7448 Elements::BuildTapbranch => &simplicity_sys::c_jets::jets_wrapper::build_tapbranch,
7449 Elements::BuildTapleafSimplicity => &simplicity_sys::c_jets::jets_wrapper::build_tapleaf_simplicity,
7450 Elements::BuildTaptweak => &simplicity_sys::c_jets::jets_wrapper::build_taptweak,
7451 Elements::CalculateAsset => &simplicity_sys::c_jets::jets_wrapper::calculate_asset,
7452 Elements::CalculateConfidentialToken => &simplicity_sys::c_jets::jets_wrapper::calculate_confidential_token,
7453 Elements::CalculateExplicitToken => &simplicity_sys::c_jets::jets_wrapper::calculate_explicit_token,
7454 Elements::CalculateIssuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::calculate_issuance_entropy,
7455 Elements::Ch1 => &simplicity_sys::c_jets::jets_wrapper::ch_1,
7456 Elements::Ch16 => &simplicity_sys::c_jets::jets_wrapper::ch_16,
7457 Elements::Ch32 => &simplicity_sys::c_jets::jets_wrapper::ch_32,
7458 Elements::Ch64 => &simplicity_sys::c_jets::jets_wrapper::ch_64,
7459 Elements::Ch8 => &simplicity_sys::c_jets::jets_wrapper::ch_8,
7460 Elements::CheckLockDistance => &simplicity_sys::c_jets::jets_wrapper::check_lock_distance,
7461 Elements::CheckLockDuration => &simplicity_sys::c_jets::jets_wrapper::check_lock_duration,
7462 Elements::CheckLockHeight => &simplicity_sys::c_jets::jets_wrapper::check_lock_height,
7463 Elements::CheckLockTime => &simplicity_sys::c_jets::jets_wrapper::check_lock_time,
7464 Elements::CheckSigVerify => &simplicity_sys::c_jets::jets_wrapper::check_sig_verify,
7465 Elements::Complement1 => &simplicity_sys::c_jets::jets_wrapper::complement_1,
7466 Elements::Complement16 => &simplicity_sys::c_jets::jets_wrapper::complement_16,
7467 Elements::Complement32 => &simplicity_sys::c_jets::jets_wrapper::complement_32,
7468 Elements::Complement64 => &simplicity_sys::c_jets::jets_wrapper::complement_64,
7469 Elements::Complement8 => &simplicity_sys::c_jets::jets_wrapper::complement_8,
7470 Elements::CurrentAmount => &simplicity_sys::c_jets::jets_wrapper::current_amount,
7471 Elements::CurrentAnnexHash => &simplicity_sys::c_jets::jets_wrapper::current_annex_hash,
7472 Elements::CurrentAsset => &simplicity_sys::c_jets::jets_wrapper::current_asset,
7473 Elements::CurrentIndex => &simplicity_sys::c_jets::jets_wrapper::current_index,
7474 Elements::CurrentIssuanceAssetAmount => &simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_amount,
7475 Elements::CurrentIssuanceAssetProof => &simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_proof,
7476 Elements::CurrentIssuanceTokenAmount => &simplicity_sys::c_jets::jets_wrapper::current_issuance_token_amount,
7477 Elements::CurrentIssuanceTokenProof => &simplicity_sys::c_jets::jets_wrapper::current_issuance_token_proof,
7478 Elements::CurrentNewIssuanceContract => &simplicity_sys::c_jets::jets_wrapper::current_new_issuance_contract,
7479 Elements::CurrentPegin => &simplicity_sys::c_jets::jets_wrapper::current_pegin,
7480 Elements::CurrentPrevOutpoint => &simplicity_sys::c_jets::jets_wrapper::current_prev_outpoint,
7481 Elements::CurrentReissuanceBlinding => &simplicity_sys::c_jets::jets_wrapper::current_reissuance_blinding,
7482 Elements::CurrentReissuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::current_reissuance_entropy,
7483 Elements::CurrentScriptHash => &simplicity_sys::c_jets::jets_wrapper::current_script_hash,
7484 Elements::CurrentScriptSigHash => &simplicity_sys::c_jets::jets_wrapper::current_script_sig_hash,
7485 Elements::CurrentSequence => &simplicity_sys::c_jets::jets_wrapper::current_sequence,
7486 Elements::Decompress => &simplicity_sys::c_jets::jets_wrapper::decompress,
7487 Elements::Decrement16 => &simplicity_sys::c_jets::jets_wrapper::decrement_16,
7488 Elements::Decrement32 => &simplicity_sys::c_jets::jets_wrapper::decrement_32,
7489 Elements::Decrement64 => &simplicity_sys::c_jets::jets_wrapper::decrement_64,
7490 Elements::Decrement8 => &simplicity_sys::c_jets::jets_wrapper::decrement_8,
7491 Elements::DivMod128_64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_128_64,
7492 Elements::DivMod16 => &simplicity_sys::c_jets::jets_wrapper::div_mod_16,
7493 Elements::DivMod32 => &simplicity_sys::c_jets::jets_wrapper::div_mod_32,
7494 Elements::DivMod64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_64,
7495 Elements::DivMod8 => &simplicity_sys::c_jets::jets_wrapper::div_mod_8,
7496 Elements::Divide16 => &simplicity_sys::c_jets::jets_wrapper::divide_16,
7497 Elements::Divide32 => &simplicity_sys::c_jets::jets_wrapper::divide_32,
7498 Elements::Divide64 => &simplicity_sys::c_jets::jets_wrapper::divide_64,
7499 Elements::Divide8 => &simplicity_sys::c_jets::jets_wrapper::divide_8,
7500 Elements::Divides16 => &simplicity_sys::c_jets::jets_wrapper::divides_16,
7501 Elements::Divides32 => &simplicity_sys::c_jets::jets_wrapper::divides_32,
7502 Elements::Divides64 => &simplicity_sys::c_jets::jets_wrapper::divides_64,
7503 Elements::Divides8 => &simplicity_sys::c_jets::jets_wrapper::divides_8,
7504 Elements::Eq1 => &simplicity_sys::c_jets::jets_wrapper::eq_1,
7505 Elements::Eq16 => &simplicity_sys::c_jets::jets_wrapper::eq_16,
7506 Elements::Eq256 => &simplicity_sys::c_jets::jets_wrapper::eq_256,
7507 Elements::Eq32 => &simplicity_sys::c_jets::jets_wrapper::eq_32,
7508 Elements::Eq64 => &simplicity_sys::c_jets::jets_wrapper::eq_64,
7509 Elements::Eq8 => &simplicity_sys::c_jets::jets_wrapper::eq_8,
7510 Elements::FeAdd => &simplicity_sys::c_jets::jets_wrapper::fe_add,
7511 Elements::FeInvert => &simplicity_sys::c_jets::jets_wrapper::fe_invert,
7512 Elements::FeIsOdd => &simplicity_sys::c_jets::jets_wrapper::fe_is_odd,
7513 Elements::FeIsZero => &simplicity_sys::c_jets::jets_wrapper::fe_is_zero,
7514 Elements::FeMultiply => &simplicity_sys::c_jets::jets_wrapper::fe_multiply,
7515 Elements::FeMultiplyBeta => &simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta,
7516 Elements::FeNegate => &simplicity_sys::c_jets::jets_wrapper::fe_negate,
7517 Elements::FeNormalize => &simplicity_sys::c_jets::jets_wrapper::fe_normalize,
7518 Elements::FeSquare => &simplicity_sys::c_jets::jets_wrapper::fe_square,
7519 Elements::FeSquareRoot => &simplicity_sys::c_jets::jets_wrapper::fe_square_root,
7520 Elements::FullAdd16 => &simplicity_sys::c_jets::jets_wrapper::full_add_16,
7521 Elements::FullAdd32 => &simplicity_sys::c_jets::jets_wrapper::full_add_32,
7522 Elements::FullAdd64 => &simplicity_sys::c_jets::jets_wrapper::full_add_64,
7523 Elements::FullAdd8 => &simplicity_sys::c_jets::jets_wrapper::full_add_8,
7524 Elements::FullDecrement16 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_16,
7525 Elements::FullDecrement32 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_32,
7526 Elements::FullDecrement64 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_64,
7527 Elements::FullDecrement8 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_8,
7528 Elements::FullIncrement16 => &simplicity_sys::c_jets::jets_wrapper::full_increment_16,
7529 Elements::FullIncrement32 => &simplicity_sys::c_jets::jets_wrapper::full_increment_32,
7530 Elements::FullIncrement64 => &simplicity_sys::c_jets::jets_wrapper::full_increment_64,
7531 Elements::FullIncrement8 => &simplicity_sys::c_jets::jets_wrapper::full_increment_8,
7532 Elements::FullLeftShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1,
7533 Elements::FullLeftShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2,
7534 Elements::FullLeftShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4,
7535 Elements::FullLeftShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8,
7536 Elements::FullLeftShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1,
7537 Elements::FullLeftShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16,
7538 Elements::FullLeftShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2,
7539 Elements::FullLeftShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4,
7540 Elements::FullLeftShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8,
7541 Elements::FullLeftShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1,
7542 Elements::FullLeftShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16,
7543 Elements::FullLeftShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2,
7544 Elements::FullLeftShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32,
7545 Elements::FullLeftShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4,
7546 Elements::FullLeftShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8,
7547 Elements::FullLeftShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1,
7548 Elements::FullLeftShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2,
7549 Elements::FullLeftShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4,
7550 Elements::FullMultiply16 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_16,
7551 Elements::FullMultiply32 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_32,
7552 Elements::FullMultiply64 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_64,
7553 Elements::FullMultiply8 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_8,
7554 Elements::FullRightShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1,
7555 Elements::FullRightShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2,
7556 Elements::FullRightShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4,
7557 Elements::FullRightShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8,
7558 Elements::FullRightShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1,
7559 Elements::FullRightShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16,
7560 Elements::FullRightShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2,
7561 Elements::FullRightShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4,
7562 Elements::FullRightShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8,
7563 Elements::FullRightShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1,
7564 Elements::FullRightShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16,
7565 Elements::FullRightShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2,
7566 Elements::FullRightShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32,
7567 Elements::FullRightShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4,
7568 Elements::FullRightShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8,
7569 Elements::FullRightShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1,
7570 Elements::FullRightShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2,
7571 Elements::FullRightShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4,
7572 Elements::FullSubtract16 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_16,
7573 Elements::FullSubtract32 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_32,
7574 Elements::FullSubtract64 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_64,
7575 Elements::FullSubtract8 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_8,
7576 Elements::GeIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve,
7577 Elements::GeNegate => &simplicity_sys::c_jets::jets_wrapper::ge_negate,
7578 Elements::GejAdd => &simplicity_sys::c_jets::jets_wrapper::gej_add,
7579 Elements::GejDouble => &simplicity_sys::c_jets::jets_wrapper::gej_double,
7580 Elements::GejEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_equiv,
7581 Elements::GejGeAdd => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add,
7582 Elements::GejGeAddEx => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex,
7583 Elements::GejGeEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv,
7584 Elements::GejInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_infinity,
7585 Elements::GejIsInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_is_infinity,
7586 Elements::GejIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve,
7587 Elements::GejNegate => &simplicity_sys::c_jets::jets_wrapper::gej_negate,
7588 Elements::GejNormalize => &simplicity_sys::c_jets::jets_wrapper::gej_normalize,
7589 Elements::GejRescale => &simplicity_sys::c_jets::jets_wrapper::gej_rescale,
7590 Elements::GejXEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_x_equiv,
7591 Elements::GejYIsOdd => &simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd,
7592 Elements::Generate => &simplicity_sys::c_jets::jets_wrapper::generate,
7593 Elements::GenesisBlockHash => &simplicity_sys::c_jets::jets_wrapper::genesis_block_hash,
7594 Elements::HashToCurve => &simplicity_sys::c_jets::jets_wrapper::hash_to_curve,
7595 Elements::High1 => &simplicity_sys::c_jets::jets_wrapper::high_1,
7596 Elements::High16 => &simplicity_sys::c_jets::jets_wrapper::high_16,
7597 Elements::High32 => &simplicity_sys::c_jets::jets_wrapper::high_32,
7598 Elements::High64 => &simplicity_sys::c_jets::jets_wrapper::high_64,
7599 Elements::High8 => &simplicity_sys::c_jets::jets_wrapper::high_8,
7600 Elements::Increment16 => &simplicity_sys::c_jets::jets_wrapper::increment_16,
7601 Elements::Increment32 => &simplicity_sys::c_jets::jets_wrapper::increment_32,
7602 Elements::Increment64 => &simplicity_sys::c_jets::jets_wrapper::increment_64,
7603 Elements::Increment8 => &simplicity_sys::c_jets::jets_wrapper::increment_8,
7604 Elements::InputAmount => &simplicity_sys::c_jets::jets_wrapper::input_amount,
7605 Elements::InputAmountsHash => &simplicity_sys::c_jets::jets_wrapper::input_amounts_hash,
7606 Elements::InputAnnexHash => &simplicity_sys::c_jets::jets_wrapper::input_annex_hash,
7607 Elements::InputAnnexesHash => &simplicity_sys::c_jets::jets_wrapper::input_annexes_hash,
7608 Elements::InputAsset => &simplicity_sys::c_jets::jets_wrapper::input_asset,
7609 Elements::InputHash => &simplicity_sys::c_jets::jets_wrapper::input_hash,
7610 Elements::InputOutpointsHash => &simplicity_sys::c_jets::jets_wrapper::input_outpoints_hash,
7611 Elements::InputPegin => &simplicity_sys::c_jets::jets_wrapper::input_pegin,
7612 Elements::InputPrevOutpoint => &simplicity_sys::c_jets::jets_wrapper::input_prev_outpoint,
7613 Elements::InputScriptHash => &simplicity_sys::c_jets::jets_wrapper::input_script_hash,
7614 Elements::InputScriptSigHash => &simplicity_sys::c_jets::jets_wrapper::input_script_sig_hash,
7615 Elements::InputScriptSigsHash => &simplicity_sys::c_jets::jets_wrapper::input_script_sigs_hash,
7616 Elements::InputScriptsHash => &simplicity_sys::c_jets::jets_wrapper::input_scripts_hash,
7617 Elements::InputSequence => &simplicity_sys::c_jets::jets_wrapper::input_sequence,
7618 Elements::InputSequencesHash => &simplicity_sys::c_jets::jets_wrapper::input_sequences_hash,
7619 Elements::InputUtxoHash => &simplicity_sys::c_jets::jets_wrapper::input_utxo_hash,
7620 Elements::InputUtxosHash => &simplicity_sys::c_jets::jets_wrapper::input_utxos_hash,
7621 Elements::InputsHash => &simplicity_sys::c_jets::jets_wrapper::inputs_hash,
7622 Elements::InternalKey => &simplicity_sys::c_jets::jets_wrapper::internal_key,
7623 Elements::IsOne16 => &simplicity_sys::c_jets::jets_wrapper::is_one_16,
7624 Elements::IsOne32 => &simplicity_sys::c_jets::jets_wrapper::is_one_32,
7625 Elements::IsOne64 => &simplicity_sys::c_jets::jets_wrapper::is_one_64,
7626 Elements::IsOne8 => &simplicity_sys::c_jets::jets_wrapper::is_one_8,
7627 Elements::IsZero16 => &simplicity_sys::c_jets::jets_wrapper::is_zero_16,
7628 Elements::IsZero32 => &simplicity_sys::c_jets::jets_wrapper::is_zero_32,
7629 Elements::IsZero64 => &simplicity_sys::c_jets::jets_wrapper::is_zero_64,
7630 Elements::IsZero8 => &simplicity_sys::c_jets::jets_wrapper::is_zero_8,
7631 Elements::Issuance => &simplicity_sys::c_jets::jets_wrapper::issuance,
7632 Elements::IssuanceAsset => &simplicity_sys::c_jets::jets_wrapper::issuance_asset,
7633 Elements::IssuanceAssetAmount => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_amount,
7634 Elements::IssuanceAssetAmountsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_amounts_hash,
7635 Elements::IssuanceAssetProof => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_proof,
7636 Elements::IssuanceBlindingEntropyHash => &simplicity_sys::c_jets::jets_wrapper::issuance_blinding_entropy_hash,
7637 Elements::IssuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::issuance_entropy,
7638 Elements::IssuanceHash => &simplicity_sys::c_jets::jets_wrapper::issuance_hash,
7639 Elements::IssuanceRangeProofsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_range_proofs_hash,
7640 Elements::IssuanceToken => &simplicity_sys::c_jets::jets_wrapper::issuance_token,
7641 Elements::IssuanceTokenAmount => &simplicity_sys::c_jets::jets_wrapper::issuance_token_amount,
7642 Elements::IssuanceTokenAmountsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_token_amounts_hash,
7643 Elements::IssuanceTokenProof => &simplicity_sys::c_jets::jets_wrapper::issuance_token_proof,
7644 Elements::IssuancesHash => &simplicity_sys::c_jets::jets_wrapper::issuances_hash,
7645 Elements::LbtcAsset => &simplicity_sys::c_jets::jets_wrapper::lbtc_asset,
7646 Elements::Le16 => &simplicity_sys::c_jets::jets_wrapper::le_16,
7647 Elements::Le32 => &simplicity_sys::c_jets::jets_wrapper::le_32,
7648 Elements::Le64 => &simplicity_sys::c_jets::jets_wrapper::le_64,
7649 Elements::Le8 => &simplicity_sys::c_jets::jets_wrapper::le_8,
7650 Elements::LeftExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_32,
7651 Elements::LeftExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_64,
7652 Elements::LeftExtend1_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_16,
7653 Elements::LeftExtend1_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_32,
7654 Elements::LeftExtend1_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_64,
7655 Elements::LeftExtend1_8 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_8,
7656 Elements::LeftExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_32_64,
7657 Elements::LeftExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_16,
7658 Elements::LeftExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_32,
7659 Elements::LeftExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_64,
7660 Elements::LeftPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32,
7661 Elements::LeftPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64,
7662 Elements::LeftPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16,
7663 Elements::LeftPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32,
7664 Elements::LeftPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64,
7665 Elements::LeftPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8,
7666 Elements::LeftPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64,
7667 Elements::LeftPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16,
7668 Elements::LeftPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32,
7669 Elements::LeftPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64,
7670 Elements::LeftPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32,
7671 Elements::LeftPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64,
7672 Elements::LeftPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16,
7673 Elements::LeftPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32,
7674 Elements::LeftPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64,
7675 Elements::LeftPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8,
7676 Elements::LeftPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64,
7677 Elements::LeftPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16,
7678 Elements::LeftPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32,
7679 Elements::LeftPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64,
7680 Elements::LeftRotate16 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_16,
7681 Elements::LeftRotate32 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_32,
7682 Elements::LeftRotate64 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_64,
7683 Elements::LeftRotate8 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_8,
7684 Elements::LeftShift16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_16,
7685 Elements::LeftShift32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_32,
7686 Elements::LeftShift64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_64,
7687 Elements::LeftShift8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_8,
7688 Elements::LeftShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_16,
7689 Elements::LeftShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_32,
7690 Elements::LeftShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_64,
7691 Elements::LeftShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_8,
7692 Elements::Leftmost16_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_1,
7693 Elements::Leftmost16_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_2,
7694 Elements::Leftmost16_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_4,
7695 Elements::Leftmost16_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_8,
7696 Elements::Leftmost32_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_1,
7697 Elements::Leftmost32_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_16,
7698 Elements::Leftmost32_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_2,
7699 Elements::Leftmost32_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_4,
7700 Elements::Leftmost32_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_8,
7701 Elements::Leftmost64_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_1,
7702 Elements::Leftmost64_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_16,
7703 Elements::Leftmost64_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_2,
7704 Elements::Leftmost64_32 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_32,
7705 Elements::Leftmost64_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_4,
7706 Elements::Leftmost64_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_8,
7707 Elements::Leftmost8_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_1,
7708 Elements::Leftmost8_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_2,
7709 Elements::Leftmost8_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_4,
7710 Elements::LinearCombination1 => &simplicity_sys::c_jets::jets_wrapper::linear_combination_1,
7711 Elements::LinearVerify1 => &simplicity_sys::c_jets::jets_wrapper::linear_verify_1,
7712 Elements::LockTime => &simplicity_sys::c_jets::jets_wrapper::lock_time,
7713 Elements::Low1 => &simplicity_sys::c_jets::jets_wrapper::low_1,
7714 Elements::Low16 => &simplicity_sys::c_jets::jets_wrapper::low_16,
7715 Elements::Low32 => &simplicity_sys::c_jets::jets_wrapper::low_32,
7716 Elements::Low64 => &simplicity_sys::c_jets::jets_wrapper::low_64,
7717 Elements::Low8 => &simplicity_sys::c_jets::jets_wrapper::low_8,
7718 Elements::Lt16 => &simplicity_sys::c_jets::jets_wrapper::lt_16,
7719 Elements::Lt32 => &simplicity_sys::c_jets::jets_wrapper::lt_32,
7720 Elements::Lt64 => &simplicity_sys::c_jets::jets_wrapper::lt_64,
7721 Elements::Lt8 => &simplicity_sys::c_jets::jets_wrapper::lt_8,
7722 Elements::Maj1 => &simplicity_sys::c_jets::jets_wrapper::maj_1,
7723 Elements::Maj16 => &simplicity_sys::c_jets::jets_wrapper::maj_16,
7724 Elements::Maj32 => &simplicity_sys::c_jets::jets_wrapper::maj_32,
7725 Elements::Maj64 => &simplicity_sys::c_jets::jets_wrapper::maj_64,
7726 Elements::Maj8 => &simplicity_sys::c_jets::jets_wrapper::maj_8,
7727 Elements::Max16 => &simplicity_sys::c_jets::jets_wrapper::max_16,
7728 Elements::Max32 => &simplicity_sys::c_jets::jets_wrapper::max_32,
7729 Elements::Max64 => &simplicity_sys::c_jets::jets_wrapper::max_64,
7730 Elements::Max8 => &simplicity_sys::c_jets::jets_wrapper::max_8,
7731 Elements::Median16 => &simplicity_sys::c_jets::jets_wrapper::median_16,
7732 Elements::Median32 => &simplicity_sys::c_jets::jets_wrapper::median_32,
7733 Elements::Median64 => &simplicity_sys::c_jets::jets_wrapper::median_64,
7734 Elements::Median8 => &simplicity_sys::c_jets::jets_wrapper::median_8,
7735 Elements::Min16 => &simplicity_sys::c_jets::jets_wrapper::min_16,
7736 Elements::Min32 => &simplicity_sys::c_jets::jets_wrapper::min_32,
7737 Elements::Min64 => &simplicity_sys::c_jets::jets_wrapper::min_64,
7738 Elements::Min8 => &simplicity_sys::c_jets::jets_wrapper::min_8,
7739 Elements::Modulo16 => &simplicity_sys::c_jets::jets_wrapper::modulo_16,
7740 Elements::Modulo32 => &simplicity_sys::c_jets::jets_wrapper::modulo_32,
7741 Elements::Modulo64 => &simplicity_sys::c_jets::jets_wrapper::modulo_64,
7742 Elements::Modulo8 => &simplicity_sys::c_jets::jets_wrapper::modulo_8,
7743 Elements::Multiply16 => &simplicity_sys::c_jets::jets_wrapper::multiply_16,
7744 Elements::Multiply32 => &simplicity_sys::c_jets::jets_wrapper::multiply_32,
7745 Elements::Multiply64 => &simplicity_sys::c_jets::jets_wrapper::multiply_64,
7746 Elements::Multiply8 => &simplicity_sys::c_jets::jets_wrapper::multiply_8,
7747 Elements::Negate16 => &simplicity_sys::c_jets::jets_wrapper::negate_16,
7748 Elements::Negate32 => &simplicity_sys::c_jets::jets_wrapper::negate_32,
7749 Elements::Negate64 => &simplicity_sys::c_jets::jets_wrapper::negate_64,
7750 Elements::Negate8 => &simplicity_sys::c_jets::jets_wrapper::negate_8,
7751 Elements::NewIssuanceContract => &simplicity_sys::c_jets::jets_wrapper::new_issuance_contract,
7752 Elements::NonceHash => &simplicity_sys::c_jets::jets_wrapper::nonce_hash,
7753 Elements::NumInputs => &simplicity_sys::c_jets::jets_wrapper::num_inputs,
7754 Elements::NumOutputs => &simplicity_sys::c_jets::jets_wrapper::num_outputs,
7755 Elements::One16 => &simplicity_sys::c_jets::jets_wrapper::one_16,
7756 Elements::One32 => &simplicity_sys::c_jets::jets_wrapper::one_32,
7757 Elements::One64 => &simplicity_sys::c_jets::jets_wrapper::one_64,
7758 Elements::One8 => &simplicity_sys::c_jets::jets_wrapper::one_8,
7759 Elements::Or1 => &simplicity_sys::c_jets::jets_wrapper::or_1,
7760 Elements::Or16 => &simplicity_sys::c_jets::jets_wrapper::or_16,
7761 Elements::Or32 => &simplicity_sys::c_jets::jets_wrapper::or_32,
7762 Elements::Or64 => &simplicity_sys::c_jets::jets_wrapper::or_64,
7763 Elements::Or8 => &simplicity_sys::c_jets::jets_wrapper::or_8,
7764 Elements::OutpointHash => &simplicity_sys::c_jets::jets_wrapper::outpoint_hash,
7765 Elements::OutputAmount => &simplicity_sys::c_jets::jets_wrapper::output_amount,
7766 Elements::OutputAmountsHash => &simplicity_sys::c_jets::jets_wrapper::output_amounts_hash,
7767 Elements::OutputAsset => &simplicity_sys::c_jets::jets_wrapper::output_asset,
7768 Elements::OutputHash => &simplicity_sys::c_jets::jets_wrapper::output_hash,
7769 Elements::OutputIsFee => &simplicity_sys::c_jets::jets_wrapper::output_is_fee,
7770 Elements::OutputNonce => &simplicity_sys::c_jets::jets_wrapper::output_nonce,
7771 Elements::OutputNoncesHash => &simplicity_sys::c_jets::jets_wrapper::output_nonces_hash,
7772 Elements::OutputNullDatum => &simplicity_sys::c_jets::jets_wrapper::output_null_datum,
7773 Elements::OutputRangeProof => &simplicity_sys::c_jets::jets_wrapper::output_range_proof,
7774 Elements::OutputRangeProofsHash => &simplicity_sys::c_jets::jets_wrapper::output_range_proofs_hash,
7775 Elements::OutputScriptHash => &simplicity_sys::c_jets::jets_wrapper::output_script_hash,
7776 Elements::OutputScriptsHash => &simplicity_sys::c_jets::jets_wrapper::output_scripts_hash,
7777 Elements::OutputSurjectionProof => &simplicity_sys::c_jets::jets_wrapper::output_surjection_proof,
7778 Elements::OutputSurjectionProofsHash => &simplicity_sys::c_jets::jets_wrapper::output_surjection_proofs_hash,
7779 Elements::OutputsHash => &simplicity_sys::c_jets::jets_wrapper::outputs_hash,
7780 Elements::ParseLock => &simplicity_sys::c_jets::jets_wrapper::parse_lock,
7781 Elements::ParseSequence => &simplicity_sys::c_jets::jets_wrapper::parse_sequence,
7782 Elements::PointVerify1 => &simplicity_sys::c_jets::jets_wrapper::point_verify_1,
7783 Elements::ReissuanceBlinding => &simplicity_sys::c_jets::jets_wrapper::reissuance_blinding,
7784 Elements::ReissuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::reissuance_entropy,
7785 Elements::RightExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_32,
7786 Elements::RightExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_64,
7787 Elements::RightExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_32_64,
7788 Elements::RightExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_16,
7789 Elements::RightExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_32,
7790 Elements::RightExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_64,
7791 Elements::RightPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32,
7792 Elements::RightPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64,
7793 Elements::RightPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16,
7794 Elements::RightPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32,
7795 Elements::RightPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64,
7796 Elements::RightPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8,
7797 Elements::RightPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64,
7798 Elements::RightPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16,
7799 Elements::RightPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32,
7800 Elements::RightPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64,
7801 Elements::RightPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32,
7802 Elements::RightPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64,
7803 Elements::RightPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16,
7804 Elements::RightPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32,
7805 Elements::RightPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64,
7806 Elements::RightPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8,
7807 Elements::RightPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64,
7808 Elements::RightPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16,
7809 Elements::RightPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32,
7810 Elements::RightPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64,
7811 Elements::RightRotate16 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_16,
7812 Elements::RightRotate32 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_32,
7813 Elements::RightRotate64 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_64,
7814 Elements::RightRotate8 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_8,
7815 Elements::RightShift16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_16,
7816 Elements::RightShift32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_32,
7817 Elements::RightShift64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_64,
7818 Elements::RightShift8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_8,
7819 Elements::RightShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_16,
7820 Elements::RightShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_32,
7821 Elements::RightShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_64,
7822 Elements::RightShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_8,
7823 Elements::Rightmost16_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_1,
7824 Elements::Rightmost16_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_2,
7825 Elements::Rightmost16_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_4,
7826 Elements::Rightmost16_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_8,
7827 Elements::Rightmost32_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_1,
7828 Elements::Rightmost32_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_16,
7829 Elements::Rightmost32_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_2,
7830 Elements::Rightmost32_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_4,
7831 Elements::Rightmost32_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_8,
7832 Elements::Rightmost64_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_1,
7833 Elements::Rightmost64_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_16,
7834 Elements::Rightmost64_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_2,
7835 Elements::Rightmost64_32 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_32,
7836 Elements::Rightmost64_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_4,
7837 Elements::Rightmost64_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_8,
7838 Elements::Rightmost8_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_1,
7839 Elements::Rightmost8_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_2,
7840 Elements::Rightmost8_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_4,
7841 Elements::ScalarAdd => &simplicity_sys::c_jets::jets_wrapper::scalar_add,
7842 Elements::ScalarInvert => &simplicity_sys::c_jets::jets_wrapper::scalar_invert,
7843 Elements::ScalarIsZero => &simplicity_sys::c_jets::jets_wrapper::scalar_is_zero,
7844 Elements::ScalarMultiply => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply,
7845 Elements::ScalarMultiplyLambda => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda,
7846 Elements::ScalarNegate => &simplicity_sys::c_jets::jets_wrapper::scalar_negate,
7847 Elements::ScalarNormalize => &simplicity_sys::c_jets::jets_wrapper::scalar_normalize,
7848 Elements::ScalarSquare => &simplicity_sys::c_jets::jets_wrapper::scalar_square,
7849 Elements::Scale => &simplicity_sys::c_jets::jets_wrapper::scale,
7850 Elements::ScriptCMR => &simplicity_sys::c_jets::jets_wrapper::script_cmr,
7851 Elements::Sha256Block => &simplicity_sys::c_jets::jets_wrapper::sha_256_block,
7852 Elements::Sha256Ctx8Add1 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1,
7853 Elements::Sha256Ctx8Add128 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128,
7854 Elements::Sha256Ctx8Add16 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16,
7855 Elements::Sha256Ctx8Add2 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2,
7856 Elements::Sha256Ctx8Add256 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256,
7857 Elements::Sha256Ctx8Add32 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32,
7858 Elements::Sha256Ctx8Add4 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4,
7859 Elements::Sha256Ctx8Add512 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512,
7860 Elements::Sha256Ctx8Add64 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64,
7861 Elements::Sha256Ctx8Add8 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8,
7862 Elements::Sha256Ctx8AddBuffer511 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511,
7863 Elements::Sha256Ctx8Finalize => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize,
7864 Elements::Sha256Ctx8Init => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init,
7865 Elements::Sha256Iv => &simplicity_sys::c_jets::jets_wrapper::sha_256_iv,
7866 Elements::SigAllHash => &simplicity_sys::c_jets::jets_wrapper::sig_all_hash,
7867 Elements::Some1 => &simplicity_sys::c_jets::jets_wrapper::some_1,
7868 Elements::Some16 => &simplicity_sys::c_jets::jets_wrapper::some_16,
7869 Elements::Some32 => &simplicity_sys::c_jets::jets_wrapper::some_32,
7870 Elements::Some64 => &simplicity_sys::c_jets::jets_wrapper::some_64,
7871 Elements::Some8 => &simplicity_sys::c_jets::jets_wrapper::some_8,
7872 Elements::Subtract16 => &simplicity_sys::c_jets::jets_wrapper::subtract_16,
7873 Elements::Subtract32 => &simplicity_sys::c_jets::jets_wrapper::subtract_32,
7874 Elements::Subtract64 => &simplicity_sys::c_jets::jets_wrapper::subtract_64,
7875 Elements::Subtract8 => &simplicity_sys::c_jets::jets_wrapper::subtract_8,
7876 Elements::Swu => &simplicity_sys::c_jets::jets_wrapper::swu,
7877 Elements::TapEnvHash => &simplicity_sys::c_jets::jets_wrapper::tap_env_hash,
7878 Elements::TapdataInit => &simplicity_sys::c_jets::jets_wrapper::tapdata_init,
7879 Elements::TapleafHash => &simplicity_sys::c_jets::jets_wrapper::tapleaf_hash,
7880 Elements::TapleafVersion => &simplicity_sys::c_jets::jets_wrapper::tapleaf_version,
7881 Elements::Tappath => &simplicity_sys::c_jets::jets_wrapper::tappath,
7882 Elements::TappathHash => &simplicity_sys::c_jets::jets_wrapper::tappath_hash,
7883 Elements::TotalFee => &simplicity_sys::c_jets::jets_wrapper::total_fee,
7884 Elements::TransactionId => &simplicity_sys::c_jets::jets_wrapper::transaction_id,
7885 Elements::TxHash => &simplicity_sys::c_jets::jets_wrapper::tx_hash,
7886 Elements::TxIsFinal => &simplicity_sys::c_jets::jets_wrapper::tx_is_final,
7887 Elements::TxLockDistance => &simplicity_sys::c_jets::jets_wrapper::tx_lock_distance,
7888 Elements::TxLockDuration => &simplicity_sys::c_jets::jets_wrapper::tx_lock_duration,
7889 Elements::TxLockHeight => &simplicity_sys::c_jets::jets_wrapper::tx_lock_height,
7890 Elements::TxLockTime => &simplicity_sys::c_jets::jets_wrapper::tx_lock_time,
7891 Elements::Verify => &simplicity_sys::c_jets::jets_wrapper::verify,
7892 Elements::Version => &simplicity_sys::c_jets::jets_wrapper::version,
7893 Elements::Xor1 => &simplicity_sys::c_jets::jets_wrapper::xor_1,
7894 Elements::Xor16 => &simplicity_sys::c_jets::jets_wrapper::xor_16,
7895 Elements::Xor32 => &simplicity_sys::c_jets::jets_wrapper::xor_32,
7896 Elements::Xor64 => &simplicity_sys::c_jets::jets_wrapper::xor_64,
7897 Elements::Xor8 => &simplicity_sys::c_jets::jets_wrapper::xor_8,
7898 Elements::XorXor1 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_1,
7899 Elements::XorXor16 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_16,
7900 Elements::XorXor32 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_32,
7901 Elements::XorXor64 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_64,
7902 Elements::XorXor8 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_8,
7903 }
7904 }
7905
7906 fn cost(&self) -> Cost {
7907 match self {
7908 Elements::Add16 => Cost::from_milliweight(108),
7909 Elements::Add32 => Cost::from_milliweight(117),
7910 Elements::Add64 => Cost::from_milliweight(109),
7911 Elements::Add8 => Cost::from_milliweight(112),
7912 Elements::All16 => Cost::from_milliweight(62),
7913 Elements::All32 => Cost::from_milliweight(65),
7914 Elements::All64 => Cost::from_milliweight(79),
7915 Elements::All8 => Cost::from_milliweight(76),
7916 Elements::And1 => Cost::from_milliweight(79),
7917 Elements::And16 => Cost::from_milliweight(88),
7918 Elements::And32 => Cost::from_milliweight(94),
7919 Elements::And64 => Cost::from_milliweight(93),
7920 Elements::And8 => Cost::from_milliweight(91),
7921 Elements::AnnexHash => Cost::from_milliweight(241),
7922 Elements::AssetAmountHash => Cost::from_milliweight(308),
7923 Elements::Bip0340Verify => Cost::from_milliweight(49087),
7924 Elements::BuildTapbranch => Cost::from_milliweight(2563),
7925 Elements::BuildTapleafSimplicity => Cost::from_milliweight(1843),
7926 Elements::BuildTaptweak => Cost::from_milliweight(92813),
7927 Elements::CalculateAsset => Cost::from_milliweight(807),
7928 Elements::CalculateConfidentialToken => Cost::from_milliweight(707),
7929 Elements::CalculateExplicitToken => Cost::from_milliweight(771),
7930 Elements::CalculateIssuanceEntropy => Cost::from_milliweight(2095),
7931 Elements::Ch1 => Cost::from_milliweight(78),
7932 Elements::Ch16 => Cost::from_milliweight(94),
7933 Elements::Ch32 => Cost::from_milliweight(91),
7934 Elements::Ch64 => Cost::from_milliweight(91),
7935 Elements::Ch8 => Cost::from_milliweight(77),
7936 Elements::CheckLockDistance => Cost::from_milliweight(105),
7937 Elements::CheckLockDuration => Cost::from_milliweight(102),
7938 Elements::CheckLockHeight => Cost::from_milliweight(77),
7939 Elements::CheckLockTime => Cost::from_milliweight(93),
7940 Elements::CheckSigVerify => Cost::from_milliweight(50000),
7941 Elements::Complement1 => Cost::from_milliweight(79),
7942 Elements::Complement16 => Cost::from_milliweight(75),
7943 Elements::Complement32 => Cost::from_milliweight(93),
7944 Elements::Complement64 => Cost::from_milliweight(88),
7945 Elements::Complement8 => Cost::from_milliweight(80),
7946 Elements::CurrentAmount => Cost::from_milliweight(225),
7947 Elements::CurrentAnnexHash => Cost::from_milliweight(79),
7948 Elements::CurrentAsset => Cost::from_milliweight(171),
7949 Elements::CurrentIndex => Cost::from_milliweight(88),
7950 Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(165),
7951 Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(140),
7952 Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(188),
7953 Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(144),
7954 Elements::CurrentNewIssuanceContract => Cost::from_milliweight(145),
7955 Elements::CurrentPegin => Cost::from_milliweight(147),
7956 Elements::CurrentPrevOutpoint => Cost::from_milliweight(156),
7957 Elements::CurrentReissuanceBlinding => Cost::from_milliweight(94),
7958 Elements::CurrentReissuanceEntropy => Cost::from_milliweight(85),
7959 Elements::CurrentScriptHash => Cost::from_milliweight(134),
7960 Elements::CurrentScriptSigHash => Cost::from_milliweight(139),
7961 Elements::CurrentSequence => Cost::from_milliweight(89),
7962 Elements::Decompress => Cost::from_milliweight(10861),
7963 Elements::Decrement16 => Cost::from_milliweight(85),
7964 Elements::Decrement32 => Cost::from_milliweight(91),
7965 Elements::Decrement64 => Cost::from_milliweight(89),
7966 Elements::Decrement8 => Cost::from_milliweight(79),
7967 Elements::DivMod128_64 => Cost::from_milliweight(208),
7968 Elements::DivMod16 => Cost::from_milliweight(118),
7969 Elements::DivMod32 => Cost::from_milliweight(115),
7970 Elements::DivMod64 => Cost::from_milliweight(86),
7971 Elements::DivMod8 => Cost::from_milliweight(128),
7972 Elements::Divide16 => Cost::from_milliweight(98),
7973 Elements::Divide32 => Cost::from_milliweight(100),
7974 Elements::Divide64 => Cost::from_milliweight(101),
7975 Elements::Divide8 => Cost::from_milliweight(108),
7976 Elements::Divides16 => Cost::from_milliweight(93),
7977 Elements::Divides32 => Cost::from_milliweight(87),
7978 Elements::Divides64 => Cost::from_milliweight(91),
7979 Elements::Divides8 => Cost::from_milliweight(98),
7980 Elements::Eq1 => Cost::from_milliweight(74),
7981 Elements::Eq16 => Cost::from_milliweight(84),
7982 Elements::Eq256 => Cost::from_milliweight(225),
7983 Elements::Eq32 => Cost::from_milliweight(88),
7984 Elements::Eq64 => Cost::from_milliweight(100),
7985 Elements::Eq8 => Cost::from_milliweight(95),
7986 Elements::FeAdd => Cost::from_milliweight(755),
7987 Elements::FeInvert => Cost::from_milliweight(3175),
7988 Elements::FeIsOdd => Cost::from_milliweight(290),
7989 Elements::FeIsZero => Cost::from_milliweight(268),
7990 Elements::FeMultiply => Cost::from_milliweight(808),
7991 Elements::FeMultiplyBeta => Cost::from_milliweight(579),
7992 Elements::FeNegate => Cost::from_milliweight(531),
7993 Elements::FeNormalize => Cost::from_milliweight(521),
7994 Elements::FeSquare => Cost::from_milliweight(556),
7995 Elements::FeSquareRoot => Cost::from_milliweight(10275),
7996 Elements::FullAdd16 => Cost::from_milliweight(121),
7997 Elements::FullAdd32 => Cost::from_milliweight(119),
7998 Elements::FullAdd64 => Cost::from_milliweight(121),
7999 Elements::FullAdd8 => Cost::from_milliweight(127),
8000 Elements::FullDecrement16 => Cost::from_milliweight(92),
8001 Elements::FullDecrement32 => Cost::from_milliweight(107),
8002 Elements::FullDecrement64 => Cost::from_milliweight(81),
8003 Elements::FullDecrement8 => Cost::from_milliweight(91),
8004 Elements::FullIncrement16 => Cost::from_milliweight(89),
8005 Elements::FullIncrement32 => Cost::from_milliweight(104),
8006 Elements::FullIncrement64 => Cost::from_milliweight(99),
8007 Elements::FullIncrement8 => Cost::from_milliweight(72),
8008 Elements::FullLeftShift16_1 => Cost::from_milliweight(83),
8009 Elements::FullLeftShift16_2 => Cost::from_milliweight(83),
8010 Elements::FullLeftShift16_4 => Cost::from_milliweight(89),
8011 Elements::FullLeftShift16_8 => Cost::from_milliweight(65),
8012 Elements::FullLeftShift32_1 => Cost::from_milliweight(84),
8013 Elements::FullLeftShift32_16 => Cost::from_milliweight(81),
8014 Elements::FullLeftShift32_2 => Cost::from_milliweight(67),
8015 Elements::FullLeftShift32_4 => Cost::from_milliweight(84),
8016 Elements::FullLeftShift32_8 => Cost::from_milliweight(91),
8017 Elements::FullLeftShift64_1 => Cost::from_milliweight(99),
8018 Elements::FullLeftShift64_16 => Cost::from_milliweight(90),
8019 Elements::FullLeftShift64_2 => Cost::from_milliweight(94),
8020 Elements::FullLeftShift64_32 => Cost::from_milliweight(86),
8021 Elements::FullLeftShift64_4 => Cost::from_milliweight(94),
8022 Elements::FullLeftShift64_8 => Cost::from_milliweight(86),
8023 Elements::FullLeftShift8_1 => Cost::from_milliweight(96),
8024 Elements::FullLeftShift8_2 => Cost::from_milliweight(96),
8025 Elements::FullLeftShift8_4 => Cost::from_milliweight(85),
8026 Elements::FullMultiply16 => Cost::from_milliweight(112),
8027 Elements::FullMultiply32 => Cost::from_milliweight(96),
8028 Elements::FullMultiply64 => Cost::from_milliweight(127),
8029 Elements::FullMultiply8 => Cost::from_milliweight(109),
8030 Elements::FullRightShift16_1 => Cost::from_milliweight(80),
8031 Elements::FullRightShift16_2 => Cost::from_milliweight(79),
8032 Elements::FullRightShift16_4 => Cost::from_milliweight(88),
8033 Elements::FullRightShift16_8 => Cost::from_milliweight(57),
8034 Elements::FullRightShift32_1 => Cost::from_milliweight(74),
8035 Elements::FullRightShift32_16 => Cost::from_milliweight(64),
8036 Elements::FullRightShift32_2 => Cost::from_milliweight(63),
8037 Elements::FullRightShift32_4 => Cost::from_milliweight(71),
8038 Elements::FullRightShift32_8 => Cost::from_milliweight(84),
8039 Elements::FullRightShift64_1 => Cost::from_milliweight(99),
8040 Elements::FullRightShift64_16 => Cost::from_milliweight(86),
8041 Elements::FullRightShift64_2 => Cost::from_milliweight(86),
8042 Elements::FullRightShift64_32 => Cost::from_milliweight(73),
8043 Elements::FullRightShift64_4 => Cost::from_milliweight(93),
8044 Elements::FullRightShift64_8 => Cost::from_milliweight(99),
8045 Elements::FullRightShift8_1 => Cost::from_milliweight(88),
8046 Elements::FullRightShift8_2 => Cost::from_milliweight(86),
8047 Elements::FullRightShift8_4 => Cost::from_milliweight(89),
8048 Elements::FullSubtract16 => Cost::from_milliweight(121),
8049 Elements::FullSubtract32 => Cost::from_milliweight(116),
8050 Elements::FullSubtract64 => Cost::from_milliweight(98),
8051 Elements::FullSubtract8 => Cost::from_milliweight(126),
8052 Elements::GeIsOnCurve => Cost::from_milliweight(642),
8053 Elements::GeNegate => Cost::from_milliweight(945),
8054 Elements::GejAdd => Cost::from_milliweight(2897),
8055 Elements::GejDouble => Cost::from_milliweight(1764),
8056 Elements::GejEquiv => Cost::from_milliweight(2220),
8057 Elements::GejGeAdd => Cost::from_milliweight(2477),
8058 Elements::GejGeAddEx => Cost::from_milliweight(2719),
8059 Elements::GejGeEquiv => Cost::from_milliweight(1765),
8060 Elements::GejInfinity => Cost::from_milliweight(716),
8061 Elements::GejIsInfinity => Cost::from_milliweight(666),
8062 Elements::GejIsOnCurve => Cost::from_milliweight(1016),
8063 Elements::GejNegate => Cost::from_milliweight(1381),
8064 Elements::GejNormalize => Cost::from_milliweight(4099),
8065 Elements::GejRescale => Cost::from_milliweight(1908),
8066 Elements::GejXEquiv => Cost::from_milliweight(1047),
8067 Elements::GejYIsOdd => Cost::from_milliweight(3651),
8068 Elements::Generate => Cost::from_milliweight(50071),
8069 Elements::GenesisBlockHash => Cost::from_milliweight(148),
8070 Elements::HashToCurve => Cost::from_milliweight(68094),
8071 Elements::High1 => Cost::from_milliweight(57),
8072 Elements::High16 => Cost::from_milliweight(66),
8073 Elements::High32 => Cost::from_milliweight(58),
8074 Elements::High64 => Cost::from_milliweight(68),
8075 Elements::High8 => Cost::from_milliweight(59),
8076 Elements::Increment16 => Cost::from_milliweight(69),
8077 Elements::Increment32 => Cost::from_milliweight(92),
8078 Elements::Increment64 => Cost::from_milliweight(87),
8079 Elements::Increment8 => Cost::from_milliweight(85),
8080 Elements::InputAmount => Cost::from_milliweight(285),
8081 Elements::InputAmountsHash => Cost::from_milliweight(140),
8082 Elements::InputAnnexHash => Cost::from_milliweight(90),
8083 Elements::InputAnnexesHash => Cost::from_milliweight(155),
8084 Elements::InputAsset => Cost::from_milliweight(162),
8085 Elements::InputHash => Cost::from_milliweight(965),
8086 Elements::InputOutpointsHash => Cost::from_milliweight(142),
8087 Elements::InputPegin => Cost::from_milliweight(151),
8088 Elements::InputPrevOutpoint => Cost::from_milliweight(160),
8089 Elements::InputScriptHash => Cost::from_milliweight(147),
8090 Elements::InputScriptSigHash => Cost::from_milliweight(153),
8091 Elements::InputScriptSigsHash => Cost::from_milliweight(138),
8092 Elements::InputScriptsHash => Cost::from_milliweight(137),
8093 Elements::InputSequence => Cost::from_milliweight(99),
8094 Elements::InputSequencesHash => Cost::from_milliweight(142),
8095 Elements::InputUtxoHash => Cost::from_milliweight(1996),
8096 Elements::InputUtxosHash => Cost::from_milliweight(140),
8097 Elements::InputsHash => Cost::from_milliweight(154),
8098 Elements::InternalKey => Cost::from_milliweight(152),
8099 Elements::IsOne16 => Cost::from_milliweight(82),
8100 Elements::IsOne32 => Cost::from_milliweight(65),
8101 Elements::IsOne64 => Cost::from_milliweight(83),
8102 Elements::IsOne8 => Cost::from_milliweight(91),
8103 Elements::IsZero16 => Cost::from_milliweight(75),
8104 Elements::IsZero32 => Cost::from_milliweight(85),
8105 Elements::IsZero64 => Cost::from_milliweight(80),
8106 Elements::IsZero8 => Cost::from_milliweight(77),
8107 Elements::Issuance => Cost::from_milliweight(91),
8108 Elements::IssuanceAsset => Cost::from_milliweight(151),
8109 Elements::IssuanceAssetAmount => Cost::from_milliweight(162),
8110 Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(139),
8111 Elements::IssuanceAssetProof => Cost::from_milliweight(150),
8112 Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(129),
8113 Elements::IssuanceEntropy => Cost::from_milliweight(153),
8114 Elements::IssuanceHash => Cost::from_milliweight(3738),
8115 Elements::IssuanceRangeProofsHash => Cost::from_milliweight(129),
8116 Elements::IssuanceToken => Cost::from_milliweight(149),
8117 Elements::IssuanceTokenAmount => Cost::from_milliweight(196),
8118 Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(138),
8119 Elements::IssuanceTokenProof => Cost::from_milliweight(150),
8120 Elements::IssuancesHash => Cost::from_milliweight(141),
8121 Elements::LbtcAsset => Cost::from_milliweight(145),
8122 Elements::Le16 => Cost::from_milliweight(112),
8123 Elements::Le32 => Cost::from_milliweight(93),
8124 Elements::Le64 => Cost::from_milliweight(93),
8125 Elements::Le8 => Cost::from_milliweight(109),
8126 Elements::LeftExtend16_32 => Cost::from_milliweight(86),
8127 Elements::LeftExtend16_64 => Cost::from_milliweight(89),
8128 Elements::LeftExtend1_16 => Cost::from_milliweight(67),
8129 Elements::LeftExtend1_32 => Cost::from_milliweight(60),
8130 Elements::LeftExtend1_64 => Cost::from_milliweight(76),
8131 Elements::LeftExtend1_8 => Cost::from_milliweight(65),
8132 Elements::LeftExtend32_64 => Cost::from_milliweight(63),
8133 Elements::LeftExtend8_16 => Cost::from_milliweight(88),
8134 Elements::LeftExtend8_32 => Cost::from_milliweight(90),
8135 Elements::LeftExtend8_64 => Cost::from_milliweight(107),
8136 Elements::LeftPadHigh16_32 => Cost::from_milliweight(91),
8137 Elements::LeftPadHigh16_64 => Cost::from_milliweight(110),
8138 Elements::LeftPadHigh1_16 => Cost::from_milliweight(141),
8139 Elements::LeftPadHigh1_32 => Cost::from_milliweight(263),
8140 Elements::LeftPadHigh1_64 => Cost::from_milliweight(422),
8141 Elements::LeftPadHigh1_8 => Cost::from_milliweight(99),
8142 Elements::LeftPadHigh32_64 => Cost::from_milliweight(93),
8143 Elements::LeftPadHigh8_16 => Cost::from_milliweight(88),
8144 Elements::LeftPadHigh8_32 => Cost::from_milliweight(103),
8145 Elements::LeftPadHigh8_64 => Cost::from_milliweight(136),
8146 Elements::LeftPadLow16_32 => Cost::from_milliweight(69),
8147 Elements::LeftPadLow16_64 => Cost::from_milliweight(106),
8148 Elements::LeftPadLow1_16 => Cost::from_milliweight(65),
8149 Elements::LeftPadLow1_32 => Cost::from_milliweight(63),
8150 Elements::LeftPadLow1_64 => Cost::from_milliweight(61),
8151 Elements::LeftPadLow1_8 => Cost::from_milliweight(56),
8152 Elements::LeftPadLow32_64 => Cost::from_milliweight(91),
8153 Elements::LeftPadLow8_16 => Cost::from_milliweight(66),
8154 Elements::LeftPadLow8_32 => Cost::from_milliweight(61),
8155 Elements::LeftPadLow8_64 => Cost::from_milliweight(112),
8156 Elements::LeftRotate16 => Cost::from_milliweight(77),
8157 Elements::LeftRotate32 => Cost::from_milliweight(106),
8158 Elements::LeftRotate64 => Cost::from_milliweight(98),
8159 Elements::LeftRotate8 => Cost::from_milliweight(88),
8160 Elements::LeftShift16 => Cost::from_milliweight(72),
8161 Elements::LeftShift32 => Cost::from_milliweight(78),
8162 Elements::LeftShift64 => Cost::from_milliweight(82),
8163 Elements::LeftShift8 => Cost::from_milliweight(91),
8164 Elements::LeftShiftWith16 => Cost::from_milliweight(83),
8165 Elements::LeftShiftWith32 => Cost::from_milliweight(95),
8166 Elements::LeftShiftWith64 => Cost::from_milliweight(103),
8167 Elements::LeftShiftWith8 => Cost::from_milliweight(107),
8168 Elements::Leftmost16_1 => Cost::from_milliweight(93),
8169 Elements::Leftmost16_2 => Cost::from_milliweight(90),
8170 Elements::Leftmost16_4 => Cost::from_milliweight(75),
8171 Elements::Leftmost16_8 => Cost::from_milliweight(71),
8172 Elements::Leftmost32_1 => Cost::from_milliweight(77),
8173 Elements::Leftmost32_16 => Cost::from_milliweight(102),
8174 Elements::Leftmost32_2 => Cost::from_milliweight(66),
8175 Elements::Leftmost32_4 => Cost::from_milliweight(52),
8176 Elements::Leftmost32_8 => Cost::from_milliweight(103),
8177 Elements::Leftmost64_1 => Cost::from_milliweight(78),
8178 Elements::Leftmost64_16 => Cost::from_milliweight(88),
8179 Elements::Leftmost64_2 => Cost::from_milliweight(71),
8180 Elements::Leftmost64_32 => Cost::from_milliweight(90),
8181 Elements::Leftmost64_4 => Cost::from_milliweight(79),
8182 Elements::Leftmost64_8 => Cost::from_milliweight(86),
8183 Elements::Leftmost8_1 => Cost::from_milliweight(90),
8184 Elements::Leftmost8_2 => Cost::from_milliweight(90),
8185 Elements::Leftmost8_4 => Cost::from_milliweight(87),
8186 Elements::LinearCombination1 => Cost::from_milliweight(84674),
8187 Elements::LinearVerify1 => Cost::from_milliweight(43364),
8188 Elements::LockTime => Cost::from_milliweight(85),
8189 Elements::Low1 => Cost::from_milliweight(38),
8190 Elements::Low16 => Cost::from_milliweight(69),
8191 Elements::Low32 => Cost::from_milliweight(62),
8192 Elements::Low64 => Cost::from_milliweight(47),
8193 Elements::Low8 => Cost::from_milliweight(47),
8194 Elements::Lt16 => Cost::from_milliweight(123),
8195 Elements::Lt32 => Cost::from_milliweight(107),
8196 Elements::Lt64 => Cost::from_milliweight(76),
8197 Elements::Lt8 => Cost::from_milliweight(107),
8198 Elements::Maj1 => Cost::from_milliweight(62),
8199 Elements::Maj16 => Cost::from_milliweight(80),
8200 Elements::Maj32 => Cost::from_milliweight(96),
8201 Elements::Maj64 => Cost::from_milliweight(93),
8202 Elements::Maj8 => Cost::from_milliweight(94),
8203 Elements::Max16 => Cost::from_milliweight(114),
8204 Elements::Max32 => Cost::from_milliweight(92),
8205 Elements::Max64 => Cost::from_milliweight(104),
8206 Elements::Max8 => Cost::from_milliweight(96),
8207 Elements::Median16 => Cost::from_milliweight(123),
8208 Elements::Median32 => Cost::from_milliweight(101),
8209 Elements::Median64 => Cost::from_milliweight(109),
8210 Elements::Median8 => Cost::from_milliweight(122),
8211 Elements::Min16 => Cost::from_milliweight(97),
8212 Elements::Min32 => Cost::from_milliweight(113),
8213 Elements::Min64 => Cost::from_milliweight(102),
8214 Elements::Min8 => Cost::from_milliweight(99),
8215 Elements::Modulo16 => Cost::from_milliweight(103),
8216 Elements::Modulo32 => Cost::from_milliweight(102),
8217 Elements::Modulo64 => Cost::from_milliweight(85),
8218 Elements::Modulo8 => Cost::from_milliweight(102),
8219 Elements::Multiply16 => Cost::from_milliweight(90),
8220 Elements::Multiply32 => Cost::from_milliweight(90),
8221 Elements::Multiply64 => Cost::from_milliweight(85),
8222 Elements::Multiply8 => Cost::from_milliweight(93),
8223 Elements::Negate16 => Cost::from_milliweight(70),
8224 Elements::Negate32 => Cost::from_milliweight(85),
8225 Elements::Negate64 => Cost::from_milliweight(94),
8226 Elements::Negate8 => Cost::from_milliweight(91),
8227 Elements::NewIssuanceContract => Cost::from_milliweight(157),
8228 Elements::NonceHash => Cost::from_milliweight(317),
8229 Elements::NumInputs => Cost::from_milliweight(86),
8230 Elements::NumOutputs => Cost::from_milliweight(79),
8231 Elements::One16 => Cost::from_milliweight(60),
8232 Elements::One32 => Cost::from_milliweight(59),
8233 Elements::One64 => Cost::from_milliweight(59),
8234 Elements::One8 => Cost::from_milliweight(62),
8235 Elements::Or1 => Cost::from_milliweight(77),
8236 Elements::Or16 => Cost::from_milliweight(94),
8237 Elements::Or32 => Cost::from_milliweight(105),
8238 Elements::Or64 => Cost::from_milliweight(99),
8239 Elements::Or8 => Cost::from_milliweight(93),
8240 Elements::OutpointHash => Cost::from_milliweight(319),
8241 Elements::OutputAmount => Cost::from_milliweight(298),
8242 Elements::OutputAmountsHash => Cost::from_milliweight(140),
8243 Elements::OutputAsset => Cost::from_milliweight(170),
8244 Elements::OutputHash => Cost::from_milliweight(2849),
8245 Elements::OutputIsFee => Cost::from_milliweight(92),
8246 Elements::OutputNonce => Cost::from_milliweight(196),
8247 Elements::OutputNoncesHash => Cost::from_milliweight(151),
8248 Elements::OutputNullDatum => Cost::from_milliweight(87),
8249 Elements::OutputRangeProof => Cost::from_milliweight(154),
8250 Elements::OutputRangeProofsHash => Cost::from_milliweight(136),
8251 Elements::OutputScriptHash => Cost::from_milliweight(151),
8252 Elements::OutputScriptsHash => Cost::from_milliweight(142),
8253 Elements::OutputSurjectionProof => Cost::from_milliweight(151),
8254 Elements::OutputSurjectionProofsHash => Cost::from_milliweight(138),
8255 Elements::OutputsHash => Cost::from_milliweight(135),
8256 Elements::ParseLock => Cost::from_milliweight(97),
8257 Elements::ParseSequence => Cost::from_milliweight(116),
8258 Elements::PointVerify1 => Cost::from_milliweight(41494),
8259 Elements::ReissuanceBlinding => Cost::from_milliweight(91),
8260 Elements::ReissuanceEntropy => Cost::from_milliweight(93),
8261 Elements::RightExtend16_32 => Cost::from_milliweight(74),
8262 Elements::RightExtend16_64 => Cost::from_milliweight(82),
8263 Elements::RightExtend32_64 => Cost::from_milliweight(94),
8264 Elements::RightExtend8_16 => Cost::from_milliweight(76),
8265 Elements::RightExtend8_32 => Cost::from_milliweight(106),
8266 Elements::RightExtend8_64 => Cost::from_milliweight(124),
8267 Elements::RightPadHigh16_32 => Cost::from_milliweight(70),
8268 Elements::RightPadHigh16_64 => Cost::from_milliweight(88),
8269 Elements::RightPadHigh1_16 => Cost::from_milliweight(143),
8270 Elements::RightPadHigh1_32 => Cost::from_milliweight(223),
8271 Elements::RightPadHigh1_64 => Cost::from_milliweight(476),
8272 Elements::RightPadHigh1_8 => Cost::from_milliweight(107),
8273 Elements::RightPadHigh32_64 => Cost::from_milliweight(94),
8274 Elements::RightPadHigh8_16 => Cost::from_milliweight(89),
8275 Elements::RightPadHigh8_32 => Cost::from_milliweight(110),
8276 Elements::RightPadHigh8_64 => Cost::from_milliweight(107),
8277 Elements::RightPadLow16_32 => Cost::from_milliweight(71),
8278 Elements::RightPadLow16_64 => Cost::from_milliweight(96),
8279 Elements::RightPadLow1_16 => Cost::from_milliweight(81),
8280 Elements::RightPadLow1_32 => Cost::from_milliweight(75),
8281 Elements::RightPadLow1_64 => Cost::from_milliweight(73),
8282 Elements::RightPadLow1_8 => Cost::from_milliweight(68),
8283 Elements::RightPadLow32_64 => Cost::from_milliweight(80),
8284 Elements::RightPadLow8_16 => Cost::from_milliweight(75),
8285 Elements::RightPadLow8_32 => Cost::from_milliweight(77),
8286 Elements::RightPadLow8_64 => Cost::from_milliweight(82),
8287 Elements::RightRotate16 => Cost::from_milliweight(99),
8288 Elements::RightRotate32 => Cost::from_milliweight(92),
8289 Elements::RightRotate64 => Cost::from_milliweight(93),
8290 Elements::RightRotate8 => Cost::from_milliweight(75),
8291 Elements::RightShift16 => Cost::from_milliweight(84),
8292 Elements::RightShift32 => Cost::from_milliweight(88),
8293 Elements::RightShift64 => Cost::from_milliweight(91),
8294 Elements::RightShift8 => Cost::from_milliweight(88),
8295 Elements::RightShiftWith16 => Cost::from_milliweight(105),
8296 Elements::RightShiftWith32 => Cost::from_milliweight(92),
8297 Elements::RightShiftWith64 => Cost::from_milliweight(97),
8298 Elements::RightShiftWith8 => Cost::from_milliweight(103),
8299 Elements::Rightmost16_1 => Cost::from_milliweight(70),
8300 Elements::Rightmost16_2 => Cost::from_milliweight(82),
8301 Elements::Rightmost16_4 => Cost::from_milliweight(76),
8302 Elements::Rightmost16_8 => Cost::from_milliweight(69),
8303 Elements::Rightmost32_1 => Cost::from_milliweight(90),
8304 Elements::Rightmost32_16 => Cost::from_milliweight(64),
8305 Elements::Rightmost32_2 => Cost::from_milliweight(74),
8306 Elements::Rightmost32_4 => Cost::from_milliweight(92),
8307 Elements::Rightmost32_8 => Cost::from_milliweight(78),
8308 Elements::Rightmost64_1 => Cost::from_milliweight(77),
8309 Elements::Rightmost64_16 => Cost::from_milliweight(86),
8310 Elements::Rightmost64_2 => Cost::from_milliweight(74),
8311 Elements::Rightmost64_32 => Cost::from_milliweight(76),
8312 Elements::Rightmost64_4 => Cost::from_milliweight(70),
8313 Elements::Rightmost64_8 => Cost::from_milliweight(69),
8314 Elements::Rightmost8_1 => Cost::from_milliweight(79),
8315 Elements::Rightmost8_2 => Cost::from_milliweight(98),
8316 Elements::Rightmost8_4 => Cost::from_milliweight(98),
8317 Elements::ScalarAdd => Cost::from_milliweight(739),
8318 Elements::ScalarInvert => Cost::from_milliweight(3193),
8319 Elements::ScalarIsZero => Cost::from_milliweight(271),
8320 Elements::ScalarMultiply => Cost::from_milliweight(774),
8321 Elements::ScalarMultiplyLambda => Cost::from_milliweight(557),
8322 Elements::ScalarNegate => Cost::from_milliweight(490),
8323 Elements::ScalarNormalize => Cost::from_milliweight(472),
8324 Elements::ScalarSquare => Cost::from_milliweight(575),
8325 Elements::Scale => Cost::from_milliweight(72675),
8326 Elements::ScriptCMR => Cost::from_milliweight(136),
8327 Elements::Sha256Block => Cost::from_milliweight(771),
8328 Elements::Sha256Ctx8Add1 => Cost::from_milliweight(642),
8329 Elements::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
8330 Elements::Sha256Ctx8Add16 => Cost::from_milliweight(747),
8331 Elements::Sha256Ctx8Add2 => Cost::from_milliweight(661),
8332 Elements::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
8333 Elements::Sha256Ctx8Add32 => Cost::from_milliweight(896),
8334 Elements::Sha256Ctx8Add4 => Cost::from_milliweight(645),
8335 Elements::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
8336 Elements::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
8337 Elements::Sha256Ctx8Add8 => Cost::from_milliweight(674),
8338 Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
8339 Elements::Sha256Ctx8Finalize => Cost::from_milliweight(835),
8340 Elements::Sha256Ctx8Init => Cost::from_milliweight(118),
8341 Elements::Sha256Iv => Cost::from_milliweight(93),
8342 Elements::SigAllHash => Cost::from_milliweight(133),
8343 Elements::Some1 => Cost::from_milliweight(70),
8344 Elements::Some16 => Cost::from_milliweight(63),
8345 Elements::Some32 => Cost::from_milliweight(64),
8346 Elements::Some64 => Cost::from_milliweight(93),
8347 Elements::Some8 => Cost::from_milliweight(75),
8348 Elements::Subtract16 => Cost::from_milliweight(113),
8349 Elements::Subtract32 => Cost::from_milliweight(118),
8350 Elements::Subtract64 => Cost::from_milliweight(115),
8351 Elements::Subtract8 => Cost::from_milliweight(109),
8352 Elements::Swu => Cost::from_milliweight(32120),
8353 Elements::TapEnvHash => Cost::from_milliweight(162),
8354 Elements::TapdataInit => Cost::from_milliweight(1178),
8355 Elements::TapleafHash => Cost::from_milliweight(136),
8356 Elements::TapleafVersion => Cost::from_milliweight(105),
8357 Elements::Tappath => Cost::from_milliweight(83),
8358 Elements::TappathHash => Cost::from_milliweight(143),
8359 Elements::TotalFee => Cost::from_milliweight(230),
8360 Elements::TransactionId => Cost::from_milliweight(139),
8361 Elements::TxHash => Cost::from_milliweight(143),
8362 Elements::TxIsFinal => Cost::from_milliweight(71),
8363 Elements::TxLockDistance => Cost::from_milliweight(91),
8364 Elements::TxLockDuration => Cost::from_milliweight(84),
8365 Elements::TxLockHeight => Cost::from_milliweight(80),
8366 Elements::TxLockTime => Cost::from_milliweight(80),
8367 Elements::Verify => Cost::from_milliweight(57),
8368 Elements::Version => Cost::from_milliweight(93),
8369 Elements::Xor1 => Cost::from_milliweight(67),
8370 Elements::Xor16 => Cost::from_milliweight(83),
8371 Elements::Xor32 => Cost::from_milliweight(92),
8372 Elements::Xor64 => Cost::from_milliweight(95),
8373 Elements::Xor8 => Cost::from_milliweight(85),
8374 Elements::XorXor1 => Cost::from_milliweight(72),
8375 Elements::XorXor16 => Cost::from_milliweight(79),
8376 Elements::XorXor32 => Cost::from_milliweight(96),
8377 Elements::XorXor64 => Cost::from_milliweight(93),
8378 Elements::XorXor8 => Cost::from_milliweight(98),
8379 }
8380 }
8381}
8382
8383impl fmt::Display for Elements {
8384 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
8385 match self {
8386 Elements::Add16 => f.write_str("add_16"),
8387 Elements::Add32 => f.write_str("add_32"),
8388 Elements::Add64 => f.write_str("add_64"),
8389 Elements::Add8 => f.write_str("add_8"),
8390 Elements::All16 => f.write_str("all_16"),
8391 Elements::All32 => f.write_str("all_32"),
8392 Elements::All64 => f.write_str("all_64"),
8393 Elements::All8 => f.write_str("all_8"),
8394 Elements::And1 => f.write_str("and_1"),
8395 Elements::And16 => f.write_str("and_16"),
8396 Elements::And32 => f.write_str("and_32"),
8397 Elements::And64 => f.write_str("and_64"),
8398 Elements::And8 => f.write_str("and_8"),
8399 Elements::AnnexHash => f.write_str("annex_hash"),
8400 Elements::AssetAmountHash => f.write_str("asset_amount_hash"),
8401 Elements::Bip0340Verify => f.write_str("bip_0340_verify"),
8402 Elements::BuildTapbranch => f.write_str("build_tapbranch"),
8403 Elements::BuildTapleafSimplicity => f.write_str("build_tapleaf_simplicity"),
8404 Elements::BuildTaptweak => f.write_str("build_taptweak"),
8405 Elements::CalculateAsset => f.write_str("calculate_asset"),
8406 Elements::CalculateConfidentialToken => f.write_str("calculate_confidential_token"),
8407 Elements::CalculateExplicitToken => f.write_str("calculate_explicit_token"),
8408 Elements::CalculateIssuanceEntropy => f.write_str("calculate_issuance_entropy"),
8409 Elements::Ch1 => f.write_str("ch_1"),
8410 Elements::Ch16 => f.write_str("ch_16"),
8411 Elements::Ch32 => f.write_str("ch_32"),
8412 Elements::Ch64 => f.write_str("ch_64"),
8413 Elements::Ch8 => f.write_str("ch_8"),
8414 Elements::CheckLockDistance => f.write_str("check_lock_distance"),
8415 Elements::CheckLockDuration => f.write_str("check_lock_duration"),
8416 Elements::CheckLockHeight => f.write_str("check_lock_height"),
8417 Elements::CheckLockTime => f.write_str("check_lock_time"),
8418 Elements::CheckSigVerify => f.write_str("check_sig_verify"),
8419 Elements::Complement1 => f.write_str("complement_1"),
8420 Elements::Complement16 => f.write_str("complement_16"),
8421 Elements::Complement32 => f.write_str("complement_32"),
8422 Elements::Complement64 => f.write_str("complement_64"),
8423 Elements::Complement8 => f.write_str("complement_8"),
8424 Elements::CurrentAmount => f.write_str("current_amount"),
8425 Elements::CurrentAnnexHash => f.write_str("current_annex_hash"),
8426 Elements::CurrentAsset => f.write_str("current_asset"),
8427 Elements::CurrentIndex => f.write_str("current_index"),
8428 Elements::CurrentIssuanceAssetAmount => f.write_str("current_issuance_asset_amount"),
8429 Elements::CurrentIssuanceAssetProof => f.write_str("current_issuance_asset_proof"),
8430 Elements::CurrentIssuanceTokenAmount => f.write_str("current_issuance_token_amount"),
8431 Elements::CurrentIssuanceTokenProof => f.write_str("current_issuance_token_proof"),
8432 Elements::CurrentNewIssuanceContract => f.write_str("current_new_issuance_contract"),
8433 Elements::CurrentPegin => f.write_str("current_pegin"),
8434 Elements::CurrentPrevOutpoint => f.write_str("current_prev_outpoint"),
8435 Elements::CurrentReissuanceBlinding => f.write_str("current_reissuance_blinding"),
8436 Elements::CurrentReissuanceEntropy => f.write_str("current_reissuance_entropy"),
8437 Elements::CurrentScriptHash => f.write_str("current_script_hash"),
8438 Elements::CurrentScriptSigHash => f.write_str("current_script_sig_hash"),
8439 Elements::CurrentSequence => f.write_str("current_sequence"),
8440 Elements::Decompress => f.write_str("decompress"),
8441 Elements::Decrement16 => f.write_str("decrement_16"),
8442 Elements::Decrement32 => f.write_str("decrement_32"),
8443 Elements::Decrement64 => f.write_str("decrement_64"),
8444 Elements::Decrement8 => f.write_str("decrement_8"),
8445 Elements::DivMod128_64 => f.write_str("div_mod_128_64"),
8446 Elements::DivMod16 => f.write_str("div_mod_16"),
8447 Elements::DivMod32 => f.write_str("div_mod_32"),
8448 Elements::DivMod64 => f.write_str("div_mod_64"),
8449 Elements::DivMod8 => f.write_str("div_mod_8"),
8450 Elements::Divide16 => f.write_str("divide_16"),
8451 Elements::Divide32 => f.write_str("divide_32"),
8452 Elements::Divide64 => f.write_str("divide_64"),
8453 Elements::Divide8 => f.write_str("divide_8"),
8454 Elements::Divides16 => f.write_str("divides_16"),
8455 Elements::Divides32 => f.write_str("divides_32"),
8456 Elements::Divides64 => f.write_str("divides_64"),
8457 Elements::Divides8 => f.write_str("divides_8"),
8458 Elements::Eq1 => f.write_str("eq_1"),
8459 Elements::Eq16 => f.write_str("eq_16"),
8460 Elements::Eq256 => f.write_str("eq_256"),
8461 Elements::Eq32 => f.write_str("eq_32"),
8462 Elements::Eq64 => f.write_str("eq_64"),
8463 Elements::Eq8 => f.write_str("eq_8"),
8464 Elements::FeAdd => f.write_str("fe_add"),
8465 Elements::FeInvert => f.write_str("fe_invert"),
8466 Elements::FeIsOdd => f.write_str("fe_is_odd"),
8467 Elements::FeIsZero => f.write_str("fe_is_zero"),
8468 Elements::FeMultiply => f.write_str("fe_multiply"),
8469 Elements::FeMultiplyBeta => f.write_str("fe_multiply_beta"),
8470 Elements::FeNegate => f.write_str("fe_negate"),
8471 Elements::FeNormalize => f.write_str("fe_normalize"),
8472 Elements::FeSquare => f.write_str("fe_square"),
8473 Elements::FeSquareRoot => f.write_str("fe_square_root"),
8474 Elements::FullAdd16 => f.write_str("full_add_16"),
8475 Elements::FullAdd32 => f.write_str("full_add_32"),
8476 Elements::FullAdd64 => f.write_str("full_add_64"),
8477 Elements::FullAdd8 => f.write_str("full_add_8"),
8478 Elements::FullDecrement16 => f.write_str("full_decrement_16"),
8479 Elements::FullDecrement32 => f.write_str("full_decrement_32"),
8480 Elements::FullDecrement64 => f.write_str("full_decrement_64"),
8481 Elements::FullDecrement8 => f.write_str("full_decrement_8"),
8482 Elements::FullIncrement16 => f.write_str("full_increment_16"),
8483 Elements::FullIncrement32 => f.write_str("full_increment_32"),
8484 Elements::FullIncrement64 => f.write_str("full_increment_64"),
8485 Elements::FullIncrement8 => f.write_str("full_increment_8"),
8486 Elements::FullLeftShift16_1 => f.write_str("full_left_shift_16_1"),
8487 Elements::FullLeftShift16_2 => f.write_str("full_left_shift_16_2"),
8488 Elements::FullLeftShift16_4 => f.write_str("full_left_shift_16_4"),
8489 Elements::FullLeftShift16_8 => f.write_str("full_left_shift_16_8"),
8490 Elements::FullLeftShift32_1 => f.write_str("full_left_shift_32_1"),
8491 Elements::FullLeftShift32_16 => f.write_str("full_left_shift_32_16"),
8492 Elements::FullLeftShift32_2 => f.write_str("full_left_shift_32_2"),
8493 Elements::FullLeftShift32_4 => f.write_str("full_left_shift_32_4"),
8494 Elements::FullLeftShift32_8 => f.write_str("full_left_shift_32_8"),
8495 Elements::FullLeftShift64_1 => f.write_str("full_left_shift_64_1"),
8496 Elements::FullLeftShift64_16 => f.write_str("full_left_shift_64_16"),
8497 Elements::FullLeftShift64_2 => f.write_str("full_left_shift_64_2"),
8498 Elements::FullLeftShift64_32 => f.write_str("full_left_shift_64_32"),
8499 Elements::FullLeftShift64_4 => f.write_str("full_left_shift_64_4"),
8500 Elements::FullLeftShift64_8 => f.write_str("full_left_shift_64_8"),
8501 Elements::FullLeftShift8_1 => f.write_str("full_left_shift_8_1"),
8502 Elements::FullLeftShift8_2 => f.write_str("full_left_shift_8_2"),
8503 Elements::FullLeftShift8_4 => f.write_str("full_left_shift_8_4"),
8504 Elements::FullMultiply16 => f.write_str("full_multiply_16"),
8505 Elements::FullMultiply32 => f.write_str("full_multiply_32"),
8506 Elements::FullMultiply64 => f.write_str("full_multiply_64"),
8507 Elements::FullMultiply8 => f.write_str("full_multiply_8"),
8508 Elements::FullRightShift16_1 => f.write_str("full_right_shift_16_1"),
8509 Elements::FullRightShift16_2 => f.write_str("full_right_shift_16_2"),
8510 Elements::FullRightShift16_4 => f.write_str("full_right_shift_16_4"),
8511 Elements::FullRightShift16_8 => f.write_str("full_right_shift_16_8"),
8512 Elements::FullRightShift32_1 => f.write_str("full_right_shift_32_1"),
8513 Elements::FullRightShift32_16 => f.write_str("full_right_shift_32_16"),
8514 Elements::FullRightShift32_2 => f.write_str("full_right_shift_32_2"),
8515 Elements::FullRightShift32_4 => f.write_str("full_right_shift_32_4"),
8516 Elements::FullRightShift32_8 => f.write_str("full_right_shift_32_8"),
8517 Elements::FullRightShift64_1 => f.write_str("full_right_shift_64_1"),
8518 Elements::FullRightShift64_16 => f.write_str("full_right_shift_64_16"),
8519 Elements::FullRightShift64_2 => f.write_str("full_right_shift_64_2"),
8520 Elements::FullRightShift64_32 => f.write_str("full_right_shift_64_32"),
8521 Elements::FullRightShift64_4 => f.write_str("full_right_shift_64_4"),
8522 Elements::FullRightShift64_8 => f.write_str("full_right_shift_64_8"),
8523 Elements::FullRightShift8_1 => f.write_str("full_right_shift_8_1"),
8524 Elements::FullRightShift8_2 => f.write_str("full_right_shift_8_2"),
8525 Elements::FullRightShift8_4 => f.write_str("full_right_shift_8_4"),
8526 Elements::FullSubtract16 => f.write_str("full_subtract_16"),
8527 Elements::FullSubtract32 => f.write_str("full_subtract_32"),
8528 Elements::FullSubtract64 => f.write_str("full_subtract_64"),
8529 Elements::FullSubtract8 => f.write_str("full_subtract_8"),
8530 Elements::GeIsOnCurve => f.write_str("ge_is_on_curve"),
8531 Elements::GeNegate => f.write_str("ge_negate"),
8532 Elements::GejAdd => f.write_str("gej_add"),
8533 Elements::GejDouble => f.write_str("gej_double"),
8534 Elements::GejEquiv => f.write_str("gej_equiv"),
8535 Elements::GejGeAdd => f.write_str("gej_ge_add"),
8536 Elements::GejGeAddEx => f.write_str("gej_ge_add_ex"),
8537 Elements::GejGeEquiv => f.write_str("gej_ge_equiv"),
8538 Elements::GejInfinity => f.write_str("gej_infinity"),
8539 Elements::GejIsInfinity => f.write_str("gej_is_infinity"),
8540 Elements::GejIsOnCurve => f.write_str("gej_is_on_curve"),
8541 Elements::GejNegate => f.write_str("gej_negate"),
8542 Elements::GejNormalize => f.write_str("gej_normalize"),
8543 Elements::GejRescale => f.write_str("gej_rescale"),
8544 Elements::GejXEquiv => f.write_str("gej_x_equiv"),
8545 Elements::GejYIsOdd => f.write_str("gej_y_is_odd"),
8546 Elements::Generate => f.write_str("generate"),
8547 Elements::GenesisBlockHash => f.write_str("genesis_block_hash"),
8548 Elements::HashToCurve => f.write_str("hash_to_curve"),
8549 Elements::High1 => f.write_str("high_1"),
8550 Elements::High16 => f.write_str("high_16"),
8551 Elements::High32 => f.write_str("high_32"),
8552 Elements::High64 => f.write_str("high_64"),
8553 Elements::High8 => f.write_str("high_8"),
8554 Elements::Increment16 => f.write_str("increment_16"),
8555 Elements::Increment32 => f.write_str("increment_32"),
8556 Elements::Increment64 => f.write_str("increment_64"),
8557 Elements::Increment8 => f.write_str("increment_8"),
8558 Elements::InputAmount => f.write_str("input_amount"),
8559 Elements::InputAmountsHash => f.write_str("input_amounts_hash"),
8560 Elements::InputAnnexHash => f.write_str("input_annex_hash"),
8561 Elements::InputAnnexesHash => f.write_str("input_annexes_hash"),
8562 Elements::InputAsset => f.write_str("input_asset"),
8563 Elements::InputHash => f.write_str("input_hash"),
8564 Elements::InputOutpointsHash => f.write_str("input_outpoints_hash"),
8565 Elements::InputPegin => f.write_str("input_pegin"),
8566 Elements::InputPrevOutpoint => f.write_str("input_prev_outpoint"),
8567 Elements::InputScriptHash => f.write_str("input_script_hash"),
8568 Elements::InputScriptSigHash => f.write_str("input_script_sig_hash"),
8569 Elements::InputScriptSigsHash => f.write_str("input_script_sigs_hash"),
8570 Elements::InputScriptsHash => f.write_str("input_scripts_hash"),
8571 Elements::InputSequence => f.write_str("input_sequence"),
8572 Elements::InputSequencesHash => f.write_str("input_sequences_hash"),
8573 Elements::InputUtxoHash => f.write_str("input_utxo_hash"),
8574 Elements::InputUtxosHash => f.write_str("input_utxos_hash"),
8575 Elements::InputsHash => f.write_str("inputs_hash"),
8576 Elements::InternalKey => f.write_str("internal_key"),
8577 Elements::IsOne16 => f.write_str("is_one_16"),
8578 Elements::IsOne32 => f.write_str("is_one_32"),
8579 Elements::IsOne64 => f.write_str("is_one_64"),
8580 Elements::IsOne8 => f.write_str("is_one_8"),
8581 Elements::IsZero16 => f.write_str("is_zero_16"),
8582 Elements::IsZero32 => f.write_str("is_zero_32"),
8583 Elements::IsZero64 => f.write_str("is_zero_64"),
8584 Elements::IsZero8 => f.write_str("is_zero_8"),
8585 Elements::Issuance => f.write_str("issuance"),
8586 Elements::IssuanceAsset => f.write_str("issuance_asset"),
8587 Elements::IssuanceAssetAmount => f.write_str("issuance_asset_amount"),
8588 Elements::IssuanceAssetAmountsHash => f.write_str("issuance_asset_amounts_hash"),
8589 Elements::IssuanceAssetProof => f.write_str("issuance_asset_proof"),
8590 Elements::IssuanceBlindingEntropyHash => f.write_str("issuance_blinding_entropy_hash"),
8591 Elements::IssuanceEntropy => f.write_str("issuance_entropy"),
8592 Elements::IssuanceHash => f.write_str("issuance_hash"),
8593 Elements::IssuanceRangeProofsHash => f.write_str("issuance_range_proofs_hash"),
8594 Elements::IssuanceToken => f.write_str("issuance_token"),
8595 Elements::IssuanceTokenAmount => f.write_str("issuance_token_amount"),
8596 Elements::IssuanceTokenAmountsHash => f.write_str("issuance_token_amounts_hash"),
8597 Elements::IssuanceTokenProof => f.write_str("issuance_token_proof"),
8598 Elements::IssuancesHash => f.write_str("issuances_hash"),
8599 Elements::LbtcAsset => f.write_str("lbtc_asset"),
8600 Elements::Le16 => f.write_str("le_16"),
8601 Elements::Le32 => f.write_str("le_32"),
8602 Elements::Le64 => f.write_str("le_64"),
8603 Elements::Le8 => f.write_str("le_8"),
8604 Elements::LeftExtend16_32 => f.write_str("left_extend_16_32"),
8605 Elements::LeftExtend16_64 => f.write_str("left_extend_16_64"),
8606 Elements::LeftExtend1_16 => f.write_str("left_extend_1_16"),
8607 Elements::LeftExtend1_32 => f.write_str("left_extend_1_32"),
8608 Elements::LeftExtend1_64 => f.write_str("left_extend_1_64"),
8609 Elements::LeftExtend1_8 => f.write_str("left_extend_1_8"),
8610 Elements::LeftExtend32_64 => f.write_str("left_extend_32_64"),
8611 Elements::LeftExtend8_16 => f.write_str("left_extend_8_16"),
8612 Elements::LeftExtend8_32 => f.write_str("left_extend_8_32"),
8613 Elements::LeftExtend8_64 => f.write_str("left_extend_8_64"),
8614 Elements::LeftPadHigh16_32 => f.write_str("left_pad_high_16_32"),
8615 Elements::LeftPadHigh16_64 => f.write_str("left_pad_high_16_64"),
8616 Elements::LeftPadHigh1_16 => f.write_str("left_pad_high_1_16"),
8617 Elements::LeftPadHigh1_32 => f.write_str("left_pad_high_1_32"),
8618 Elements::LeftPadHigh1_64 => f.write_str("left_pad_high_1_64"),
8619 Elements::LeftPadHigh1_8 => f.write_str("left_pad_high_1_8"),
8620 Elements::LeftPadHigh32_64 => f.write_str("left_pad_high_32_64"),
8621 Elements::LeftPadHigh8_16 => f.write_str("left_pad_high_8_16"),
8622 Elements::LeftPadHigh8_32 => f.write_str("left_pad_high_8_32"),
8623 Elements::LeftPadHigh8_64 => f.write_str("left_pad_high_8_64"),
8624 Elements::LeftPadLow16_32 => f.write_str("left_pad_low_16_32"),
8625 Elements::LeftPadLow16_64 => f.write_str("left_pad_low_16_64"),
8626 Elements::LeftPadLow1_16 => f.write_str("left_pad_low_1_16"),
8627 Elements::LeftPadLow1_32 => f.write_str("left_pad_low_1_32"),
8628 Elements::LeftPadLow1_64 => f.write_str("left_pad_low_1_64"),
8629 Elements::LeftPadLow1_8 => f.write_str("left_pad_low_1_8"),
8630 Elements::LeftPadLow32_64 => f.write_str("left_pad_low_32_64"),
8631 Elements::LeftPadLow8_16 => f.write_str("left_pad_low_8_16"),
8632 Elements::LeftPadLow8_32 => f.write_str("left_pad_low_8_32"),
8633 Elements::LeftPadLow8_64 => f.write_str("left_pad_low_8_64"),
8634 Elements::LeftRotate16 => f.write_str("left_rotate_16"),
8635 Elements::LeftRotate32 => f.write_str("left_rotate_32"),
8636 Elements::LeftRotate64 => f.write_str("left_rotate_64"),
8637 Elements::LeftRotate8 => f.write_str("left_rotate_8"),
8638 Elements::LeftShift16 => f.write_str("left_shift_16"),
8639 Elements::LeftShift32 => f.write_str("left_shift_32"),
8640 Elements::LeftShift64 => f.write_str("left_shift_64"),
8641 Elements::LeftShift8 => f.write_str("left_shift_8"),
8642 Elements::LeftShiftWith16 => f.write_str("left_shift_with_16"),
8643 Elements::LeftShiftWith32 => f.write_str("left_shift_with_32"),
8644 Elements::LeftShiftWith64 => f.write_str("left_shift_with_64"),
8645 Elements::LeftShiftWith8 => f.write_str("left_shift_with_8"),
8646 Elements::Leftmost16_1 => f.write_str("leftmost_16_1"),
8647 Elements::Leftmost16_2 => f.write_str("leftmost_16_2"),
8648 Elements::Leftmost16_4 => f.write_str("leftmost_16_4"),
8649 Elements::Leftmost16_8 => f.write_str("leftmost_16_8"),
8650 Elements::Leftmost32_1 => f.write_str("leftmost_32_1"),
8651 Elements::Leftmost32_16 => f.write_str("leftmost_32_16"),
8652 Elements::Leftmost32_2 => f.write_str("leftmost_32_2"),
8653 Elements::Leftmost32_4 => f.write_str("leftmost_32_4"),
8654 Elements::Leftmost32_8 => f.write_str("leftmost_32_8"),
8655 Elements::Leftmost64_1 => f.write_str("leftmost_64_1"),
8656 Elements::Leftmost64_16 => f.write_str("leftmost_64_16"),
8657 Elements::Leftmost64_2 => f.write_str("leftmost_64_2"),
8658 Elements::Leftmost64_32 => f.write_str("leftmost_64_32"),
8659 Elements::Leftmost64_4 => f.write_str("leftmost_64_4"),
8660 Elements::Leftmost64_8 => f.write_str("leftmost_64_8"),
8661 Elements::Leftmost8_1 => f.write_str("leftmost_8_1"),
8662 Elements::Leftmost8_2 => f.write_str("leftmost_8_2"),
8663 Elements::Leftmost8_4 => f.write_str("leftmost_8_4"),
8664 Elements::LinearCombination1 => f.write_str("linear_combination_1"),
8665 Elements::LinearVerify1 => f.write_str("linear_verify_1"),
8666 Elements::LockTime => f.write_str("lock_time"),
8667 Elements::Low1 => f.write_str("low_1"),
8668 Elements::Low16 => f.write_str("low_16"),
8669 Elements::Low32 => f.write_str("low_32"),
8670 Elements::Low64 => f.write_str("low_64"),
8671 Elements::Low8 => f.write_str("low_8"),
8672 Elements::Lt16 => f.write_str("lt_16"),
8673 Elements::Lt32 => f.write_str("lt_32"),
8674 Elements::Lt64 => f.write_str("lt_64"),
8675 Elements::Lt8 => f.write_str("lt_8"),
8676 Elements::Maj1 => f.write_str("maj_1"),
8677 Elements::Maj16 => f.write_str("maj_16"),
8678 Elements::Maj32 => f.write_str("maj_32"),
8679 Elements::Maj64 => f.write_str("maj_64"),
8680 Elements::Maj8 => f.write_str("maj_8"),
8681 Elements::Max16 => f.write_str("max_16"),
8682 Elements::Max32 => f.write_str("max_32"),
8683 Elements::Max64 => f.write_str("max_64"),
8684 Elements::Max8 => f.write_str("max_8"),
8685 Elements::Median16 => f.write_str("median_16"),
8686 Elements::Median32 => f.write_str("median_32"),
8687 Elements::Median64 => f.write_str("median_64"),
8688 Elements::Median8 => f.write_str("median_8"),
8689 Elements::Min16 => f.write_str("min_16"),
8690 Elements::Min32 => f.write_str("min_32"),
8691 Elements::Min64 => f.write_str("min_64"),
8692 Elements::Min8 => f.write_str("min_8"),
8693 Elements::Modulo16 => f.write_str("modulo_16"),
8694 Elements::Modulo32 => f.write_str("modulo_32"),
8695 Elements::Modulo64 => f.write_str("modulo_64"),
8696 Elements::Modulo8 => f.write_str("modulo_8"),
8697 Elements::Multiply16 => f.write_str("multiply_16"),
8698 Elements::Multiply32 => f.write_str("multiply_32"),
8699 Elements::Multiply64 => f.write_str("multiply_64"),
8700 Elements::Multiply8 => f.write_str("multiply_8"),
8701 Elements::Negate16 => f.write_str("negate_16"),
8702 Elements::Negate32 => f.write_str("negate_32"),
8703 Elements::Negate64 => f.write_str("negate_64"),
8704 Elements::Negate8 => f.write_str("negate_8"),
8705 Elements::NewIssuanceContract => f.write_str("new_issuance_contract"),
8706 Elements::NonceHash => f.write_str("nonce_hash"),
8707 Elements::NumInputs => f.write_str("num_inputs"),
8708 Elements::NumOutputs => f.write_str("num_outputs"),
8709 Elements::One16 => f.write_str("one_16"),
8710 Elements::One32 => f.write_str("one_32"),
8711 Elements::One64 => f.write_str("one_64"),
8712 Elements::One8 => f.write_str("one_8"),
8713 Elements::Or1 => f.write_str("or_1"),
8714 Elements::Or16 => f.write_str("or_16"),
8715 Elements::Or32 => f.write_str("or_32"),
8716 Elements::Or64 => f.write_str("or_64"),
8717 Elements::Or8 => f.write_str("or_8"),
8718 Elements::OutpointHash => f.write_str("outpoint_hash"),
8719 Elements::OutputAmount => f.write_str("output_amount"),
8720 Elements::OutputAmountsHash => f.write_str("output_amounts_hash"),
8721 Elements::OutputAsset => f.write_str("output_asset"),
8722 Elements::OutputHash => f.write_str("output_hash"),
8723 Elements::OutputIsFee => f.write_str("output_is_fee"),
8724 Elements::OutputNonce => f.write_str("output_nonce"),
8725 Elements::OutputNoncesHash => f.write_str("output_nonces_hash"),
8726 Elements::OutputNullDatum => f.write_str("output_null_datum"),
8727 Elements::OutputRangeProof => f.write_str("output_range_proof"),
8728 Elements::OutputRangeProofsHash => f.write_str("output_range_proofs_hash"),
8729 Elements::OutputScriptHash => f.write_str("output_script_hash"),
8730 Elements::OutputScriptsHash => f.write_str("output_scripts_hash"),
8731 Elements::OutputSurjectionProof => f.write_str("output_surjection_proof"),
8732 Elements::OutputSurjectionProofsHash => f.write_str("output_surjection_proofs_hash"),
8733 Elements::OutputsHash => f.write_str("outputs_hash"),
8734 Elements::ParseLock => f.write_str("parse_lock"),
8735 Elements::ParseSequence => f.write_str("parse_sequence"),
8736 Elements::PointVerify1 => f.write_str("point_verify_1"),
8737 Elements::ReissuanceBlinding => f.write_str("reissuance_blinding"),
8738 Elements::ReissuanceEntropy => f.write_str("reissuance_entropy"),
8739 Elements::RightExtend16_32 => f.write_str("right_extend_16_32"),
8740 Elements::RightExtend16_64 => f.write_str("right_extend_16_64"),
8741 Elements::RightExtend32_64 => f.write_str("right_extend_32_64"),
8742 Elements::RightExtend8_16 => f.write_str("right_extend_8_16"),
8743 Elements::RightExtend8_32 => f.write_str("right_extend_8_32"),
8744 Elements::RightExtend8_64 => f.write_str("right_extend_8_64"),
8745 Elements::RightPadHigh16_32 => f.write_str("right_pad_high_16_32"),
8746 Elements::RightPadHigh16_64 => f.write_str("right_pad_high_16_64"),
8747 Elements::RightPadHigh1_16 => f.write_str("right_pad_high_1_16"),
8748 Elements::RightPadHigh1_32 => f.write_str("right_pad_high_1_32"),
8749 Elements::RightPadHigh1_64 => f.write_str("right_pad_high_1_64"),
8750 Elements::RightPadHigh1_8 => f.write_str("right_pad_high_1_8"),
8751 Elements::RightPadHigh32_64 => f.write_str("right_pad_high_32_64"),
8752 Elements::RightPadHigh8_16 => f.write_str("right_pad_high_8_16"),
8753 Elements::RightPadHigh8_32 => f.write_str("right_pad_high_8_32"),
8754 Elements::RightPadHigh8_64 => f.write_str("right_pad_high_8_64"),
8755 Elements::RightPadLow16_32 => f.write_str("right_pad_low_16_32"),
8756 Elements::RightPadLow16_64 => f.write_str("right_pad_low_16_64"),
8757 Elements::RightPadLow1_16 => f.write_str("right_pad_low_1_16"),
8758 Elements::RightPadLow1_32 => f.write_str("right_pad_low_1_32"),
8759 Elements::RightPadLow1_64 => f.write_str("right_pad_low_1_64"),
8760 Elements::RightPadLow1_8 => f.write_str("right_pad_low_1_8"),
8761 Elements::RightPadLow32_64 => f.write_str("right_pad_low_32_64"),
8762 Elements::RightPadLow8_16 => f.write_str("right_pad_low_8_16"),
8763 Elements::RightPadLow8_32 => f.write_str("right_pad_low_8_32"),
8764 Elements::RightPadLow8_64 => f.write_str("right_pad_low_8_64"),
8765 Elements::RightRotate16 => f.write_str("right_rotate_16"),
8766 Elements::RightRotate32 => f.write_str("right_rotate_32"),
8767 Elements::RightRotate64 => f.write_str("right_rotate_64"),
8768 Elements::RightRotate8 => f.write_str("right_rotate_8"),
8769 Elements::RightShift16 => f.write_str("right_shift_16"),
8770 Elements::RightShift32 => f.write_str("right_shift_32"),
8771 Elements::RightShift64 => f.write_str("right_shift_64"),
8772 Elements::RightShift8 => f.write_str("right_shift_8"),
8773 Elements::RightShiftWith16 => f.write_str("right_shift_with_16"),
8774 Elements::RightShiftWith32 => f.write_str("right_shift_with_32"),
8775 Elements::RightShiftWith64 => f.write_str("right_shift_with_64"),
8776 Elements::RightShiftWith8 => f.write_str("right_shift_with_8"),
8777 Elements::Rightmost16_1 => f.write_str("rightmost_16_1"),
8778 Elements::Rightmost16_2 => f.write_str("rightmost_16_2"),
8779 Elements::Rightmost16_4 => f.write_str("rightmost_16_4"),
8780 Elements::Rightmost16_8 => f.write_str("rightmost_16_8"),
8781 Elements::Rightmost32_1 => f.write_str("rightmost_32_1"),
8782 Elements::Rightmost32_16 => f.write_str("rightmost_32_16"),
8783 Elements::Rightmost32_2 => f.write_str("rightmost_32_2"),
8784 Elements::Rightmost32_4 => f.write_str("rightmost_32_4"),
8785 Elements::Rightmost32_8 => f.write_str("rightmost_32_8"),
8786 Elements::Rightmost64_1 => f.write_str("rightmost_64_1"),
8787 Elements::Rightmost64_16 => f.write_str("rightmost_64_16"),
8788 Elements::Rightmost64_2 => f.write_str("rightmost_64_2"),
8789 Elements::Rightmost64_32 => f.write_str("rightmost_64_32"),
8790 Elements::Rightmost64_4 => f.write_str("rightmost_64_4"),
8791 Elements::Rightmost64_8 => f.write_str("rightmost_64_8"),
8792 Elements::Rightmost8_1 => f.write_str("rightmost_8_1"),
8793 Elements::Rightmost8_2 => f.write_str("rightmost_8_2"),
8794 Elements::Rightmost8_4 => f.write_str("rightmost_8_4"),
8795 Elements::ScalarAdd => f.write_str("scalar_add"),
8796 Elements::ScalarInvert => f.write_str("scalar_invert"),
8797 Elements::ScalarIsZero => f.write_str("scalar_is_zero"),
8798 Elements::ScalarMultiply => f.write_str("scalar_multiply"),
8799 Elements::ScalarMultiplyLambda => f.write_str("scalar_multiply_lambda"),
8800 Elements::ScalarNegate => f.write_str("scalar_negate"),
8801 Elements::ScalarNormalize => f.write_str("scalar_normalize"),
8802 Elements::ScalarSquare => f.write_str("scalar_square"),
8803 Elements::Scale => f.write_str("scale"),
8804 Elements::ScriptCMR => f.write_str("script_cmr"),
8805 Elements::Sha256Block => f.write_str("sha_256_block"),
8806 Elements::Sha256Ctx8Add1 => f.write_str("sha_256_ctx_8_add_1"),
8807 Elements::Sha256Ctx8Add128 => f.write_str("sha_256_ctx_8_add_128"),
8808 Elements::Sha256Ctx8Add16 => f.write_str("sha_256_ctx_8_add_16"),
8809 Elements::Sha256Ctx8Add2 => f.write_str("sha_256_ctx_8_add_2"),
8810 Elements::Sha256Ctx8Add256 => f.write_str("sha_256_ctx_8_add_256"),
8811 Elements::Sha256Ctx8Add32 => f.write_str("sha_256_ctx_8_add_32"),
8812 Elements::Sha256Ctx8Add4 => f.write_str("sha_256_ctx_8_add_4"),
8813 Elements::Sha256Ctx8Add512 => f.write_str("sha_256_ctx_8_add_512"),
8814 Elements::Sha256Ctx8Add64 => f.write_str("sha_256_ctx_8_add_64"),
8815 Elements::Sha256Ctx8Add8 => f.write_str("sha_256_ctx_8_add_8"),
8816 Elements::Sha256Ctx8AddBuffer511 => f.write_str("sha_256_ctx_8_add_buffer_511"),
8817 Elements::Sha256Ctx8Finalize => f.write_str("sha_256_ctx_8_finalize"),
8818 Elements::Sha256Ctx8Init => f.write_str("sha_256_ctx_8_init"),
8819 Elements::Sha256Iv => f.write_str("sha_256_iv"),
8820 Elements::SigAllHash => f.write_str("sig_all_hash"),
8821 Elements::Some1 => f.write_str("some_1"),
8822 Elements::Some16 => f.write_str("some_16"),
8823 Elements::Some32 => f.write_str("some_32"),
8824 Elements::Some64 => f.write_str("some_64"),
8825 Elements::Some8 => f.write_str("some_8"),
8826 Elements::Subtract16 => f.write_str("subtract_16"),
8827 Elements::Subtract32 => f.write_str("subtract_32"),
8828 Elements::Subtract64 => f.write_str("subtract_64"),
8829 Elements::Subtract8 => f.write_str("subtract_8"),
8830 Elements::Swu => f.write_str("swu"),
8831 Elements::TapEnvHash => f.write_str("tap_env_hash"),
8832 Elements::TapdataInit => f.write_str("tapdata_init"),
8833 Elements::TapleafHash => f.write_str("tapleaf_hash"),
8834 Elements::TapleafVersion => f.write_str("tapleaf_version"),
8835 Elements::Tappath => f.write_str("tappath"),
8836 Elements::TappathHash => f.write_str("tappath_hash"),
8837 Elements::TotalFee => f.write_str("total_fee"),
8838 Elements::TransactionId => f.write_str("transaction_id"),
8839 Elements::TxHash => f.write_str("tx_hash"),
8840 Elements::TxIsFinal => f.write_str("tx_is_final"),
8841 Elements::TxLockDistance => f.write_str("tx_lock_distance"),
8842 Elements::TxLockDuration => f.write_str("tx_lock_duration"),
8843 Elements::TxLockHeight => f.write_str("tx_lock_height"),
8844 Elements::TxLockTime => f.write_str("tx_lock_time"),
8845 Elements::Verify => f.write_str("verify"),
8846 Elements::Version => f.write_str("version"),
8847 Elements::Xor1 => f.write_str("xor_1"),
8848 Elements::Xor16 => f.write_str("xor_16"),
8849 Elements::Xor32 => f.write_str("xor_32"),
8850 Elements::Xor64 => f.write_str("xor_64"),
8851 Elements::Xor8 => f.write_str("xor_8"),
8852 Elements::XorXor1 => f.write_str("xor_xor_1"),
8853 Elements::XorXor16 => f.write_str("xor_xor_16"),
8854 Elements::XorXor32 => f.write_str("xor_xor_32"),
8855 Elements::XorXor64 => f.write_str("xor_xor_64"),
8856 Elements::XorXor8 => f.write_str("xor_xor_8"),
8857 }
8858 }
8859}
8860
8861impl str::FromStr for Elements {
8862 type Err = crate::Error;
8863
8864 fn from_str(s: &str) -> Result<Self, Self::Err> {
8865 match s {
8866 "add_16" => Ok(Elements::Add16),
8867 "add_32" => Ok(Elements::Add32),
8868 "add_64" => Ok(Elements::Add64),
8869 "add_8" => Ok(Elements::Add8),
8870 "all_16" => Ok(Elements::All16),
8871 "all_32" => Ok(Elements::All32),
8872 "all_64" => Ok(Elements::All64),
8873 "all_8" => Ok(Elements::All8),
8874 "and_1" => Ok(Elements::And1),
8875 "and_16" => Ok(Elements::And16),
8876 "and_32" => Ok(Elements::And32),
8877 "and_64" => Ok(Elements::And64),
8878 "and_8" => Ok(Elements::And8),
8879 "annex_hash" => Ok(Elements::AnnexHash),
8880 "asset_amount_hash" => Ok(Elements::AssetAmountHash),
8881 "bip_0340_verify" => Ok(Elements::Bip0340Verify),
8882 "build_tapbranch" => Ok(Elements::BuildTapbranch),
8883 "build_tapleaf_simplicity" => Ok(Elements::BuildTapleafSimplicity),
8884 "build_taptweak" => Ok(Elements::BuildTaptweak),
8885 "calculate_asset" => Ok(Elements::CalculateAsset),
8886 "calculate_confidential_token" => Ok(Elements::CalculateConfidentialToken),
8887 "calculate_explicit_token" => Ok(Elements::CalculateExplicitToken),
8888 "calculate_issuance_entropy" => Ok(Elements::CalculateIssuanceEntropy),
8889 "ch_1" => Ok(Elements::Ch1),
8890 "ch_16" => Ok(Elements::Ch16),
8891 "ch_32" => Ok(Elements::Ch32),
8892 "ch_64" => Ok(Elements::Ch64),
8893 "ch_8" => Ok(Elements::Ch8),
8894 "check_lock_distance" => Ok(Elements::CheckLockDistance),
8895 "check_lock_duration" => Ok(Elements::CheckLockDuration),
8896 "check_lock_height" => Ok(Elements::CheckLockHeight),
8897 "check_lock_time" => Ok(Elements::CheckLockTime),
8898 "check_sig_verify" => Ok(Elements::CheckSigVerify),
8899 "complement_1" => Ok(Elements::Complement1),
8900 "complement_16" => Ok(Elements::Complement16),
8901 "complement_32" => Ok(Elements::Complement32),
8902 "complement_64" => Ok(Elements::Complement64),
8903 "complement_8" => Ok(Elements::Complement8),
8904 "current_amount" => Ok(Elements::CurrentAmount),
8905 "current_annex_hash" => Ok(Elements::CurrentAnnexHash),
8906 "current_asset" => Ok(Elements::CurrentAsset),
8907 "current_index" => Ok(Elements::CurrentIndex),
8908 "current_issuance_asset_amount" => Ok(Elements::CurrentIssuanceAssetAmount),
8909 "current_issuance_asset_proof" => Ok(Elements::CurrentIssuanceAssetProof),
8910 "current_issuance_token_amount" => Ok(Elements::CurrentIssuanceTokenAmount),
8911 "current_issuance_token_proof" => Ok(Elements::CurrentIssuanceTokenProof),
8912 "current_new_issuance_contract" => Ok(Elements::CurrentNewIssuanceContract),
8913 "current_pegin" => Ok(Elements::CurrentPegin),
8914 "current_prev_outpoint" => Ok(Elements::CurrentPrevOutpoint),
8915 "current_reissuance_blinding" => Ok(Elements::CurrentReissuanceBlinding),
8916 "current_reissuance_entropy" => Ok(Elements::CurrentReissuanceEntropy),
8917 "current_script_hash" => Ok(Elements::CurrentScriptHash),
8918 "current_script_sig_hash" => Ok(Elements::CurrentScriptSigHash),
8919 "current_sequence" => Ok(Elements::CurrentSequence),
8920 "decompress" => Ok(Elements::Decompress),
8921 "decrement_16" => Ok(Elements::Decrement16),
8922 "decrement_32" => Ok(Elements::Decrement32),
8923 "decrement_64" => Ok(Elements::Decrement64),
8924 "decrement_8" => Ok(Elements::Decrement8),
8925 "div_mod_128_64" => Ok(Elements::DivMod128_64),
8926 "div_mod_16" => Ok(Elements::DivMod16),
8927 "div_mod_32" => Ok(Elements::DivMod32),
8928 "div_mod_64" => Ok(Elements::DivMod64),
8929 "div_mod_8" => Ok(Elements::DivMod8),
8930 "divide_16" => Ok(Elements::Divide16),
8931 "divide_32" => Ok(Elements::Divide32),
8932 "divide_64" => Ok(Elements::Divide64),
8933 "divide_8" => Ok(Elements::Divide8),
8934 "divides_16" => Ok(Elements::Divides16),
8935 "divides_32" => Ok(Elements::Divides32),
8936 "divides_64" => Ok(Elements::Divides64),
8937 "divides_8" => Ok(Elements::Divides8),
8938 "eq_1" => Ok(Elements::Eq1),
8939 "eq_16" => Ok(Elements::Eq16),
8940 "eq_256" => Ok(Elements::Eq256),
8941 "eq_32" => Ok(Elements::Eq32),
8942 "eq_64" => Ok(Elements::Eq64),
8943 "eq_8" => Ok(Elements::Eq8),
8944 "fe_add" => Ok(Elements::FeAdd),
8945 "fe_invert" => Ok(Elements::FeInvert),
8946 "fe_is_odd" => Ok(Elements::FeIsOdd),
8947 "fe_is_zero" => Ok(Elements::FeIsZero),
8948 "fe_multiply" => Ok(Elements::FeMultiply),
8949 "fe_multiply_beta" => Ok(Elements::FeMultiplyBeta),
8950 "fe_negate" => Ok(Elements::FeNegate),
8951 "fe_normalize" => Ok(Elements::FeNormalize),
8952 "fe_square" => Ok(Elements::FeSquare),
8953 "fe_square_root" => Ok(Elements::FeSquareRoot),
8954 "full_add_16" => Ok(Elements::FullAdd16),
8955 "full_add_32" => Ok(Elements::FullAdd32),
8956 "full_add_64" => Ok(Elements::FullAdd64),
8957 "full_add_8" => Ok(Elements::FullAdd8),
8958 "full_decrement_16" => Ok(Elements::FullDecrement16),
8959 "full_decrement_32" => Ok(Elements::FullDecrement32),
8960 "full_decrement_64" => Ok(Elements::FullDecrement64),
8961 "full_decrement_8" => Ok(Elements::FullDecrement8),
8962 "full_increment_16" => Ok(Elements::FullIncrement16),
8963 "full_increment_32" => Ok(Elements::FullIncrement32),
8964 "full_increment_64" => Ok(Elements::FullIncrement64),
8965 "full_increment_8" => Ok(Elements::FullIncrement8),
8966 "full_left_shift_16_1" => Ok(Elements::FullLeftShift16_1),
8967 "full_left_shift_16_2" => Ok(Elements::FullLeftShift16_2),
8968 "full_left_shift_16_4" => Ok(Elements::FullLeftShift16_4),
8969 "full_left_shift_16_8" => Ok(Elements::FullLeftShift16_8),
8970 "full_left_shift_32_1" => Ok(Elements::FullLeftShift32_1),
8971 "full_left_shift_32_16" => Ok(Elements::FullLeftShift32_16),
8972 "full_left_shift_32_2" => Ok(Elements::FullLeftShift32_2),
8973 "full_left_shift_32_4" => Ok(Elements::FullLeftShift32_4),
8974 "full_left_shift_32_8" => Ok(Elements::FullLeftShift32_8),
8975 "full_left_shift_64_1" => Ok(Elements::FullLeftShift64_1),
8976 "full_left_shift_64_16" => Ok(Elements::FullLeftShift64_16),
8977 "full_left_shift_64_2" => Ok(Elements::FullLeftShift64_2),
8978 "full_left_shift_64_32" => Ok(Elements::FullLeftShift64_32),
8979 "full_left_shift_64_4" => Ok(Elements::FullLeftShift64_4),
8980 "full_left_shift_64_8" => Ok(Elements::FullLeftShift64_8),
8981 "full_left_shift_8_1" => Ok(Elements::FullLeftShift8_1),
8982 "full_left_shift_8_2" => Ok(Elements::FullLeftShift8_2),
8983 "full_left_shift_8_4" => Ok(Elements::FullLeftShift8_4),
8984 "full_multiply_16" => Ok(Elements::FullMultiply16),
8985 "full_multiply_32" => Ok(Elements::FullMultiply32),
8986 "full_multiply_64" => Ok(Elements::FullMultiply64),
8987 "full_multiply_8" => Ok(Elements::FullMultiply8),
8988 "full_right_shift_16_1" => Ok(Elements::FullRightShift16_1),
8989 "full_right_shift_16_2" => Ok(Elements::FullRightShift16_2),
8990 "full_right_shift_16_4" => Ok(Elements::FullRightShift16_4),
8991 "full_right_shift_16_8" => Ok(Elements::FullRightShift16_8),
8992 "full_right_shift_32_1" => Ok(Elements::FullRightShift32_1),
8993 "full_right_shift_32_16" => Ok(Elements::FullRightShift32_16),
8994 "full_right_shift_32_2" => Ok(Elements::FullRightShift32_2),
8995 "full_right_shift_32_4" => Ok(Elements::FullRightShift32_4),
8996 "full_right_shift_32_8" => Ok(Elements::FullRightShift32_8),
8997 "full_right_shift_64_1" => Ok(Elements::FullRightShift64_1),
8998 "full_right_shift_64_16" => Ok(Elements::FullRightShift64_16),
8999 "full_right_shift_64_2" => Ok(Elements::FullRightShift64_2),
9000 "full_right_shift_64_32" => Ok(Elements::FullRightShift64_32),
9001 "full_right_shift_64_4" => Ok(Elements::FullRightShift64_4),
9002 "full_right_shift_64_8" => Ok(Elements::FullRightShift64_8),
9003 "full_right_shift_8_1" => Ok(Elements::FullRightShift8_1),
9004 "full_right_shift_8_2" => Ok(Elements::FullRightShift8_2),
9005 "full_right_shift_8_4" => Ok(Elements::FullRightShift8_4),
9006 "full_subtract_16" => Ok(Elements::FullSubtract16),
9007 "full_subtract_32" => Ok(Elements::FullSubtract32),
9008 "full_subtract_64" => Ok(Elements::FullSubtract64),
9009 "full_subtract_8" => Ok(Elements::FullSubtract8),
9010 "ge_is_on_curve" => Ok(Elements::GeIsOnCurve),
9011 "ge_negate" => Ok(Elements::GeNegate),
9012 "gej_add" => Ok(Elements::GejAdd),
9013 "gej_double" => Ok(Elements::GejDouble),
9014 "gej_equiv" => Ok(Elements::GejEquiv),
9015 "gej_ge_add" => Ok(Elements::GejGeAdd),
9016 "gej_ge_add_ex" => Ok(Elements::GejGeAddEx),
9017 "gej_ge_equiv" => Ok(Elements::GejGeEquiv),
9018 "gej_infinity" => Ok(Elements::GejInfinity),
9019 "gej_is_infinity" => Ok(Elements::GejIsInfinity),
9020 "gej_is_on_curve" => Ok(Elements::GejIsOnCurve),
9021 "gej_negate" => Ok(Elements::GejNegate),
9022 "gej_normalize" => Ok(Elements::GejNormalize),
9023 "gej_rescale" => Ok(Elements::GejRescale),
9024 "gej_x_equiv" => Ok(Elements::GejXEquiv),
9025 "gej_y_is_odd" => Ok(Elements::GejYIsOdd),
9026 "generate" => Ok(Elements::Generate),
9027 "genesis_block_hash" => Ok(Elements::GenesisBlockHash),
9028 "hash_to_curve" => Ok(Elements::HashToCurve),
9029 "high_1" => Ok(Elements::High1),
9030 "high_16" => Ok(Elements::High16),
9031 "high_32" => Ok(Elements::High32),
9032 "high_64" => Ok(Elements::High64),
9033 "high_8" => Ok(Elements::High8),
9034 "increment_16" => Ok(Elements::Increment16),
9035 "increment_32" => Ok(Elements::Increment32),
9036 "increment_64" => Ok(Elements::Increment64),
9037 "increment_8" => Ok(Elements::Increment8),
9038 "input_amount" => Ok(Elements::InputAmount),
9039 "input_amounts_hash" => Ok(Elements::InputAmountsHash),
9040 "input_annex_hash" => Ok(Elements::InputAnnexHash),
9041 "input_annexes_hash" => Ok(Elements::InputAnnexesHash),
9042 "input_asset" => Ok(Elements::InputAsset),
9043 "input_hash" => Ok(Elements::InputHash),
9044 "input_outpoints_hash" => Ok(Elements::InputOutpointsHash),
9045 "input_pegin" => Ok(Elements::InputPegin),
9046 "input_prev_outpoint" => Ok(Elements::InputPrevOutpoint),
9047 "input_script_hash" => Ok(Elements::InputScriptHash),
9048 "input_script_sig_hash" => Ok(Elements::InputScriptSigHash),
9049 "input_script_sigs_hash" => Ok(Elements::InputScriptSigsHash),
9050 "input_scripts_hash" => Ok(Elements::InputScriptsHash),
9051 "input_sequence" => Ok(Elements::InputSequence),
9052 "input_sequences_hash" => Ok(Elements::InputSequencesHash),
9053 "input_utxo_hash" => Ok(Elements::InputUtxoHash),
9054 "input_utxos_hash" => Ok(Elements::InputUtxosHash),
9055 "inputs_hash" => Ok(Elements::InputsHash),
9056 "internal_key" => Ok(Elements::InternalKey),
9057 "is_one_16" => Ok(Elements::IsOne16),
9058 "is_one_32" => Ok(Elements::IsOne32),
9059 "is_one_64" => Ok(Elements::IsOne64),
9060 "is_one_8" => Ok(Elements::IsOne8),
9061 "is_zero_16" => Ok(Elements::IsZero16),
9062 "is_zero_32" => Ok(Elements::IsZero32),
9063 "is_zero_64" => Ok(Elements::IsZero64),
9064 "is_zero_8" => Ok(Elements::IsZero8),
9065 "issuance" => Ok(Elements::Issuance),
9066 "issuance_asset" => Ok(Elements::IssuanceAsset),
9067 "issuance_asset_amount" => Ok(Elements::IssuanceAssetAmount),
9068 "issuance_asset_amounts_hash" => Ok(Elements::IssuanceAssetAmountsHash),
9069 "issuance_asset_proof" => Ok(Elements::IssuanceAssetProof),
9070 "issuance_blinding_entropy_hash" => Ok(Elements::IssuanceBlindingEntropyHash),
9071 "issuance_entropy" => Ok(Elements::IssuanceEntropy),
9072 "issuance_hash" => Ok(Elements::IssuanceHash),
9073 "issuance_range_proofs_hash" => Ok(Elements::IssuanceRangeProofsHash),
9074 "issuance_token" => Ok(Elements::IssuanceToken),
9075 "issuance_token_amount" => Ok(Elements::IssuanceTokenAmount),
9076 "issuance_token_amounts_hash" => Ok(Elements::IssuanceTokenAmountsHash),
9077 "issuance_token_proof" => Ok(Elements::IssuanceTokenProof),
9078 "issuances_hash" => Ok(Elements::IssuancesHash),
9079 "lbtc_asset" => Ok(Elements::LbtcAsset),
9080 "le_16" => Ok(Elements::Le16),
9081 "le_32" => Ok(Elements::Le32),
9082 "le_64" => Ok(Elements::Le64),
9083 "le_8" => Ok(Elements::Le8),
9084 "left_extend_16_32" => Ok(Elements::LeftExtend16_32),
9085 "left_extend_16_64" => Ok(Elements::LeftExtend16_64),
9086 "left_extend_1_16" => Ok(Elements::LeftExtend1_16),
9087 "left_extend_1_32" => Ok(Elements::LeftExtend1_32),
9088 "left_extend_1_64" => Ok(Elements::LeftExtend1_64),
9089 "left_extend_1_8" => Ok(Elements::LeftExtend1_8),
9090 "left_extend_32_64" => Ok(Elements::LeftExtend32_64),
9091 "left_extend_8_16" => Ok(Elements::LeftExtend8_16),
9092 "left_extend_8_32" => Ok(Elements::LeftExtend8_32),
9093 "left_extend_8_64" => Ok(Elements::LeftExtend8_64),
9094 "left_pad_high_16_32" => Ok(Elements::LeftPadHigh16_32),
9095 "left_pad_high_16_64" => Ok(Elements::LeftPadHigh16_64),
9096 "left_pad_high_1_16" => Ok(Elements::LeftPadHigh1_16),
9097 "left_pad_high_1_32" => Ok(Elements::LeftPadHigh1_32),
9098 "left_pad_high_1_64" => Ok(Elements::LeftPadHigh1_64),
9099 "left_pad_high_1_8" => Ok(Elements::LeftPadHigh1_8),
9100 "left_pad_high_32_64" => Ok(Elements::LeftPadHigh32_64),
9101 "left_pad_high_8_16" => Ok(Elements::LeftPadHigh8_16),
9102 "left_pad_high_8_32" => Ok(Elements::LeftPadHigh8_32),
9103 "left_pad_high_8_64" => Ok(Elements::LeftPadHigh8_64),
9104 "left_pad_low_16_32" => Ok(Elements::LeftPadLow16_32),
9105 "left_pad_low_16_64" => Ok(Elements::LeftPadLow16_64),
9106 "left_pad_low_1_16" => Ok(Elements::LeftPadLow1_16),
9107 "left_pad_low_1_32" => Ok(Elements::LeftPadLow1_32),
9108 "left_pad_low_1_64" => Ok(Elements::LeftPadLow1_64),
9109 "left_pad_low_1_8" => Ok(Elements::LeftPadLow1_8),
9110 "left_pad_low_32_64" => Ok(Elements::LeftPadLow32_64),
9111 "left_pad_low_8_16" => Ok(Elements::LeftPadLow8_16),
9112 "left_pad_low_8_32" => Ok(Elements::LeftPadLow8_32),
9113 "left_pad_low_8_64" => Ok(Elements::LeftPadLow8_64),
9114 "left_rotate_16" => Ok(Elements::LeftRotate16),
9115 "left_rotate_32" => Ok(Elements::LeftRotate32),
9116 "left_rotate_64" => Ok(Elements::LeftRotate64),
9117 "left_rotate_8" => Ok(Elements::LeftRotate8),
9118 "left_shift_16" => Ok(Elements::LeftShift16),
9119 "left_shift_32" => Ok(Elements::LeftShift32),
9120 "left_shift_64" => Ok(Elements::LeftShift64),
9121 "left_shift_8" => Ok(Elements::LeftShift8),
9122 "left_shift_with_16" => Ok(Elements::LeftShiftWith16),
9123 "left_shift_with_32" => Ok(Elements::LeftShiftWith32),
9124 "left_shift_with_64" => Ok(Elements::LeftShiftWith64),
9125 "left_shift_with_8" => Ok(Elements::LeftShiftWith8),
9126 "leftmost_16_1" => Ok(Elements::Leftmost16_1),
9127 "leftmost_16_2" => Ok(Elements::Leftmost16_2),
9128 "leftmost_16_4" => Ok(Elements::Leftmost16_4),
9129 "leftmost_16_8" => Ok(Elements::Leftmost16_8),
9130 "leftmost_32_1" => Ok(Elements::Leftmost32_1),
9131 "leftmost_32_16" => Ok(Elements::Leftmost32_16),
9132 "leftmost_32_2" => Ok(Elements::Leftmost32_2),
9133 "leftmost_32_4" => Ok(Elements::Leftmost32_4),
9134 "leftmost_32_8" => Ok(Elements::Leftmost32_8),
9135 "leftmost_64_1" => Ok(Elements::Leftmost64_1),
9136 "leftmost_64_16" => Ok(Elements::Leftmost64_16),
9137 "leftmost_64_2" => Ok(Elements::Leftmost64_2),
9138 "leftmost_64_32" => Ok(Elements::Leftmost64_32),
9139 "leftmost_64_4" => Ok(Elements::Leftmost64_4),
9140 "leftmost_64_8" => Ok(Elements::Leftmost64_8),
9141 "leftmost_8_1" => Ok(Elements::Leftmost8_1),
9142 "leftmost_8_2" => Ok(Elements::Leftmost8_2),
9143 "leftmost_8_4" => Ok(Elements::Leftmost8_4),
9144 "linear_combination_1" => Ok(Elements::LinearCombination1),
9145 "linear_verify_1" => Ok(Elements::LinearVerify1),
9146 "lock_time" => Ok(Elements::LockTime),
9147 "low_1" => Ok(Elements::Low1),
9148 "low_16" => Ok(Elements::Low16),
9149 "low_32" => Ok(Elements::Low32),
9150 "low_64" => Ok(Elements::Low64),
9151 "low_8" => Ok(Elements::Low8),
9152 "lt_16" => Ok(Elements::Lt16),
9153 "lt_32" => Ok(Elements::Lt32),
9154 "lt_64" => Ok(Elements::Lt64),
9155 "lt_8" => Ok(Elements::Lt8),
9156 "maj_1" => Ok(Elements::Maj1),
9157 "maj_16" => Ok(Elements::Maj16),
9158 "maj_32" => Ok(Elements::Maj32),
9159 "maj_64" => Ok(Elements::Maj64),
9160 "maj_8" => Ok(Elements::Maj8),
9161 "max_16" => Ok(Elements::Max16),
9162 "max_32" => Ok(Elements::Max32),
9163 "max_64" => Ok(Elements::Max64),
9164 "max_8" => Ok(Elements::Max8),
9165 "median_16" => Ok(Elements::Median16),
9166 "median_32" => Ok(Elements::Median32),
9167 "median_64" => Ok(Elements::Median64),
9168 "median_8" => Ok(Elements::Median8),
9169 "min_16" => Ok(Elements::Min16),
9170 "min_32" => Ok(Elements::Min32),
9171 "min_64" => Ok(Elements::Min64),
9172 "min_8" => Ok(Elements::Min8),
9173 "modulo_16" => Ok(Elements::Modulo16),
9174 "modulo_32" => Ok(Elements::Modulo32),
9175 "modulo_64" => Ok(Elements::Modulo64),
9176 "modulo_8" => Ok(Elements::Modulo8),
9177 "multiply_16" => Ok(Elements::Multiply16),
9178 "multiply_32" => Ok(Elements::Multiply32),
9179 "multiply_64" => Ok(Elements::Multiply64),
9180 "multiply_8" => Ok(Elements::Multiply8),
9181 "negate_16" => Ok(Elements::Negate16),
9182 "negate_32" => Ok(Elements::Negate32),
9183 "negate_64" => Ok(Elements::Negate64),
9184 "negate_8" => Ok(Elements::Negate8),
9185 "new_issuance_contract" => Ok(Elements::NewIssuanceContract),
9186 "nonce_hash" => Ok(Elements::NonceHash),
9187 "num_inputs" => Ok(Elements::NumInputs),
9188 "num_outputs" => Ok(Elements::NumOutputs),
9189 "one_16" => Ok(Elements::One16),
9190 "one_32" => Ok(Elements::One32),
9191 "one_64" => Ok(Elements::One64),
9192 "one_8" => Ok(Elements::One8),
9193 "or_1" => Ok(Elements::Or1),
9194 "or_16" => Ok(Elements::Or16),
9195 "or_32" => Ok(Elements::Or32),
9196 "or_64" => Ok(Elements::Or64),
9197 "or_8" => Ok(Elements::Or8),
9198 "outpoint_hash" => Ok(Elements::OutpointHash),
9199 "output_amount" => Ok(Elements::OutputAmount),
9200 "output_amounts_hash" => Ok(Elements::OutputAmountsHash),
9201 "output_asset" => Ok(Elements::OutputAsset),
9202 "output_hash" => Ok(Elements::OutputHash),
9203 "output_is_fee" => Ok(Elements::OutputIsFee),
9204 "output_nonce" => Ok(Elements::OutputNonce),
9205 "output_nonces_hash" => Ok(Elements::OutputNoncesHash),
9206 "output_null_datum" => Ok(Elements::OutputNullDatum),
9207 "output_range_proof" => Ok(Elements::OutputRangeProof),
9208 "output_range_proofs_hash" => Ok(Elements::OutputRangeProofsHash),
9209 "output_script_hash" => Ok(Elements::OutputScriptHash),
9210 "output_scripts_hash" => Ok(Elements::OutputScriptsHash),
9211 "output_surjection_proof" => Ok(Elements::OutputSurjectionProof),
9212 "output_surjection_proofs_hash" => Ok(Elements::OutputSurjectionProofsHash),
9213 "outputs_hash" => Ok(Elements::OutputsHash),
9214 "parse_lock" => Ok(Elements::ParseLock),
9215 "parse_sequence" => Ok(Elements::ParseSequence),
9216 "point_verify_1" => Ok(Elements::PointVerify1),
9217 "reissuance_blinding" => Ok(Elements::ReissuanceBlinding),
9218 "reissuance_entropy" => Ok(Elements::ReissuanceEntropy),
9219 "right_extend_16_32" => Ok(Elements::RightExtend16_32),
9220 "right_extend_16_64" => Ok(Elements::RightExtend16_64),
9221 "right_extend_32_64" => Ok(Elements::RightExtend32_64),
9222 "right_extend_8_16" => Ok(Elements::RightExtend8_16),
9223 "right_extend_8_32" => Ok(Elements::RightExtend8_32),
9224 "right_extend_8_64" => Ok(Elements::RightExtend8_64),
9225 "right_pad_high_16_32" => Ok(Elements::RightPadHigh16_32),
9226 "right_pad_high_16_64" => Ok(Elements::RightPadHigh16_64),
9227 "right_pad_high_1_16" => Ok(Elements::RightPadHigh1_16),
9228 "right_pad_high_1_32" => Ok(Elements::RightPadHigh1_32),
9229 "right_pad_high_1_64" => Ok(Elements::RightPadHigh1_64),
9230 "right_pad_high_1_8" => Ok(Elements::RightPadHigh1_8),
9231 "right_pad_high_32_64" => Ok(Elements::RightPadHigh32_64),
9232 "right_pad_high_8_16" => Ok(Elements::RightPadHigh8_16),
9233 "right_pad_high_8_32" => Ok(Elements::RightPadHigh8_32),
9234 "right_pad_high_8_64" => Ok(Elements::RightPadHigh8_64),
9235 "right_pad_low_16_32" => Ok(Elements::RightPadLow16_32),
9236 "right_pad_low_16_64" => Ok(Elements::RightPadLow16_64),
9237 "right_pad_low_1_16" => Ok(Elements::RightPadLow1_16),
9238 "right_pad_low_1_32" => Ok(Elements::RightPadLow1_32),
9239 "right_pad_low_1_64" => Ok(Elements::RightPadLow1_64),
9240 "right_pad_low_1_8" => Ok(Elements::RightPadLow1_8),
9241 "right_pad_low_32_64" => Ok(Elements::RightPadLow32_64),
9242 "right_pad_low_8_16" => Ok(Elements::RightPadLow8_16),
9243 "right_pad_low_8_32" => Ok(Elements::RightPadLow8_32),
9244 "right_pad_low_8_64" => Ok(Elements::RightPadLow8_64),
9245 "right_rotate_16" => Ok(Elements::RightRotate16),
9246 "right_rotate_32" => Ok(Elements::RightRotate32),
9247 "right_rotate_64" => Ok(Elements::RightRotate64),
9248 "right_rotate_8" => Ok(Elements::RightRotate8),
9249 "right_shift_16" => Ok(Elements::RightShift16),
9250 "right_shift_32" => Ok(Elements::RightShift32),
9251 "right_shift_64" => Ok(Elements::RightShift64),
9252 "right_shift_8" => Ok(Elements::RightShift8),
9253 "right_shift_with_16" => Ok(Elements::RightShiftWith16),
9254 "right_shift_with_32" => Ok(Elements::RightShiftWith32),
9255 "right_shift_with_64" => Ok(Elements::RightShiftWith64),
9256 "right_shift_with_8" => Ok(Elements::RightShiftWith8),
9257 "rightmost_16_1" => Ok(Elements::Rightmost16_1),
9258 "rightmost_16_2" => Ok(Elements::Rightmost16_2),
9259 "rightmost_16_4" => Ok(Elements::Rightmost16_4),
9260 "rightmost_16_8" => Ok(Elements::Rightmost16_8),
9261 "rightmost_32_1" => Ok(Elements::Rightmost32_1),
9262 "rightmost_32_16" => Ok(Elements::Rightmost32_16),
9263 "rightmost_32_2" => Ok(Elements::Rightmost32_2),
9264 "rightmost_32_4" => Ok(Elements::Rightmost32_4),
9265 "rightmost_32_8" => Ok(Elements::Rightmost32_8),
9266 "rightmost_64_1" => Ok(Elements::Rightmost64_1),
9267 "rightmost_64_16" => Ok(Elements::Rightmost64_16),
9268 "rightmost_64_2" => Ok(Elements::Rightmost64_2),
9269 "rightmost_64_32" => Ok(Elements::Rightmost64_32),
9270 "rightmost_64_4" => Ok(Elements::Rightmost64_4),
9271 "rightmost_64_8" => Ok(Elements::Rightmost64_8),
9272 "rightmost_8_1" => Ok(Elements::Rightmost8_1),
9273 "rightmost_8_2" => Ok(Elements::Rightmost8_2),
9274 "rightmost_8_4" => Ok(Elements::Rightmost8_4),
9275 "scalar_add" => Ok(Elements::ScalarAdd),
9276 "scalar_invert" => Ok(Elements::ScalarInvert),
9277 "scalar_is_zero" => Ok(Elements::ScalarIsZero),
9278 "scalar_multiply" => Ok(Elements::ScalarMultiply),
9279 "scalar_multiply_lambda" => Ok(Elements::ScalarMultiplyLambda),
9280 "scalar_negate" => Ok(Elements::ScalarNegate),
9281 "scalar_normalize" => Ok(Elements::ScalarNormalize),
9282 "scalar_square" => Ok(Elements::ScalarSquare),
9283 "scale" => Ok(Elements::Scale),
9284 "script_cmr" => Ok(Elements::ScriptCMR),
9285 "sha_256_block" => Ok(Elements::Sha256Block),
9286 "sha_256_ctx_8_add_1" => Ok(Elements::Sha256Ctx8Add1),
9287 "sha_256_ctx_8_add_128" => Ok(Elements::Sha256Ctx8Add128),
9288 "sha_256_ctx_8_add_16" => Ok(Elements::Sha256Ctx8Add16),
9289 "sha_256_ctx_8_add_2" => Ok(Elements::Sha256Ctx8Add2),
9290 "sha_256_ctx_8_add_256" => Ok(Elements::Sha256Ctx8Add256),
9291 "sha_256_ctx_8_add_32" => Ok(Elements::Sha256Ctx8Add32),
9292 "sha_256_ctx_8_add_4" => Ok(Elements::Sha256Ctx8Add4),
9293 "sha_256_ctx_8_add_512" => Ok(Elements::Sha256Ctx8Add512),
9294 "sha_256_ctx_8_add_64" => Ok(Elements::Sha256Ctx8Add64),
9295 "sha_256_ctx_8_add_8" => Ok(Elements::Sha256Ctx8Add8),
9296 "sha_256_ctx_8_add_buffer_511" => Ok(Elements::Sha256Ctx8AddBuffer511),
9297 "sha_256_ctx_8_finalize" => Ok(Elements::Sha256Ctx8Finalize),
9298 "sha_256_ctx_8_init" => Ok(Elements::Sha256Ctx8Init),
9299 "sha_256_iv" => Ok(Elements::Sha256Iv),
9300 "sig_all_hash" => Ok(Elements::SigAllHash),
9301 "some_1" => Ok(Elements::Some1),
9302 "some_16" => Ok(Elements::Some16),
9303 "some_32" => Ok(Elements::Some32),
9304 "some_64" => Ok(Elements::Some64),
9305 "some_8" => Ok(Elements::Some8),
9306 "subtract_16" => Ok(Elements::Subtract16),
9307 "subtract_32" => Ok(Elements::Subtract32),
9308 "subtract_64" => Ok(Elements::Subtract64),
9309 "subtract_8" => Ok(Elements::Subtract8),
9310 "swu" => Ok(Elements::Swu),
9311 "tap_env_hash" => Ok(Elements::TapEnvHash),
9312 "tapdata_init" => Ok(Elements::TapdataInit),
9313 "tapleaf_hash" => Ok(Elements::TapleafHash),
9314 "tapleaf_version" => Ok(Elements::TapleafVersion),
9315 "tappath" => Ok(Elements::Tappath),
9316 "tappath_hash" => Ok(Elements::TappathHash),
9317 "total_fee" => Ok(Elements::TotalFee),
9318 "transaction_id" => Ok(Elements::TransactionId),
9319 "tx_hash" => Ok(Elements::TxHash),
9320 "tx_is_final" => Ok(Elements::TxIsFinal),
9321 "tx_lock_distance" => Ok(Elements::TxLockDistance),
9322 "tx_lock_duration" => Ok(Elements::TxLockDuration),
9323 "tx_lock_height" => Ok(Elements::TxLockHeight),
9324 "tx_lock_time" => Ok(Elements::TxLockTime),
9325 "verify" => Ok(Elements::Verify),
9326 "version" => Ok(Elements::Version),
9327 "xor_1" => Ok(Elements::Xor1),
9328 "xor_16" => Ok(Elements::Xor16),
9329 "xor_32" => Ok(Elements::Xor32),
9330 "xor_64" => Ok(Elements::Xor64),
9331 "xor_8" => Ok(Elements::Xor8),
9332 "xor_xor_1" => Ok(Elements::XorXor1),
9333 "xor_xor_16" => Ok(Elements::XorXor16),
9334 "xor_xor_32" => Ok(Elements::XorXor32),
9335 "xor_xor_64" => Ok(Elements::XorXor64),
9336 "xor_xor_8" => Ok(Elements::XorXor8),
9337 x => Err(crate::Error::InvalidJetName(x.to_owned())),
9338 }
9339 }
9340}