1#[allow(
12 non_camel_case_types,
13 non_snake_case,
14 clippy::pub_underscore_fields,
15 clippy::style,
16 clippy::empty_structs_with_brackets
17)]
18pub mod BN254 {
19 use super::*;
20 use alloy::sol_types as alloy_sol_types;
21 #[derive(serde::Serialize, serde::Deserialize)]
22 #[derive(Default, Debug, PartialEq, Eq, Hash)]
23 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
24 #[derive(Clone)]
25 pub struct BaseField(alloy::sol_types::private::primitives::aliases::U256);
26 const _: () = {
27 use alloy::sol_types as alloy_sol_types;
28 #[automatically_derived]
29 impl alloy_sol_types::private::SolTypeValue<BaseField>
30 for alloy::sol_types::private::primitives::aliases::U256 {
31 #[inline]
32 fn stv_to_tokens(
33 &self,
34 ) -> <alloy::sol_types::sol_data::Uint<
35 256,
36 > as alloy_sol_types::SolType>::Token<'_> {
37 alloy_sol_types::private::SolTypeValue::<
38 alloy::sol_types::sol_data::Uint<256>,
39 >::stv_to_tokens(self)
40 }
41 #[inline]
42 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
43 <alloy::sol_types::sol_data::Uint<
44 256,
45 > as alloy_sol_types::SolType>::tokenize(self)
46 .0
47 }
48 #[inline]
49 fn stv_abi_encode_packed_to(
50 &self,
51 out: &mut alloy_sol_types::private::Vec<u8>,
52 ) {
53 <alloy::sol_types::sol_data::Uint<
54 256,
55 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
56 }
57 #[inline]
58 fn stv_abi_packed_encoded_size(&self) -> usize {
59 <alloy::sol_types::sol_data::Uint<
60 256,
61 > as alloy_sol_types::SolType>::abi_encoded_size(self)
62 }
63 }
64 #[automatically_derived]
65 impl BaseField {
66 pub const NAME: &'static str = stringify!(@ name);
68 #[inline]
70 pub const fn from_underlying(
71 value: alloy::sol_types::private::primitives::aliases::U256,
72 ) -> Self {
73 Self(value)
74 }
75 #[inline]
77 pub const fn into_underlying(
78 self,
79 ) -> alloy::sol_types::private::primitives::aliases::U256 {
80 self.0
81 }
82 #[inline]
85 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
86 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
87 }
88 #[inline]
91 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
92 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
93 }
94 }
95 #[automatically_derived]
96 impl From<alloy::sol_types::private::primitives::aliases::U256> for BaseField {
97 fn from(
98 value: alloy::sol_types::private::primitives::aliases::U256,
99 ) -> Self {
100 Self::from_underlying(value)
101 }
102 }
103 #[automatically_derived]
104 impl From<BaseField> for alloy::sol_types::private::primitives::aliases::U256 {
105 fn from(value: BaseField) -> Self {
106 value.into_underlying()
107 }
108 }
109 #[automatically_derived]
110 impl alloy_sol_types::SolType for BaseField {
111 type RustType = alloy::sol_types::private::primitives::aliases::U256;
112 type Token<'a> = <alloy::sol_types::sol_data::Uint<
113 256,
114 > as alloy_sol_types::SolType>::Token<'a>;
115 const SOL_NAME: &'static str = Self::NAME;
116 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
117 256,
118 > as alloy_sol_types::SolType>::ENCODED_SIZE;
119 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
120 256,
121 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
122 #[inline]
123 fn valid_token(token: &Self::Token<'_>) -> bool {
124 Self::type_check(token).is_ok()
125 }
126 #[inline]
127 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
128 <alloy::sol_types::sol_data::Uint<
129 256,
130 > as alloy_sol_types::SolType>::type_check(token)
131 }
132 #[inline]
133 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
134 <alloy::sol_types::sol_data::Uint<
135 256,
136 > as alloy_sol_types::SolType>::detokenize(token)
137 }
138 }
139 #[automatically_derived]
140 impl alloy_sol_types::EventTopic for BaseField {
141 #[inline]
142 fn topic_preimage_length(rust: &Self::RustType) -> usize {
143 <alloy::sol_types::sol_data::Uint<
144 256,
145 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
146 }
147 #[inline]
148 fn encode_topic_preimage(
149 rust: &Self::RustType,
150 out: &mut alloy_sol_types::private::Vec<u8>,
151 ) {
152 <alloy::sol_types::sol_data::Uint<
153 256,
154 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
155 }
156 #[inline]
157 fn encode_topic(
158 rust: &Self::RustType,
159 ) -> alloy_sol_types::abi::token::WordToken {
160 <alloy::sol_types::sol_data::Uint<
161 256,
162 > as alloy_sol_types::EventTopic>::encode_topic(rust)
163 }
164 }
165 };
166 #[derive(serde::Serialize, serde::Deserialize)]
167 #[derive(Default, Debug, PartialEq, Eq, Hash)]
168 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
169 #[derive(Clone)]
170 pub struct ScalarField(alloy::sol_types::private::primitives::aliases::U256);
171 const _: () = {
172 use alloy::sol_types as alloy_sol_types;
173 #[automatically_derived]
174 impl alloy_sol_types::private::SolTypeValue<ScalarField>
175 for alloy::sol_types::private::primitives::aliases::U256 {
176 #[inline]
177 fn stv_to_tokens(
178 &self,
179 ) -> <alloy::sol_types::sol_data::Uint<
180 256,
181 > as alloy_sol_types::SolType>::Token<'_> {
182 alloy_sol_types::private::SolTypeValue::<
183 alloy::sol_types::sol_data::Uint<256>,
184 >::stv_to_tokens(self)
185 }
186 #[inline]
187 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
188 <alloy::sol_types::sol_data::Uint<
189 256,
190 > as alloy_sol_types::SolType>::tokenize(self)
191 .0
192 }
193 #[inline]
194 fn stv_abi_encode_packed_to(
195 &self,
196 out: &mut alloy_sol_types::private::Vec<u8>,
197 ) {
198 <alloy::sol_types::sol_data::Uint<
199 256,
200 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
201 }
202 #[inline]
203 fn stv_abi_packed_encoded_size(&self) -> usize {
204 <alloy::sol_types::sol_data::Uint<
205 256,
206 > as alloy_sol_types::SolType>::abi_encoded_size(self)
207 }
208 }
209 #[automatically_derived]
210 impl ScalarField {
211 pub const NAME: &'static str = stringify!(@ name);
213 #[inline]
215 pub const fn from_underlying(
216 value: alloy::sol_types::private::primitives::aliases::U256,
217 ) -> Self {
218 Self(value)
219 }
220 #[inline]
222 pub const fn into_underlying(
223 self,
224 ) -> alloy::sol_types::private::primitives::aliases::U256 {
225 self.0
226 }
227 #[inline]
230 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
231 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
232 }
233 #[inline]
236 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
237 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
238 }
239 }
240 #[automatically_derived]
241 impl From<alloy::sol_types::private::primitives::aliases::U256> for ScalarField {
242 fn from(
243 value: alloy::sol_types::private::primitives::aliases::U256,
244 ) -> Self {
245 Self::from_underlying(value)
246 }
247 }
248 #[automatically_derived]
249 impl From<ScalarField> for alloy::sol_types::private::primitives::aliases::U256 {
250 fn from(value: ScalarField) -> Self {
251 value.into_underlying()
252 }
253 }
254 #[automatically_derived]
255 impl alloy_sol_types::SolType for ScalarField {
256 type RustType = alloy::sol_types::private::primitives::aliases::U256;
257 type Token<'a> = <alloy::sol_types::sol_data::Uint<
258 256,
259 > as alloy_sol_types::SolType>::Token<'a>;
260 const SOL_NAME: &'static str = Self::NAME;
261 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
262 256,
263 > as alloy_sol_types::SolType>::ENCODED_SIZE;
264 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
265 256,
266 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
267 #[inline]
268 fn valid_token(token: &Self::Token<'_>) -> bool {
269 Self::type_check(token).is_ok()
270 }
271 #[inline]
272 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
273 <alloy::sol_types::sol_data::Uint<
274 256,
275 > as alloy_sol_types::SolType>::type_check(token)
276 }
277 #[inline]
278 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
279 <alloy::sol_types::sol_data::Uint<
280 256,
281 > as alloy_sol_types::SolType>::detokenize(token)
282 }
283 }
284 #[automatically_derived]
285 impl alloy_sol_types::EventTopic for ScalarField {
286 #[inline]
287 fn topic_preimage_length(rust: &Self::RustType) -> usize {
288 <alloy::sol_types::sol_data::Uint<
289 256,
290 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
291 }
292 #[inline]
293 fn encode_topic_preimage(
294 rust: &Self::RustType,
295 out: &mut alloy_sol_types::private::Vec<u8>,
296 ) {
297 <alloy::sol_types::sol_data::Uint<
298 256,
299 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
300 }
301 #[inline]
302 fn encode_topic(
303 rust: &Self::RustType,
304 ) -> alloy_sol_types::abi::token::WordToken {
305 <alloy::sol_types::sol_data::Uint<
306 256,
307 > as alloy_sol_types::EventTopic>::encode_topic(rust)
308 }
309 }
310 };
311 #[derive(serde::Serialize, serde::Deserialize)]
312 #[derive(Default, Debug, PartialEq, Eq, Hash)]
313 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
317 #[derive(Clone)]
318 pub struct G1Point {
319 #[allow(missing_docs)]
320 pub x: <BaseField as alloy::sol_types::SolType>::RustType,
321 #[allow(missing_docs)]
322 pub y: <BaseField as alloy::sol_types::SolType>::RustType,
323 }
324 #[allow(
325 non_camel_case_types,
326 non_snake_case,
327 clippy::pub_underscore_fields,
328 clippy::style
329 )]
330 const _: () = {
331 use alloy::sol_types as alloy_sol_types;
332 #[doc(hidden)]
333 #[allow(dead_code)]
334 type UnderlyingSolTuple<'a> = (BaseField, BaseField);
335 #[doc(hidden)]
336 type UnderlyingRustTuple<'a> = (
337 <BaseField as alloy::sol_types::SolType>::RustType,
338 <BaseField as alloy::sol_types::SolType>::RustType,
339 );
340 #[cfg(test)]
341 #[allow(dead_code, unreachable_patterns)]
342 fn _type_assertion(
343 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
344 ) {
345 match _t {
346 alloy_sol_types::private::AssertTypeEq::<
347 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
348 >(_) => {}
349 }
350 }
351 #[automatically_derived]
352 #[doc(hidden)]
353 impl ::core::convert::From<G1Point> for UnderlyingRustTuple<'_> {
354 fn from(value: G1Point) -> Self {
355 (value.x, value.y)
356 }
357 }
358 #[automatically_derived]
359 #[doc(hidden)]
360 impl ::core::convert::From<UnderlyingRustTuple<'_>> for G1Point {
361 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
362 Self { x: tuple.0, y: tuple.1 }
363 }
364 }
365 #[automatically_derived]
366 impl alloy_sol_types::SolValue for G1Point {
367 type SolType = Self;
368 }
369 #[automatically_derived]
370 impl alloy_sol_types::private::SolTypeValue<Self> for G1Point {
371 #[inline]
372 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
373 (
374 <BaseField as alloy_sol_types::SolType>::tokenize(&self.x),
375 <BaseField as alloy_sol_types::SolType>::tokenize(&self.y),
376 )
377 }
378 #[inline]
379 fn stv_abi_encoded_size(&self) -> usize {
380 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
381 return size;
382 }
383 let tuple = <UnderlyingRustTuple<
384 '_,
385 > as ::core::convert::From<Self>>::from(self.clone());
386 <UnderlyingSolTuple<
387 '_,
388 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
389 }
390 #[inline]
391 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
392 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
393 }
394 #[inline]
395 fn stv_abi_encode_packed_to(
396 &self,
397 out: &mut alloy_sol_types::private::Vec<u8>,
398 ) {
399 let tuple = <UnderlyingRustTuple<
400 '_,
401 > as ::core::convert::From<Self>>::from(self.clone());
402 <UnderlyingSolTuple<
403 '_,
404 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
405 }
406 #[inline]
407 fn stv_abi_packed_encoded_size(&self) -> usize {
408 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
409 return size;
410 }
411 let tuple = <UnderlyingRustTuple<
412 '_,
413 > as ::core::convert::From<Self>>::from(self.clone());
414 <UnderlyingSolTuple<
415 '_,
416 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
417 }
418 }
419 #[automatically_derived]
420 impl alloy_sol_types::SolType for G1Point {
421 type RustType = Self;
422 type Token<'a> = <UnderlyingSolTuple<
423 'a,
424 > as alloy_sol_types::SolType>::Token<'a>;
425 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
426 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
427 '_,
428 > as alloy_sol_types::SolType>::ENCODED_SIZE;
429 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
430 '_,
431 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
432 #[inline]
433 fn valid_token(token: &Self::Token<'_>) -> bool {
434 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
435 }
436 #[inline]
437 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
438 let tuple = <UnderlyingSolTuple<
439 '_,
440 > as alloy_sol_types::SolType>::detokenize(token);
441 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
442 }
443 }
444 #[automatically_derived]
445 impl alloy_sol_types::SolStruct for G1Point {
446 const NAME: &'static str = "G1Point";
447 #[inline]
448 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
449 alloy_sol_types::private::Cow::Borrowed("G1Point(uint256 x,uint256 y)")
450 }
451 #[inline]
452 fn eip712_components() -> alloy_sol_types::private::Vec<
453 alloy_sol_types::private::Cow<'static, str>,
454 > {
455 alloy_sol_types::private::Vec::new()
456 }
457 #[inline]
458 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
459 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
460 }
461 #[inline]
462 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
463 [
464 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.x).0,
465 <BaseField as alloy_sol_types::SolType>::eip712_data_word(&self.y).0,
466 ]
467 .concat()
468 }
469 }
470 #[automatically_derived]
471 impl alloy_sol_types::EventTopic for G1Point {
472 #[inline]
473 fn topic_preimage_length(rust: &Self::RustType) -> usize {
474 0usize
475 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
476 &rust.x,
477 )
478 + <BaseField as alloy_sol_types::EventTopic>::topic_preimage_length(
479 &rust.y,
480 )
481 }
482 #[inline]
483 fn encode_topic_preimage(
484 rust: &Self::RustType,
485 out: &mut alloy_sol_types::private::Vec<u8>,
486 ) {
487 out.reserve(
488 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
489 );
490 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
491 &rust.x,
492 out,
493 );
494 <BaseField as alloy_sol_types::EventTopic>::encode_topic_preimage(
495 &rust.y,
496 out,
497 );
498 }
499 #[inline]
500 fn encode_topic(
501 rust: &Self::RustType,
502 ) -> alloy_sol_types::abi::token::WordToken {
503 let mut out = alloy_sol_types::private::Vec::new();
504 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
505 rust,
506 &mut out,
507 );
508 alloy_sol_types::abi::token::WordToken(
509 alloy_sol_types::private::keccak256(out),
510 )
511 }
512 }
513 };
514 use alloy::contract as alloy_contract;
515 #[inline]
519 pub const fn new<
520 P: alloy_contract::private::Provider<N>,
521 N: alloy_contract::private::Network,
522 >(address: alloy_sol_types::private::Address, __provider: P) -> BN254Instance<P, N> {
523 BN254Instance::<P, N>::new(address, __provider)
524 }
525 #[derive(Clone)]
537 pub struct BN254Instance<P, N = alloy_contract::private::Ethereum> {
538 address: alloy_sol_types::private::Address,
539 provider: P,
540 _network: ::core::marker::PhantomData<N>,
541 }
542 #[automatically_derived]
543 impl<P, N> ::core::fmt::Debug for BN254Instance<P, N> {
544 #[inline]
545 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
546 f.debug_tuple("BN254Instance").field(&self.address).finish()
547 }
548 }
549 #[automatically_derived]
551 impl<
552 P: alloy_contract::private::Provider<N>,
553 N: alloy_contract::private::Network,
554 > BN254Instance<P, N> {
555 #[inline]
559 pub const fn new(
560 address: alloy_sol_types::private::Address,
561 __provider: P,
562 ) -> Self {
563 Self {
564 address,
565 provider: __provider,
566 _network: ::core::marker::PhantomData,
567 }
568 }
569 #[inline]
571 pub const fn address(&self) -> &alloy_sol_types::private::Address {
572 &self.address
573 }
574 #[inline]
576 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
577 self.address = address;
578 }
579 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
581 self.set_address(address);
582 self
583 }
584 #[inline]
586 pub const fn provider(&self) -> &P {
587 &self.provider
588 }
589 }
590 impl<P: ::core::clone::Clone, N> BN254Instance<&P, N> {
591 #[inline]
593 pub fn with_cloned_provider(self) -> BN254Instance<P, N> {
594 BN254Instance {
595 address: self.address,
596 provider: ::core::clone::Clone::clone(&self.provider),
597 _network: ::core::marker::PhantomData,
598 }
599 }
600 }
601 #[automatically_derived]
603 impl<
604 P: alloy_contract::private::Provider<N>,
605 N: alloy_contract::private::Network,
606 > BN254Instance<P, N> {
607 pub fn call_builder<C: alloy_sol_types::SolCall>(
612 &self,
613 call: &C,
614 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
615 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
616 }
617 }
618 #[automatically_derived]
620 impl<
621 P: alloy_contract::private::Provider<N>,
622 N: alloy_contract::private::Network,
623 > BN254Instance<P, N> {
624 pub fn event_filter<E: alloy_sol_types::SolEvent>(
629 &self,
630 ) -> alloy_contract::Event<&P, E, N> {
631 alloy_contract::Event::new_sol(&self.provider, &self.address)
632 }
633 }
634}
635#[allow(
645 non_camel_case_types,
646 non_snake_case,
647 clippy::pub_underscore_fields,
648 clippy::style,
649 clippy::empty_structs_with_brackets
650)]
651pub mod IPlonkVerifier {
652 use super::*;
653 use alloy::sol_types as alloy_sol_types;
654 #[derive(serde::Serialize, serde::Deserialize)]
655 #[derive()]
656 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
660 #[derive(Clone)]
661 pub struct PlonkProof {
662 #[allow(missing_docs)]
663 pub wire0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
664 #[allow(missing_docs)]
665 pub wire1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
666 #[allow(missing_docs)]
667 pub wire2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
668 #[allow(missing_docs)]
669 pub wire3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
670 #[allow(missing_docs)]
671 pub wire4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
672 #[allow(missing_docs)]
673 pub prodPerm: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
674 #[allow(missing_docs)]
675 pub split0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
676 #[allow(missing_docs)]
677 pub split1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
678 #[allow(missing_docs)]
679 pub split2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
680 #[allow(missing_docs)]
681 pub split3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
682 #[allow(missing_docs)]
683 pub split4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
684 #[allow(missing_docs)]
685 pub zeta: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
686 #[allow(missing_docs)]
687 pub zetaOmega: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
688 #[allow(missing_docs)]
689 pub wireEval0: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
690 #[allow(missing_docs)]
691 pub wireEval1: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
692 #[allow(missing_docs)]
693 pub wireEval2: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
694 #[allow(missing_docs)]
695 pub wireEval3: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
696 #[allow(missing_docs)]
697 pub wireEval4: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
698 #[allow(missing_docs)]
699 pub sigmaEval0: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
700 #[allow(missing_docs)]
701 pub sigmaEval1: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
702 #[allow(missing_docs)]
703 pub sigmaEval2: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
704 #[allow(missing_docs)]
705 pub sigmaEval3: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
706 #[allow(missing_docs)]
707 pub prodPermZetaOmegaEval: <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
708 }
709 #[allow(
710 non_camel_case_types,
711 non_snake_case,
712 clippy::pub_underscore_fields,
713 clippy::style
714 )]
715 const _: () = {
716 use alloy::sol_types as alloy_sol_types;
717 #[doc(hidden)]
718 #[allow(dead_code)]
719 type UnderlyingSolTuple<'a> = (
720 BN254::G1Point,
721 BN254::G1Point,
722 BN254::G1Point,
723 BN254::G1Point,
724 BN254::G1Point,
725 BN254::G1Point,
726 BN254::G1Point,
727 BN254::G1Point,
728 BN254::G1Point,
729 BN254::G1Point,
730 BN254::G1Point,
731 BN254::G1Point,
732 BN254::G1Point,
733 BN254::ScalarField,
734 BN254::ScalarField,
735 BN254::ScalarField,
736 BN254::ScalarField,
737 BN254::ScalarField,
738 BN254::ScalarField,
739 BN254::ScalarField,
740 BN254::ScalarField,
741 BN254::ScalarField,
742 BN254::ScalarField,
743 );
744 #[doc(hidden)]
745 type UnderlyingRustTuple<'a> = (
746 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
747 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
748 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
749 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
750 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
751 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
752 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
753 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
754 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
755 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
756 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
757 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
758 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
759 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
760 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
761 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
762 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
763 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
764 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
765 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
766 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
767 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
768 <BN254::ScalarField as alloy::sol_types::SolType>::RustType,
769 );
770 #[cfg(test)]
771 #[allow(dead_code, unreachable_patterns)]
772 fn _type_assertion(
773 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
774 ) {
775 match _t {
776 alloy_sol_types::private::AssertTypeEq::<
777 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
778 >(_) => {}
779 }
780 }
781 #[automatically_derived]
782 #[doc(hidden)]
783 impl ::core::convert::From<PlonkProof> for UnderlyingRustTuple<'_> {
784 fn from(value: PlonkProof) -> Self {
785 (
786 value.wire0,
787 value.wire1,
788 value.wire2,
789 value.wire3,
790 value.wire4,
791 value.prodPerm,
792 value.split0,
793 value.split1,
794 value.split2,
795 value.split3,
796 value.split4,
797 value.zeta,
798 value.zetaOmega,
799 value.wireEval0,
800 value.wireEval1,
801 value.wireEval2,
802 value.wireEval3,
803 value.wireEval4,
804 value.sigmaEval0,
805 value.sigmaEval1,
806 value.sigmaEval2,
807 value.sigmaEval3,
808 value.prodPermZetaOmegaEval,
809 )
810 }
811 }
812 #[automatically_derived]
813 #[doc(hidden)]
814 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PlonkProof {
815 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
816 Self {
817 wire0: tuple.0,
818 wire1: tuple.1,
819 wire2: tuple.2,
820 wire3: tuple.3,
821 wire4: tuple.4,
822 prodPerm: tuple.5,
823 split0: tuple.6,
824 split1: tuple.7,
825 split2: tuple.8,
826 split3: tuple.9,
827 split4: tuple.10,
828 zeta: tuple.11,
829 zetaOmega: tuple.12,
830 wireEval0: tuple.13,
831 wireEval1: tuple.14,
832 wireEval2: tuple.15,
833 wireEval3: tuple.16,
834 wireEval4: tuple.17,
835 sigmaEval0: tuple.18,
836 sigmaEval1: tuple.19,
837 sigmaEval2: tuple.20,
838 sigmaEval3: tuple.21,
839 prodPermZetaOmegaEval: tuple.22,
840 }
841 }
842 }
843 #[automatically_derived]
844 impl alloy_sol_types::SolValue for PlonkProof {
845 type SolType = Self;
846 }
847 #[automatically_derived]
848 impl alloy_sol_types::private::SolTypeValue<Self> for PlonkProof {
849 #[inline]
850 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
851 (
852 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire0),
853 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire1),
854 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire2),
855 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire3),
856 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.wire4),
857 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
858 &self.prodPerm,
859 ),
860 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split0),
861 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split1),
862 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split2),
863 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split3),
864 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.split4),
865 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.zeta),
866 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(
867 &self.zetaOmega,
868 ),
869 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
870 &self.wireEval0,
871 ),
872 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
873 &self.wireEval1,
874 ),
875 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
876 &self.wireEval2,
877 ),
878 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
879 &self.wireEval3,
880 ),
881 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
882 &self.wireEval4,
883 ),
884 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
885 &self.sigmaEval0,
886 ),
887 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
888 &self.sigmaEval1,
889 ),
890 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
891 &self.sigmaEval2,
892 ),
893 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
894 &self.sigmaEval3,
895 ),
896 <BN254::ScalarField as alloy_sol_types::SolType>::tokenize(
897 &self.prodPermZetaOmegaEval,
898 ),
899 )
900 }
901 #[inline]
902 fn stv_abi_encoded_size(&self) -> usize {
903 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
904 return size;
905 }
906 let tuple = <UnderlyingRustTuple<
907 '_,
908 > as ::core::convert::From<Self>>::from(self.clone());
909 <UnderlyingSolTuple<
910 '_,
911 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
912 }
913 #[inline]
914 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
915 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
916 }
917 #[inline]
918 fn stv_abi_encode_packed_to(
919 &self,
920 out: &mut alloy_sol_types::private::Vec<u8>,
921 ) {
922 let tuple = <UnderlyingRustTuple<
923 '_,
924 > as ::core::convert::From<Self>>::from(self.clone());
925 <UnderlyingSolTuple<
926 '_,
927 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
928 }
929 #[inline]
930 fn stv_abi_packed_encoded_size(&self) -> usize {
931 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
932 return size;
933 }
934 let tuple = <UnderlyingRustTuple<
935 '_,
936 > as ::core::convert::From<Self>>::from(self.clone());
937 <UnderlyingSolTuple<
938 '_,
939 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
940 }
941 }
942 #[automatically_derived]
943 impl alloy_sol_types::SolType for PlonkProof {
944 type RustType = Self;
945 type Token<'a> = <UnderlyingSolTuple<
946 'a,
947 > as alloy_sol_types::SolType>::Token<'a>;
948 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
949 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
950 '_,
951 > as alloy_sol_types::SolType>::ENCODED_SIZE;
952 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
953 '_,
954 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
955 #[inline]
956 fn valid_token(token: &Self::Token<'_>) -> bool {
957 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
958 }
959 #[inline]
960 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
961 let tuple = <UnderlyingSolTuple<
962 '_,
963 > as alloy_sol_types::SolType>::detokenize(token);
964 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
965 }
966 }
967 #[automatically_derived]
968 impl alloy_sol_types::SolStruct for PlonkProof {
969 const NAME: &'static str = "PlonkProof";
970 #[inline]
971 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
972 alloy_sol_types::private::Cow::Borrowed(
973 "PlonkProof(G1Point wire0,G1Point wire1,G1Point wire2,G1Point wire3,G1Point wire4,G1Point prodPerm,G1Point split0,G1Point split1,G1Point split2,G1Point split3,G1Point split4,G1Point zeta,G1Point zetaOmega,uint256 wireEval0,uint256 wireEval1,uint256 wireEval2,uint256 wireEval3,uint256 wireEval4,uint256 sigmaEval0,uint256 sigmaEval1,uint256 sigmaEval2,uint256 sigmaEval3,uint256 prodPermZetaOmegaEval)",
974 )
975 }
976 #[inline]
977 fn eip712_components() -> alloy_sol_types::private::Vec<
978 alloy_sol_types::private::Cow<'static, str>,
979 > {
980 let mut components = alloy_sol_types::private::Vec::with_capacity(13);
981 components
982 .push(
983 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
984 );
985 components
986 .extend(
987 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
988 );
989 components
990 .push(
991 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
992 );
993 components
994 .extend(
995 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
996 );
997 components
998 .push(
999 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1000 );
1001 components
1002 .extend(
1003 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1004 );
1005 components
1006 .push(
1007 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1008 );
1009 components
1010 .extend(
1011 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1012 );
1013 components
1014 .push(
1015 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1016 );
1017 components
1018 .extend(
1019 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1020 );
1021 components
1022 .push(
1023 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1024 );
1025 components
1026 .extend(
1027 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1028 );
1029 components
1030 .push(
1031 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1032 );
1033 components
1034 .extend(
1035 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1036 );
1037 components
1038 .push(
1039 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1040 );
1041 components
1042 .extend(
1043 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1044 );
1045 components
1046 .push(
1047 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1048 );
1049 components
1050 .extend(
1051 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1052 );
1053 components
1054 .push(
1055 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1056 );
1057 components
1058 .extend(
1059 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1060 );
1061 components
1062 .push(
1063 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1064 );
1065 components
1066 .extend(
1067 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1068 );
1069 components
1070 .push(
1071 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1072 );
1073 components
1074 .extend(
1075 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1076 );
1077 components
1078 .push(
1079 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1080 );
1081 components
1082 .extend(
1083 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1084 );
1085 components
1086 }
1087 #[inline]
1088 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1089 [
1090 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1091 &self.wire0,
1092 )
1093 .0,
1094 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1095 &self.wire1,
1096 )
1097 .0,
1098 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1099 &self.wire2,
1100 )
1101 .0,
1102 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1103 &self.wire3,
1104 )
1105 .0,
1106 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1107 &self.wire4,
1108 )
1109 .0,
1110 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1111 &self.prodPerm,
1112 )
1113 .0,
1114 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1115 &self.split0,
1116 )
1117 .0,
1118 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1119 &self.split1,
1120 )
1121 .0,
1122 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1123 &self.split2,
1124 )
1125 .0,
1126 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1127 &self.split3,
1128 )
1129 .0,
1130 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1131 &self.split4,
1132 )
1133 .0,
1134 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1135 &self.zeta,
1136 )
1137 .0,
1138 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1139 &self.zetaOmega,
1140 )
1141 .0,
1142 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1143 &self.wireEval0,
1144 )
1145 .0,
1146 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1147 &self.wireEval1,
1148 )
1149 .0,
1150 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1151 &self.wireEval2,
1152 )
1153 .0,
1154 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1155 &self.wireEval3,
1156 )
1157 .0,
1158 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1159 &self.wireEval4,
1160 )
1161 .0,
1162 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1163 &self.sigmaEval0,
1164 )
1165 .0,
1166 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1167 &self.sigmaEval1,
1168 )
1169 .0,
1170 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1171 &self.sigmaEval2,
1172 )
1173 .0,
1174 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1175 &self.sigmaEval3,
1176 )
1177 .0,
1178 <BN254::ScalarField as alloy_sol_types::SolType>::eip712_data_word(
1179 &self.prodPermZetaOmegaEval,
1180 )
1181 .0,
1182 ]
1183 .concat()
1184 }
1185 }
1186 #[automatically_derived]
1187 impl alloy_sol_types::EventTopic for PlonkProof {
1188 #[inline]
1189 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1190 0usize
1191 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1192 &rust.wire0,
1193 )
1194 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1195 &rust.wire1,
1196 )
1197 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1198 &rust.wire2,
1199 )
1200 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1201 &rust.wire3,
1202 )
1203 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1204 &rust.wire4,
1205 )
1206 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1207 &rust.prodPerm,
1208 )
1209 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1210 &rust.split0,
1211 )
1212 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1213 &rust.split1,
1214 )
1215 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1216 &rust.split2,
1217 )
1218 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1219 &rust.split3,
1220 )
1221 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1222 &rust.split4,
1223 )
1224 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1225 &rust.zeta,
1226 )
1227 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1228 &rust.zetaOmega,
1229 )
1230 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1231 &rust.wireEval0,
1232 )
1233 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1234 &rust.wireEval1,
1235 )
1236 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1237 &rust.wireEval2,
1238 )
1239 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1240 &rust.wireEval3,
1241 )
1242 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1243 &rust.wireEval4,
1244 )
1245 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1246 &rust.sigmaEval0,
1247 )
1248 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1249 &rust.sigmaEval1,
1250 )
1251 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1252 &rust.sigmaEval2,
1253 )
1254 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1255 &rust.sigmaEval3,
1256 )
1257 + <BN254::ScalarField as alloy_sol_types::EventTopic>::topic_preimage_length(
1258 &rust.prodPermZetaOmegaEval,
1259 )
1260 }
1261 #[inline]
1262 fn encode_topic_preimage(
1263 rust: &Self::RustType,
1264 out: &mut alloy_sol_types::private::Vec<u8>,
1265 ) {
1266 out.reserve(
1267 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
1268 );
1269 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1270 &rust.wire0,
1271 out,
1272 );
1273 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1274 &rust.wire1,
1275 out,
1276 );
1277 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1278 &rust.wire2,
1279 out,
1280 );
1281 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1282 &rust.wire3,
1283 out,
1284 );
1285 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1286 &rust.wire4,
1287 out,
1288 );
1289 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1290 &rust.prodPerm,
1291 out,
1292 );
1293 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1294 &rust.split0,
1295 out,
1296 );
1297 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1298 &rust.split1,
1299 out,
1300 );
1301 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1302 &rust.split2,
1303 out,
1304 );
1305 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1306 &rust.split3,
1307 out,
1308 );
1309 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1310 &rust.split4,
1311 out,
1312 );
1313 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1314 &rust.zeta,
1315 out,
1316 );
1317 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
1318 &rust.zetaOmega,
1319 out,
1320 );
1321 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1322 &rust.wireEval0,
1323 out,
1324 );
1325 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1326 &rust.wireEval1,
1327 out,
1328 );
1329 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1330 &rust.wireEval2,
1331 out,
1332 );
1333 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1334 &rust.wireEval3,
1335 out,
1336 );
1337 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1338 &rust.wireEval4,
1339 out,
1340 );
1341 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1342 &rust.sigmaEval0,
1343 out,
1344 );
1345 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1346 &rust.sigmaEval1,
1347 out,
1348 );
1349 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1350 &rust.sigmaEval2,
1351 out,
1352 );
1353 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1354 &rust.sigmaEval3,
1355 out,
1356 );
1357 <BN254::ScalarField as alloy_sol_types::EventTopic>::encode_topic_preimage(
1358 &rust.prodPermZetaOmegaEval,
1359 out,
1360 );
1361 }
1362 #[inline]
1363 fn encode_topic(
1364 rust: &Self::RustType,
1365 ) -> alloy_sol_types::abi::token::WordToken {
1366 let mut out = alloy_sol_types::private::Vec::new();
1367 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
1368 rust,
1369 &mut out,
1370 );
1371 alloy_sol_types::abi::token::WordToken(
1372 alloy_sol_types::private::keccak256(out),
1373 )
1374 }
1375 }
1376 };
1377 #[derive(serde::Serialize, serde::Deserialize)]
1378 #[derive()]
1379 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1383 #[derive(Clone)]
1384 pub struct VerifyingKey {
1385 #[allow(missing_docs)]
1386 pub domainSize: alloy::sol_types::private::primitives::aliases::U256,
1387 #[allow(missing_docs)]
1388 pub numInputs: alloy::sol_types::private::primitives::aliases::U256,
1389 #[allow(missing_docs)]
1390 pub sigma0: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1391 #[allow(missing_docs)]
1392 pub sigma1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1393 #[allow(missing_docs)]
1394 pub sigma2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1395 #[allow(missing_docs)]
1396 pub sigma3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1397 #[allow(missing_docs)]
1398 pub sigma4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1399 #[allow(missing_docs)]
1400 pub q1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1401 #[allow(missing_docs)]
1402 pub q2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1403 #[allow(missing_docs)]
1404 pub q3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1405 #[allow(missing_docs)]
1406 pub q4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1407 #[allow(missing_docs)]
1408 pub qM12: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1409 #[allow(missing_docs)]
1410 pub qM34: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1411 #[allow(missing_docs)]
1412 pub qO: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1413 #[allow(missing_docs)]
1414 pub qC: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1415 #[allow(missing_docs)]
1416 pub qH1: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1417 #[allow(missing_docs)]
1418 pub qH2: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1419 #[allow(missing_docs)]
1420 pub qH3: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1421 #[allow(missing_docs)]
1422 pub qH4: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1423 #[allow(missing_docs)]
1424 pub qEcc: <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1425 #[allow(missing_docs)]
1426 pub g2LSB: alloy::sol_types::private::FixedBytes<32>,
1427 #[allow(missing_docs)]
1428 pub g2MSB: alloy::sol_types::private::FixedBytes<32>,
1429 }
1430 #[allow(
1431 non_camel_case_types,
1432 non_snake_case,
1433 clippy::pub_underscore_fields,
1434 clippy::style
1435 )]
1436 const _: () = {
1437 use alloy::sol_types as alloy_sol_types;
1438 #[doc(hidden)]
1439 #[allow(dead_code)]
1440 type UnderlyingSolTuple<'a> = (
1441 alloy::sol_types::sol_data::Uint<256>,
1442 alloy::sol_types::sol_data::Uint<256>,
1443 BN254::G1Point,
1444 BN254::G1Point,
1445 BN254::G1Point,
1446 BN254::G1Point,
1447 BN254::G1Point,
1448 BN254::G1Point,
1449 BN254::G1Point,
1450 BN254::G1Point,
1451 BN254::G1Point,
1452 BN254::G1Point,
1453 BN254::G1Point,
1454 BN254::G1Point,
1455 BN254::G1Point,
1456 BN254::G1Point,
1457 BN254::G1Point,
1458 BN254::G1Point,
1459 BN254::G1Point,
1460 BN254::G1Point,
1461 alloy::sol_types::sol_data::FixedBytes<32>,
1462 alloy::sol_types::sol_data::FixedBytes<32>,
1463 );
1464 #[doc(hidden)]
1465 type UnderlyingRustTuple<'a> = (
1466 alloy::sol_types::private::primitives::aliases::U256,
1467 alloy::sol_types::private::primitives::aliases::U256,
1468 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1469 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1470 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1471 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1472 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1473 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1474 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1475 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1476 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1477 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1478 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1479 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1480 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1481 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1482 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1483 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1484 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1485 <BN254::G1Point as alloy::sol_types::SolType>::RustType,
1486 alloy::sol_types::private::FixedBytes<32>,
1487 alloy::sol_types::private::FixedBytes<32>,
1488 );
1489 #[cfg(test)]
1490 #[allow(dead_code, unreachable_patterns)]
1491 fn _type_assertion(
1492 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1493 ) {
1494 match _t {
1495 alloy_sol_types::private::AssertTypeEq::<
1496 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1497 >(_) => {}
1498 }
1499 }
1500 #[automatically_derived]
1501 #[doc(hidden)]
1502 impl ::core::convert::From<VerifyingKey> for UnderlyingRustTuple<'_> {
1503 fn from(value: VerifyingKey) -> Self {
1504 (
1505 value.domainSize,
1506 value.numInputs,
1507 value.sigma0,
1508 value.sigma1,
1509 value.sigma2,
1510 value.sigma3,
1511 value.sigma4,
1512 value.q1,
1513 value.q2,
1514 value.q3,
1515 value.q4,
1516 value.qM12,
1517 value.qM34,
1518 value.qO,
1519 value.qC,
1520 value.qH1,
1521 value.qH2,
1522 value.qH3,
1523 value.qH4,
1524 value.qEcc,
1525 value.g2LSB,
1526 value.g2MSB,
1527 )
1528 }
1529 }
1530 #[automatically_derived]
1531 #[doc(hidden)]
1532 impl ::core::convert::From<UnderlyingRustTuple<'_>> for VerifyingKey {
1533 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1534 Self {
1535 domainSize: tuple.0,
1536 numInputs: tuple.1,
1537 sigma0: tuple.2,
1538 sigma1: tuple.3,
1539 sigma2: tuple.4,
1540 sigma3: tuple.5,
1541 sigma4: tuple.6,
1542 q1: tuple.7,
1543 q2: tuple.8,
1544 q3: tuple.9,
1545 q4: tuple.10,
1546 qM12: tuple.11,
1547 qM34: tuple.12,
1548 qO: tuple.13,
1549 qC: tuple.14,
1550 qH1: tuple.15,
1551 qH2: tuple.16,
1552 qH3: tuple.17,
1553 qH4: tuple.18,
1554 qEcc: tuple.19,
1555 g2LSB: tuple.20,
1556 g2MSB: tuple.21,
1557 }
1558 }
1559 }
1560 #[automatically_derived]
1561 impl alloy_sol_types::SolValue for VerifyingKey {
1562 type SolType = Self;
1563 }
1564 #[automatically_derived]
1565 impl alloy_sol_types::private::SolTypeValue<Self> for VerifyingKey {
1566 #[inline]
1567 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
1568 (
1569 <alloy::sol_types::sol_data::Uint<
1570 256,
1571 > as alloy_sol_types::SolType>::tokenize(&self.domainSize),
1572 <alloy::sol_types::sol_data::Uint<
1573 256,
1574 > as alloy_sol_types::SolType>::tokenize(&self.numInputs),
1575 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma0),
1576 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma1),
1577 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma2),
1578 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma3),
1579 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.sigma4),
1580 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q1),
1581 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q2),
1582 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q3),
1583 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.q4),
1584 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qM12),
1585 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qM34),
1586 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qO),
1587 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qC),
1588 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH1),
1589 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH2),
1590 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH3),
1591 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qH4),
1592 <BN254::G1Point as alloy_sol_types::SolType>::tokenize(&self.qEcc),
1593 <alloy::sol_types::sol_data::FixedBytes<
1594 32,
1595 > as alloy_sol_types::SolType>::tokenize(&self.g2LSB),
1596 <alloy::sol_types::sol_data::FixedBytes<
1597 32,
1598 > as alloy_sol_types::SolType>::tokenize(&self.g2MSB),
1599 )
1600 }
1601 #[inline]
1602 fn stv_abi_encoded_size(&self) -> usize {
1603 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
1604 return size;
1605 }
1606 let tuple = <UnderlyingRustTuple<
1607 '_,
1608 > as ::core::convert::From<Self>>::from(self.clone());
1609 <UnderlyingSolTuple<
1610 '_,
1611 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
1612 }
1613 #[inline]
1614 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
1615 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
1616 }
1617 #[inline]
1618 fn stv_abi_encode_packed_to(
1619 &self,
1620 out: &mut alloy_sol_types::private::Vec<u8>,
1621 ) {
1622 let tuple = <UnderlyingRustTuple<
1623 '_,
1624 > as ::core::convert::From<Self>>::from(self.clone());
1625 <UnderlyingSolTuple<
1626 '_,
1627 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
1628 }
1629 #[inline]
1630 fn stv_abi_packed_encoded_size(&self) -> usize {
1631 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
1632 return size;
1633 }
1634 let tuple = <UnderlyingRustTuple<
1635 '_,
1636 > as ::core::convert::From<Self>>::from(self.clone());
1637 <UnderlyingSolTuple<
1638 '_,
1639 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
1640 }
1641 }
1642 #[automatically_derived]
1643 impl alloy_sol_types::SolType for VerifyingKey {
1644 type RustType = Self;
1645 type Token<'a> = <UnderlyingSolTuple<
1646 'a,
1647 > as alloy_sol_types::SolType>::Token<'a>;
1648 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
1649 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1650 '_,
1651 > as alloy_sol_types::SolType>::ENCODED_SIZE;
1652 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
1653 '_,
1654 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
1655 #[inline]
1656 fn valid_token(token: &Self::Token<'_>) -> bool {
1657 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
1658 }
1659 #[inline]
1660 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
1661 let tuple = <UnderlyingSolTuple<
1662 '_,
1663 > as alloy_sol_types::SolType>::detokenize(token);
1664 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
1665 }
1666 }
1667 #[automatically_derived]
1668 impl alloy_sol_types::SolStruct for VerifyingKey {
1669 const NAME: &'static str = "VerifyingKey";
1670 #[inline]
1671 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
1672 alloy_sol_types::private::Cow::Borrowed(
1673 "VerifyingKey(uint256 domainSize,uint256 numInputs,G1Point sigma0,G1Point sigma1,G1Point sigma2,G1Point sigma3,G1Point sigma4,G1Point q1,G1Point q2,G1Point q3,G1Point q4,G1Point qM12,G1Point qM34,G1Point qO,G1Point qC,G1Point qH1,G1Point qH2,G1Point qH3,G1Point qH4,G1Point qEcc,bytes32 g2LSB,bytes32 g2MSB)",
1674 )
1675 }
1676 #[inline]
1677 fn eip712_components() -> alloy_sol_types::private::Vec<
1678 alloy_sol_types::private::Cow<'static, str>,
1679 > {
1680 let mut components = alloy_sol_types::private::Vec::with_capacity(18);
1681 components
1682 .push(
1683 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1684 );
1685 components
1686 .extend(
1687 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1688 );
1689 components
1690 .push(
1691 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1692 );
1693 components
1694 .extend(
1695 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1696 );
1697 components
1698 .push(
1699 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1700 );
1701 components
1702 .extend(
1703 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1704 );
1705 components
1706 .push(
1707 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1708 );
1709 components
1710 .extend(
1711 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1712 );
1713 components
1714 .push(
1715 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1716 );
1717 components
1718 .extend(
1719 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1720 );
1721 components
1722 .push(
1723 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1724 );
1725 components
1726 .extend(
1727 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1728 );
1729 components
1730 .push(
1731 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1732 );
1733 components
1734 .extend(
1735 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1736 );
1737 components
1738 .push(
1739 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1740 );
1741 components
1742 .extend(
1743 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1744 );
1745 components
1746 .push(
1747 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1748 );
1749 components
1750 .extend(
1751 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1752 );
1753 components
1754 .push(
1755 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1756 );
1757 components
1758 .extend(
1759 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1760 );
1761 components
1762 .push(
1763 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1764 );
1765 components
1766 .extend(
1767 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1768 );
1769 components
1770 .push(
1771 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1772 );
1773 components
1774 .extend(
1775 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1776 );
1777 components
1778 .push(
1779 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1780 );
1781 components
1782 .extend(
1783 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1784 );
1785 components
1786 .push(
1787 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1788 );
1789 components
1790 .extend(
1791 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1792 );
1793 components
1794 .push(
1795 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1796 );
1797 components
1798 .extend(
1799 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1800 );
1801 components
1802 .push(
1803 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1804 );
1805 components
1806 .extend(
1807 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1808 );
1809 components
1810 .push(
1811 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1812 );
1813 components
1814 .extend(
1815 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1816 );
1817 components
1818 .push(
1819 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_root_type(),
1820 );
1821 components
1822 .extend(
1823 <BN254::G1Point as alloy_sol_types::SolStruct>::eip712_components(),
1824 );
1825 components
1826 }
1827 #[inline]
1828 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
1829 [
1830 <alloy::sol_types::sol_data::Uint<
1831 256,
1832 > as alloy_sol_types::SolType>::eip712_data_word(&self.domainSize)
1833 .0,
1834 <alloy::sol_types::sol_data::Uint<
1835 256,
1836 > as alloy_sol_types::SolType>::eip712_data_word(&self.numInputs)
1837 .0,
1838 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1839 &self.sigma0,
1840 )
1841 .0,
1842 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1843 &self.sigma1,
1844 )
1845 .0,
1846 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1847 &self.sigma2,
1848 )
1849 .0,
1850 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1851 &self.sigma3,
1852 )
1853 .0,
1854 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1855 &self.sigma4,
1856 )
1857 .0,
1858 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1859 &self.q1,
1860 )
1861 .0,
1862 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1863 &self.q2,
1864 )
1865 .0,
1866 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1867 &self.q3,
1868 )
1869 .0,
1870 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1871 &self.q4,
1872 )
1873 .0,
1874 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1875 &self.qM12,
1876 )
1877 .0,
1878 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1879 &self.qM34,
1880 )
1881 .0,
1882 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1883 &self.qO,
1884 )
1885 .0,
1886 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1887 &self.qC,
1888 )
1889 .0,
1890 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1891 &self.qH1,
1892 )
1893 .0,
1894 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1895 &self.qH2,
1896 )
1897 .0,
1898 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1899 &self.qH3,
1900 )
1901 .0,
1902 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1903 &self.qH4,
1904 )
1905 .0,
1906 <BN254::G1Point as alloy_sol_types::SolType>::eip712_data_word(
1907 &self.qEcc,
1908 )
1909 .0,
1910 <alloy::sol_types::sol_data::FixedBytes<
1911 32,
1912 > as alloy_sol_types::SolType>::eip712_data_word(&self.g2LSB)
1913 .0,
1914 <alloy::sol_types::sol_data::FixedBytes<
1915 32,
1916 > as alloy_sol_types::SolType>::eip712_data_word(&self.g2MSB)
1917 .0,
1918 ]
1919 .concat()
1920 }
1921 }
1922 #[automatically_derived]
1923 impl alloy_sol_types::EventTopic for VerifyingKey {
1924 #[inline]
1925 fn topic_preimage_length(rust: &Self::RustType) -> usize {
1926 0usize
1927 + <alloy::sol_types::sol_data::Uint<
1928 256,
1929 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1930 &rust.domainSize,
1931 )
1932 + <alloy::sol_types::sol_data::Uint<
1933 256,
1934 > as alloy_sol_types::EventTopic>::topic_preimage_length(
1935 &rust.numInputs,
1936 )
1937 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1938 &rust.sigma0,
1939 )
1940 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1941 &rust.sigma1,
1942 )
1943 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1944 &rust.sigma2,
1945 )
1946 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1947 &rust.sigma3,
1948 )
1949 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1950 &rust.sigma4,
1951 )
1952 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1953 &rust.q1,
1954 )
1955 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1956 &rust.q2,
1957 )
1958 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1959 &rust.q3,
1960 )
1961 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1962 &rust.q4,
1963 )
1964 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1965 &rust.qM12,
1966 )
1967 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1968 &rust.qM34,
1969 )
1970 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1971 &rust.qO,
1972 )
1973 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1974 &rust.qC,
1975 )
1976 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1977 &rust.qH1,
1978 )
1979 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1980 &rust.qH2,
1981 )
1982 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1983 &rust.qH3,
1984 )
1985 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1986 &rust.qH4,
1987 )
1988 + <BN254::G1Point as alloy_sol_types::EventTopic>::topic_preimage_length(
1989 &rust.qEcc,
1990 )
1991 + <alloy::sol_types::sol_data::FixedBytes<
1992 32,
1993 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.g2LSB)
1994 + <alloy::sol_types::sol_data::FixedBytes<
1995 32,
1996 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.g2MSB)
1997 }
1998 #[inline]
1999 fn encode_topic_preimage(
2000 rust: &Self::RustType,
2001 out: &mut alloy_sol_types::private::Vec<u8>,
2002 ) {
2003 out.reserve(
2004 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
2005 );
2006 <alloy::sol_types::sol_data::Uint<
2007 256,
2008 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2009 &rust.domainSize,
2010 out,
2011 );
2012 <alloy::sol_types::sol_data::Uint<
2013 256,
2014 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2015 &rust.numInputs,
2016 out,
2017 );
2018 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2019 &rust.sigma0,
2020 out,
2021 );
2022 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2023 &rust.sigma1,
2024 out,
2025 );
2026 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2027 &rust.sigma2,
2028 out,
2029 );
2030 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2031 &rust.sigma3,
2032 out,
2033 );
2034 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2035 &rust.sigma4,
2036 out,
2037 );
2038 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2039 &rust.q1,
2040 out,
2041 );
2042 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2043 &rust.q2,
2044 out,
2045 );
2046 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2047 &rust.q3,
2048 out,
2049 );
2050 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2051 &rust.q4,
2052 out,
2053 );
2054 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2055 &rust.qM12,
2056 out,
2057 );
2058 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2059 &rust.qM34,
2060 out,
2061 );
2062 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2063 &rust.qO,
2064 out,
2065 );
2066 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2067 &rust.qC,
2068 out,
2069 );
2070 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2071 &rust.qH1,
2072 out,
2073 );
2074 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2075 &rust.qH2,
2076 out,
2077 );
2078 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2079 &rust.qH3,
2080 out,
2081 );
2082 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2083 &rust.qH4,
2084 out,
2085 );
2086 <BN254::G1Point as alloy_sol_types::EventTopic>::encode_topic_preimage(
2087 &rust.qEcc,
2088 out,
2089 );
2090 <alloy::sol_types::sol_data::FixedBytes<
2091 32,
2092 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2093 &rust.g2LSB,
2094 out,
2095 );
2096 <alloy::sol_types::sol_data::FixedBytes<
2097 32,
2098 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
2099 &rust.g2MSB,
2100 out,
2101 );
2102 }
2103 #[inline]
2104 fn encode_topic(
2105 rust: &Self::RustType,
2106 ) -> alloy_sol_types::abi::token::WordToken {
2107 let mut out = alloy_sol_types::private::Vec::new();
2108 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
2109 rust,
2110 &mut out,
2111 );
2112 alloy_sol_types::abi::token::WordToken(
2113 alloy_sol_types::private::keccak256(out),
2114 )
2115 }
2116 }
2117 };
2118 use alloy::contract as alloy_contract;
2119 #[inline]
2123 pub const fn new<
2124 P: alloy_contract::private::Provider<N>,
2125 N: alloy_contract::private::Network,
2126 >(
2127 address: alloy_sol_types::private::Address,
2128 __provider: P,
2129 ) -> IPlonkVerifierInstance<P, N> {
2130 IPlonkVerifierInstance::<P, N>::new(address, __provider)
2131 }
2132 #[derive(Clone)]
2144 pub struct IPlonkVerifierInstance<P, N = alloy_contract::private::Ethereum> {
2145 address: alloy_sol_types::private::Address,
2146 provider: P,
2147 _network: ::core::marker::PhantomData<N>,
2148 }
2149 #[automatically_derived]
2150 impl<P, N> ::core::fmt::Debug for IPlonkVerifierInstance<P, N> {
2151 #[inline]
2152 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2153 f.debug_tuple("IPlonkVerifierInstance").field(&self.address).finish()
2154 }
2155 }
2156 #[automatically_derived]
2158 impl<
2159 P: alloy_contract::private::Provider<N>,
2160 N: alloy_contract::private::Network,
2161 > IPlonkVerifierInstance<P, N> {
2162 #[inline]
2166 pub const fn new(
2167 address: alloy_sol_types::private::Address,
2168 __provider: P,
2169 ) -> Self {
2170 Self {
2171 address,
2172 provider: __provider,
2173 _network: ::core::marker::PhantomData,
2174 }
2175 }
2176 #[inline]
2178 pub const fn address(&self) -> &alloy_sol_types::private::Address {
2179 &self.address
2180 }
2181 #[inline]
2183 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
2184 self.address = address;
2185 }
2186 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
2188 self.set_address(address);
2189 self
2190 }
2191 #[inline]
2193 pub const fn provider(&self) -> &P {
2194 &self.provider
2195 }
2196 }
2197 impl<P: ::core::clone::Clone, N> IPlonkVerifierInstance<&P, N> {
2198 #[inline]
2200 pub fn with_cloned_provider(self) -> IPlonkVerifierInstance<P, N> {
2201 IPlonkVerifierInstance {
2202 address: self.address,
2203 provider: ::core::clone::Clone::clone(&self.provider),
2204 _network: ::core::marker::PhantomData,
2205 }
2206 }
2207 }
2208 #[automatically_derived]
2210 impl<
2211 P: alloy_contract::private::Provider<N>,
2212 N: alloy_contract::private::Network,
2213 > IPlonkVerifierInstance<P, N> {
2214 pub fn call_builder<C: alloy_sol_types::SolCall>(
2219 &self,
2220 call: &C,
2221 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
2222 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
2223 }
2224 }
2225 #[automatically_derived]
2227 impl<
2228 P: alloy_contract::private::Provider<N>,
2229 N: alloy_contract::private::Network,
2230 > IPlonkVerifierInstance<P, N> {
2231 pub fn event_filter<E: alloy_sol_types::SolEvent>(
2236 &self,
2237 ) -> alloy_contract::Event<&P, E, N> {
2238 alloy_contract::Event::new_sol(&self.provider, &self.address)
2239 }
2240 }
2241}
2242#[allow(
3121 non_camel_case_types,
3122 non_snake_case,
3123 clippy::pub_underscore_fields,
3124 clippy::style,
3125 clippy::empty_structs_with_brackets
3126)]
3127pub mod PlonkVerifierV3 {
3128 use super::*;
3129 use alloy::sol_types as alloy_sol_types;
3130 #[rustfmt::skip]
3136 #[allow(clippy::all)]
3137 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3138 b"a\"\x1Ca\x004`\x0B\x82\x82\x829\x80Q_\x1A`s\x14`(WcNH{q`\xE0\x1B_R_`\x04R`$_\xFD[0_R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\0\x9BW_5`\xE0\x1C\x80c\x83LE*\x11a\0nW\x80c\x83LE*\x14a\x01JW\x80c\xAF\x19k\xA2\x14a\x01qW\x80c\xDE$\xAC\x0F\x14a\x01\x98W\x80c\xE3Q-V\x14a\x01\xBFW\x80c\xF5\x14C&\x14a\x01\xE6W__\xFD[\x80c\x0CU\x1F?\x14a\0\x9FW\x80cKG4\xE3\x14a\0\xD9W\x80cT\xE8\xBDg\x14a\x01\0W\x80cZ\x14\xC0\xFE\x14a\x01#W[__\xFD[a\0\xC6\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xC6\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^U\x81V[a\x01\x13a\x01\x0E6`\x04a\x1F\xAAV[a\x02\rV[`@Q\x90\x15\x15\x81R` \x01a\0\xD0V[a\0\xC6\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n\x81V[a\0\xC6\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1\x81V[a\0\xC6\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0\x81V[a\0\xC6\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81\x81V[a\0\xC6\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ\x81V[a\0\xC6\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4\x81V[_a\x02\x17\x82a\x02hV[a\x02'\x83_[` \x02\x01Qa\x03\xA3V[a\x022\x83`\x01a\x02\x1DV[a\x02=\x83`\x02a\x02\x1DV[a\x02H\x83`\x03a\x02\x1DV[a\x02S\x83`\x04a\x02\x1DV[a\x02^\x84\x84\x84a\x03\xD5V[\x90P[\x93\x92PPPV[\x80Qa\x02s\x90a\x05\xC9V[a\x02\x80\x81` \x01Qa\x05\xC9V[a\x02\x8D\x81`@\x01Qa\x05\xC9V[a\x02\x9A\x81``\x01Qa\x05\xC9V[a\x02\xA7\x81`\x80\x01Qa\x05\xC9V[a\x02\xB4\x81`\xA0\x01Qa\x05\xC9V[a\x02\xC1\x81`\xC0\x01Qa\x05\xC9V[a\x02\xCE\x81`\xE0\x01Qa\x05\xC9V[a\x02\xDC\x81a\x01\0\x01Qa\x05\xC9V[a\x02\xEA\x81a\x01 \x01Qa\x05\xC9V[a\x02\xF8\x81a\x01@\x01Qa\x05\xC9V[a\x03\x06\x81a\x01`\x01Qa\x05\xC9V[a\x03\x14\x81a\x01\x80\x01Qa\x05\xC9V[a\x03\"\x81a\x01\xA0\x01Qa\x03\xA3V[a\x030\x81a\x01\xC0\x01Qa\x03\xA3V[a\x03>\x81a\x01\xE0\x01Qa\x03\xA3V[a\x03L\x81a\x02\0\x01Qa\x03\xA3V[a\x03Z\x81a\x02 \x01Qa\x03\xA3V[a\x03h\x81a\x02@\x01Qa\x03\xA3V[a\x03v\x81a\x02`\x01Qa\x03\xA3V[a\x03\x84\x81a\x02\x80\x01Qa\x03\xA3V[a\x03\x92\x81a\x02\xA0\x01Qa\x03\xA3V[a\x03\xA0\x81a\x02\xC0\x01Qa\x03\xA3V[PV[_Q` a!\xF0_9_Q\x90_R\x81\x10\x80a\x03\xD1W`@Qc\x01l\x173`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[_\x83` \x01Q`\x05\x14a\x03\xFBW`@Qc \xFA\x9D\x89`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x04\x07\x85\x85\x85a\x06HV[\x90P_a\x04\x16\x86_\x01Qa\x0B\x92V[\x90P_a\x04(\x82\x84`\xA0\x01Q\x88a\x0E\x8CV[\x90Pa\x04E`@Q\x80`@\x01`@R\x80_\x81R` \x01_\x81RP\x90V[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x04y\x87a\x01`\x01Qa\x04t\x89a\x01\x80\x01Q\x88`\xE0\x01Qa\x0E\xE9V[a\x0FLV[\x91P__a\x04\x89\x8B\x88\x87\x8Ca\x0F\xB3V[\x91P\x91Pa\x04\x9A\x81a\x04t\x84a\x11\xEBV[\x92Pa\x04\xB3\x83a\x04t\x8Ba\x01`\x01Q\x8A`\xA0\x01Qa\x0E\xE9V[`\xA0\x88\x01Q`@\x88\x01Q` \x01Q\x91\x94P_Q` a!\xF0_9_Q\x90_R\x91\x82\x90\x82\t\x90P\x81`\xE0\x8A\x01Q\x82\t\x90Pa\x04\xF6\x85a\x04t\x8Da\x01\x80\x01Q\x84a\x0E\xE9V[\x94P_`@Q\x80`\x80\x01`@R\x80\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0\x81R` \x01\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1\x81R` \x01\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^U\x81R` \x01\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4\x81RP\x90Pa\x05\xB7\x87\x82a\x05\xAA\x89a\x11\xEBV[a\x05\xB2a\x12\x88V[a\x13UV[\x9E\x9DPPPPPPPPPPPPPPV[\x80Q` \x82\x01Q_\x91\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x91\x15\x90\x15\x16\x15a\x06\x02WPPPV[\x82Q` \x84\x01Q\x82`\x03\x84\x85\x85\x86\t\x85\t\x08\x83\x82\x83\t\x14\x83\x82\x10\x84\x84\x10\x16\x16\x93PPP\x81a\x06CW`@Qc'\x9E4S`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[a\x06\x88`@Q\x80a\x01\0\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[__Q` a!\xF0_9_Q\x90_R\x90P`@Q` \x81\x01_\x81R`\xFE`\xE0\x1B\x81R\x86Q`\xC0\x1B`\x04\x82\x01R` \x87\x01Q`\xC0\x1B`\x0C\x82\x01Ra\x02\x80\x87\x01Q` \x82\x01Ra\x02\xA0\x87\x01Q`@\x82\x01R`\x01``\x82\x01R\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ`\x80\x82\x01R\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%`\xA0\x82\x01R\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n`\xC0\x82\x01R\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81`\xE0\x82\x01R`\xE0\x87\x01Q\x80Qa\x01\0\x83\x01R` \x81\x01Qa\x01 \x83\x01RPa\x01\0\x87\x01Q\x80Qa\x01@\x83\x01R` \x81\x01Qa\x01`\x83\x01RPa\x01 \x87\x01Q\x80Qa\x01\x80\x83\x01R` \x81\x01Qa\x01\xA0\x83\x01RPa\x01@\x87\x01Q\x80Qa\x01\xC0\x83\x01R` \x81\x01Qa\x01\xE0\x83\x01RPa\x01`\x87\x01Q\x80Qa\x02\0\x83\x01R` \x81\x01Qa\x02 \x83\x01RPa\x01\x80\x87\x01Q\x80Qa\x02@\x83\x01R` \x81\x01Qa\x02`\x83\x01RPa\x01\xE0\x87\x01Q\x80Qa\x02\x80\x83\x01R` \x81\x01Qa\x02\xA0\x83\x01RPa\x02\0\x87\x01Q\x80Qa\x02\xC0\x83\x01R` \x81\x01Qa\x02\xE0\x83\x01RPa\x02 \x87\x01Q\x80Qa\x03\0\x83\x01R` \x81\x01Qa\x03 \x83\x01RPa\x02@\x87\x01Q\x80Qa\x03@\x83\x01R` \x81\x01Qa\x03`\x83\x01RPa\x01\xA0\x87\x01Q\x80Qa\x03\x80\x83\x01R` \x81\x01Qa\x03\xA0\x83\x01RPa\x01\xC0\x87\x01Q\x80Qa\x03\xC0\x83\x01R` \x81\x01Qa\x03\xE0\x83\x01RPa\x02`\x87\x01Q\x80Qa\x04\0\x83\x01R` \x81\x01Qa\x04 \x83\x01RP`@\x87\x01Q\x80Qa\x04@\x83\x01R` \x81\x01Qa\x04`\x83\x01RP``\x87\x01Q\x80Qa\x04\x80\x83\x01R` \x81\x01Qa\x04\xA0\x83\x01RP`\x80\x87\x01Q\x80Qa\x04\xC0\x83\x01R` \x81\x01Qa\x04\xE0\x83\x01RP`\xA0\x87\x01Q\x80Qa\x05\0\x83\x01R` \x81\x01Qa\x05 \x83\x01RP`\xC0\x87\x01Q\x80Qa\x05@\x83\x01R` \x81\x01Qa\x05`\x83\x01RP\x85Qa\x05\x80\x82\x01R` \x86\x01Qa\x05\xA0\x82\x01R`@\x86\x01Qa\x05\xC0\x82\x01R``\x86\x01Qa\x05\xE0\x82\x01R`\x80\x86\x01Qa\x06\0\x82\x01R\x84Q\x80Qa\x06 \x83\x01R` \x81\x01Qa\x06@\x83\x01RP` \x85\x01Q\x80Qa\x06`\x83\x01R` \x81\x01Qa\x06\x80\x83\x01RP`@\x85\x01Q\x80Qa\x06\xA0\x83\x01R` \x81\x01Qa\x06\xC0\x83\x01RP``\x85\x01Q\x80Qa\x06\xE0\x83\x01R` \x81\x01Qa\x07\0\x83\x01RP`\x80\x85\x01Q\x80Qa\x07 \x83\x01R` \x81\x01Qa\x07@\x83\x01RP_\x82Ra\x07\x80\x82 \x82R\x82\x82Q\x06``\x85\x01R` \x82 \x82R\x82\x82Q\x06`\x80\x85\x01R`\xA0\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RP``\x82 \x80\x83R\x83\x81\x06\x85R\x83\x81\x82\t\x84\x82\x82\t\x91P\x80` \x87\x01RP\x80`@\x86\x01RP`\xC0\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RP`\xE0\x85\x01Q\x80Q`@\x83\x01R` \x81\x01Q``\x83\x01RPa\x01\0\x85\x01Q\x80Q`\x80\x83\x01R` \x81\x01Q`\xA0\x83\x01RPa\x01 \x85\x01Q\x80Q`\xC0\x83\x01R` \x81\x01Q`\xE0\x83\x01RPa\x01@\x85\x01Q\x80Qa\x01\0\x83\x01R` \x81\x01Qa\x01 \x83\x01RPa\x01`\x82 \x82R\x82\x82Q\x06`\xA0\x85\x01Ra\x01\xA0\x85\x01Q\x81Ra\x01\xC0\x85\x01Q` \x82\x01Ra\x01\xE0\x85\x01Q`@\x82\x01Ra\x02\0\x85\x01Q``\x82\x01Ra\x02 \x85\x01Q`\x80\x82\x01Ra\x02@\x85\x01Q`\xA0\x82\x01Ra\x02`\x85\x01Q`\xC0\x82\x01Ra\x02\x80\x85\x01Q`\xE0\x82\x01Ra\x02\xA0\x85\x01Qa\x01\0\x82\x01Ra\x02\xC0\x85\x01Qa\x01 \x82\x01Ra\x01`\x82 \x82R\x82\x82Q\x06`\xC0\x85\x01Ra\x01`\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RPa\x01\x80\x85\x01Q\x80Q`@\x83\x01R` \x81\x01Q``\x83\x01RPP`\xA0\x81 \x82\x81\x06`\xE0\x85\x01RPPP\x93\x92PPPV[a\x0B\x9Aa\x1C\x87V[\x81b\x01\0\0\x03a\x0C\x8DW`@Q\x80``\x01`@R\x80`\x10\x81R` \x01\x7F0d\x1E\x0E\x92\xBE\xBE\xF8\x18&\x8Df;\xCA\xD6\xDB\xCF\xD6\xC0\x14\x91p\xF6\xD7\xD3P\xB1\xB1\xFAl\x10\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01~\xEE\xB2\xCBY\x81\xEDEd\x9A\xBE\xBD\xE0\x81\xDC\xFF\x16\xC8`\x1D\xE44~}\xD1b\x8B\xA2\xDA\xACC\xB7\x81R` \x01\x7F-\x1B\xA6oYA\xDC\x91\x01qq\xFAi\xEC+\xD0\x02**-A\x15\xA0\t\xA94X\xFDN&\xEC\xFB\x81R` \x01\x7F\x08h\x12\xA0\n\xC4>\xA8\x01f\x9Cd\x01q <A\xA4\x96g\x1B\xFB\xC0e\xAC\x8D\xB2MR\xCF1\xE5\x81R` \x01\x7F-\x96VQ\xCD\xD9\xE4\x81\x1FNQ\xB8\r\xDC\xA8\xA8\xB4\xA9>\xE1t \xAA\xE6\xAD\xAA\x01\xC2a|n\x85\x81RP\x81RP\x90P\x91\x90PV[\x81b\x10\0\0\x03a\r\x81W`@Q\x80``\x01`@R\x80`\x14\x81R` \x01\x7F0dKl\x9CJr\x16\x9EM\xAA1}%\xF0E\x12\xAE\x15\xC5;4\xE8\xF5\xAC\xD8\xE1U\xD0\xA6\xC1\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01\x7F&\x12]\xA1\n\x0E\xD0c'P\x8A\xBA\x06\xD1\xE3\x03\xACaf2\xDB\xED4\x9FSB-\xA9S3xW\x81R` \x01\x7F\"`\xE7$\x84K\xCARQ\x82\x93S\x96\x8EI\x150RXA\x83WG:\\\x1DY\x7Fa?l\xBD\x81R` \x01\x7F \x87\xEA,\xD6d'\x86\x08\xFB\x0E\xBD\xB8 \x90\x7FY\x85\x02\xC8\x1Bf\x90\xC1\x85\xE2\xBF\x15\xCB\x93_B\x81R` \x01\x7F\x19\xDD\xBC\xAF:\x8DF\xC1\\\x01v\xFB\xB5\xB9^M\xC5p\x88\xFF\x13\xF4\xD1\xBD\x84\xC6\xBF\xA5}\xCD\xC0\xE0\x81RP\x81RP\x90P\x91\x90PV[\x81` \x03a\x0EsW`@Q\x80``\x01`@R\x80`\x05\x81R` \x01\x7F.\xE1+\xFFJ(\x13(j\x8D\xC3\x88\xCDuM\x9A>\xF2I\x065\xEB\xA5\x0C\xB9\xC2\xE5\xE7P\x80\0\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01\x7F\t\xC52\xC60k\x93\xD2\x96x \rG\xC0\xB2\xA9\x9C\x18\xD5\x1B\x83\x8E\xEB\x1D>\xEDLS;\xB5\x12\xD0\x81R` \x01\x7F!\x08,\xA2\x16\xCB\xBFN\x1CnOE\x94\xDDP\x8C\x99m\xFB\xE1\x17N\xFB\x98\xB1\x15\t\xC6\xE3\x06F\x0B\x81R` \x01\x7F\x12w\xAEd\x15\xF0\xEF\x18\xF2\xBA_\xB1b\xC3\x9E\xB71\x1F8n-&\xD6D\x01\xF4\xA2]\xA7|%;\x81R` \x01\x7F+3}\xE1\xC8\xC1O\"\xEC\x9B\x9E/\x96\xAF\xEF6Rbsf\xF8\x17\n\n\x94\x8D\xADJ\xC1\xBD^\x80\x81RP\x81RP\x90P\x91\x90PV[`@Qc\xE2\xEF\t\xE5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xAD`@Q\x80``\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81RP\x90V[a\x0E\xB7\x84\x84a\x14\x06V[\x80\x82Ra\x0E\xC7\x90\x85\x90\x85\x90a\x14WV[` \x82\x01R\x80Qa\x0E\xDD\x90\x85\x90\x84\x90\x86\x90a\x14\xC6V[`@\x82\x01R\x93\x92PPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x0F\x04a\x1C\xABV[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x80\x82\x01\x84\x90R_\x90\x83``\x84`\x07Z\xFA\x90P\x80a\x0FDW`@Qc\x03;qM`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PP\x92\x91PPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x0Fga\x1C\xC9V[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x80\x84\x01\x91\x90\x91R\x90\x84\x01Q``\x83\x01R_\x90\x83`\x80\x84`\x06Z\xFA\x90P\x80a\x0FDW`@Qc0*\xED\xB5`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R_a\x0F\xE6\x87\x87\x87\x87a\x16\x14V[\x90P_Q` a!\xF0_9_Q\x90_R_a\x10\x02\x88\x87\x89a\x1A\xDEV[\x90Pa\x10\x0E\x81\x83a!\x97V[`\xC0\x89\x01Qa\x01\xA0\x88\x01Q\x91\x92P\x90\x81\x90\x84\x90\x81\x90\x83\t\x84\x08\x92Pa\x10:\x85a\x04t\x8A_\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x01\xC0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10b\x86a\x04t\x8A` \x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x01\xE0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10\x8A\x86a\x04t\x8A`@\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10\xB2\x86a\x04t\x8A``\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02 \x8A\x01Q\x83\t\x84\x08\x92Pa\x10\xDA\x86a\x04t\x8A`\x80\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02@\x8A\x01Q\x83\t\x84\x08\x92Pa\x11\x02\x86a\x04t\x8D`@\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02`\x8A\x01Q\x83\t\x84\x08\x92Pa\x11*\x86a\x04t\x8D``\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\x80\x8A\x01Q\x83\t\x84\x08\x92Pa\x11R\x86a\x04t\x8D`\x80\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\xA0\x8A\x01Q\x83\t\x84\x08\x92Pa\x11z\x86a\x04t\x8D`\xA0\x01Q\x84a\x0E\xE9V[\x95P_\x8A`\xE0\x01Q\x90P\x84\x85a\x02\xC0\x8B\x01Q\x83\t\x85\x08\x93Pa\x11\xA4\x87a\x04t\x8B`\xA0\x01Q\x84a\x0E\xE9V[\x96Pa\x11\xDAa\x11\xD4`@\x80Q\x80\x82\x01\x82R_\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92R`\x01\x82R`\x02\x90\x82\x01R\x90V[\x85a\x0E\xE9V[\x97PPPPPPP\x94P\x94\x92PPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R\x81Q` \x83\x01Q\x15\x90\x15\x16\x15a\x12\x12WP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Qa\x12V\x91\x90a!\xD0V[a\x12\x80\x90\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDGa!\x97V[\x90R\x92\x91PPV[a\x12\xAF`@Q\x80`\x80\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x81R` \x01\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81R` \x01\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81R` \x01\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81RP\x90P\x90V[___`@Q\x87Q\x81R` \x88\x01Q` \x82\x01R` \x87\x01Q`@\x82\x01R\x86Q``\x82\x01R``\x87\x01Q`\x80\x82\x01R`@\x87\x01Q`\xA0\x82\x01R\x85Q`\xC0\x82\x01R` \x86\x01Q`\xE0\x82\x01R` \x85\x01Qa\x01\0\x82\x01R\x84Qa\x01 \x82\x01R``\x85\x01Qa\x01@\x82\x01R`@\x85\x01Qa\x01`\x82\x01R` _a\x01\x80\x83`\x08Z\xFA\x91PP_Q\x91P\x80a\x13\xF8W`@Qc\xC2\x063O`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x15\x15\x90P[\x94\x93PPPPV[\x81Q_\x90_Q` a!\xF0_9_Q\x90_R\x90\x83\x80\x15a\x14GW\x84\x93P_[\x82\x81\x10\x15a\x14;W\x83\x85\x86\t\x94P`\x01\x01a\x14%V[P`\x01\x84\x03\x93Pa\x14NV[`\x01\x83\x03\x93P[PPP\x92\x91PPV[_\x82`\x01\x03a\x14hWP`\x01a\x02aV[\x81_\x03a\x14vWP_a\x02aV[` \x84\x01Q_Q` a!\xF0_9_Q\x90_R\x90_\x90\x82\x81\x86\t\x90P\x85\x80\x15a\x14\xA4W`\x01\x87\x03\x92Pa\x14\xABV[`\x01\x84\x03\x92P[Pa\x14\xB5\x82a\x1B\xC9V[\x91P\x82\x82\x82\t\x97\x96PPPPPPPV[__Q` a!\xF0_9_Q\x90_R\x82\x82\x03a\x15?W`\x01_[`\x05\x81\x10\x15a\x154W\x81\x86\x03a\x15\x11W\x86\x81`\x05\x81\x10a\x15\x02Wa\x15\x02a!\x83V[` \x02\x01Q\x93PPPPa\x13\xFEV[\x82\x80a\x15\x1FWa\x15\x1Fa!\xBCV[`@\x89\x01Q` \x01Q\x83\t\x91P`\x01\x01a\x14\xE0V[P_\x92PPPa\x13\xFEV[a\x15Ga\x1C\xE7V[`@\x87\x01Q`\x01`\x80\x83\x81\x01\x82\x81R\x92\x01\x90\x80[`\x05\x81\x10\x15a\x15\x88W` \x84\x03\x93P\x85\x86\x8A\x85Q\x89\x03\x08\x83\t\x80\x85R`\x1F\x19\x90\x93\x01\x92\x91P`\x01\x01a\x15[V[PPPP___\x90P`\x01\x83\x89`@\x8C\x01Q_[`\x05\x81\x10\x15a\x15\xDCW\x88\x82Q\x8A\x85Q\x8C\x88Q\x8A\t\t\t\x89\x81\x88\x08\x96PP\x88\x89\x8D\x84Q\x8C\x03\x08\x86\t\x94P` \x93\x84\x01\x93\x92\x83\x01\x92\x91\x90\x91\x01\x90`\x01\x01a\x15\x9CV[PPPP\x80\x92PP_a\x15\xEE\x83a\x1B\xC9V[\x90P` \x8A\x01Q\x85\x81\x89\t\x96PP\x84\x81\x87\t\x95P\x84\x82\x87\t\x9A\x99PPPPPPPPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R______Q` a!\xF0_9_Q\x90_R\x90P`\x80\x89\x01Q\x81` \x8A\x01Q` \x8C\x01Q\t\x95P\x89Q\x94P\x81`\xA0\x8B\x01Q``\x8C\x01Q\t\x93P\x81a\x01\xA0\x89\x01Q\x85\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ\x85\t\x92P\x81a\x01\xC0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%\x85\t\x92P\x81a\x01\xE0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n\x85\t\x92P\x81a\x02\0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81\x85\t\x92P\x81a\x02 \x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92PP\x80\x84\x83\t\x93P\x80\x84\x86\x08\x94Pa\x17\x81\x87`\xA0\x01Q\x86a\x0E\xE9V[\x95P\x88Q``\x8A\x01Q`\x80\x8B\x01Q\x83\x82\x84\t\x97P\x83a\x02\xC0\x8B\x01Q\x89\t\x97P\x83a\x02@\x8B\x01Q\x83\t\x95P\x83a\x01\xA0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02`\x8B\x01Q\x83\t\x95P\x83a\x01\xC0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02\x80\x8B\x01Q\x83\t\x95P\x83a\x01\xE0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02\xA0\x8B\x01Q\x83\t\x95P\x83a\x02\0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95PPPP\x80\x83\x86\t\x94Pa\x18H\x86a\x04t\x8C`\xC0\x01Q\x88\x85a\x18C\x91\x90a!\x97V[a\x0E\xE9V[\x95Pa\x18a\x86a\x04t\x8C`\xE0\x01Q\x8Aa\x01\xA0\x01Qa\x0E\xE9V[\x95Pa\x18{\x86a\x04t\x8Ca\x01\0\x01Q\x8Aa\x01\xC0\x01Qa\x0E\xE9V[\x95Pa\x18\x95\x86a\x04t\x8Ca\x01 \x01Q\x8Aa\x01\xE0\x01Qa\x0E\xE9V[\x95Pa\x18\xAF\x86a\x04t\x8Ca\x01@\x01Q\x8Aa\x02\0\x01Qa\x0E\xE9V[\x95P\x80a\x01\xC0\x88\x01Qa\x01\xA0\x89\x01Q\t\x92Pa\x18\xD4\x86a\x04t\x8Ca\x01`\x01Q\x86a\x0E\xE9V[\x95P\x80a\x02\0\x88\x01Qa\x01\xE0\x89\x01Q\t\x92Pa\x18\xF9\x86a\x04t\x8Ca\x01\x80\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xA0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19(\x86a\x04t\x8Ca\x01\xE0\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xC0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19W\x86a\x04t\x8Ca\x02\0\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xE0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19\x86\x86a\x04t\x8Ca\x02 \x01Q\x86a\x0E\xE9V[\x95Pa\x02\0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19\xB5\x86a\x04t\x8Ca\x02@\x01Q\x86a\x0E\xE9V[\x95Pa\x19\xD2\x86a\x04t\x8Ca\x01\xA0\x01Qa\x18C\x8Ba\x02 \x01Qa\x1C[V[\x95Pa\x19\xE3\x86\x8Ba\x01\xC0\x01Qa\x0FLV[\x95P\x80a\x01\xC0\x88\x01Qa\x01\xA0\x89\x01Q\t\x92P\x80a\x01\xE0\x88\x01Q\x84\t\x92P\x80a\x02\0\x88\x01Q\x84\t\x92P\x80a\x02 \x88\x01Q\x84\t\x92Pa\x1A)\x86a\x04t\x8Ca\x02`\x01Q\x86a\x0E\xE9V[\x95Pa\x1A7\x88_\x01Qa\x1C[V[\x94Pa\x1AK\x86a\x04t\x89`\xC0\x01Q\x88a\x0E\xE9V[\x95P\x80`\x01\x89Q\x08`\xA0\x8A\x01Q\x90\x93P\x81\x90\x80\t\x91P\x80\x82\x84\t\x92P\x80\x83\x86\t\x94Pa\x1A\x7F\x86a\x04t\x89`\xE0\x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\x9A\x86a\x04t\x89a\x01\0\x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\xB5\x86a\x04t\x89a\x01 \x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\xD0\x86a\x04t\x89a\x01@\x01Q\x88a\x0E\xE9V[\x9A\x99PPPPPPPPPPV[___Q` a!\xF0_9_Q\x90_R\x90P_\x83` \x01Q\x90P_\x84`@\x01Q\x90P_`\x01\x90P``\x88\x01Q`\x80\x89\x01Qa\x01\xA0\x89\x01Qa\x02@\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x01\xC0\x89\x01Qa\x02`\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x01\xE0\x89\x01Qa\x02\x80\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x02\0\x89\x01Qa\x02\xA0\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x02 \x89\x01Q\x91Pa\x02\xC0\x89\x01Q\x86\x87\x82\x89\x85\x87\x08\t\x85\t\x93PPPP\x87Q` \x89\x01Q\x85\x86\x86\x83\t\x87\x03\x85\x08\x96PP\x84\x85\x83\x83\t\x86\x03\x87\x08\x99\x98PPPPPPPPPV[_\x81_\x03a\x1B\xEAW`@Qc\xD6\xDB\xBB\r`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[___Q` a!\xF0_9_Q\x90_R\x90P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x84``\x82\x01R`\x02\x82\x03`\x80\x82\x01R\x81`\xA0\x82\x01R` _`\xC0\x83`\x05Z\xFA\x92PP_Q\x92P\x81a\x1CTW`@Qc\x0C\x9D>\x99`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PP\x91\x90PV[__Q` a!\xF0_9_Q\x90_R\x82\x15`\x01\x81\x14a\x1C~W\x83\x82\x03\x92Pa\x1CTV[P_\x93\x92PPPV[`@Q\x80``\x01`@R\x80_\x81R` \x01_\x81R` \x01a\x1C\xA6a\x1C\xE7V[\x90R\x90V[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\xA0\x01`@R\x80`\x05\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@Qa\x02\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D=Wa\x1D=a\x1D\x05V[`@R\x90V[`@Qa\x02\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D=Wa\x1D=a\x1D\x05V[_`@\x82\x84\x03\x12\x15a\x1DwW__\xFD[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D\x9AWa\x1D\x9Aa\x1D\x05V[`@R\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[_\x82`\x1F\x83\x01\x12a\x1D\xC3W__\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D\xE6Wa\x1D\xE6a\x1D\x05V[`@R\x80`\xA0\x84\x01\x85\x81\x11\x15a\x1D\xFAW__\xFD[\x84[\x81\x81\x10\x15a\x1E\x14W\x805\x83R` \x92\x83\x01\x92\x01a\x1D\xFCV[P\x91\x95\x94PPPPPV[_a\x04\x80\x82\x84\x03\x12\x15a\x1E0W__\xFD[a\x1E8a\x1D\x19V[\x90Pa\x1ED\x83\x83a\x1DgV[\x81Ra\x1ES\x83`@\x84\x01a\x1DgV[` \x82\x01Ra\x1Ee\x83`\x80\x84\x01a\x1DgV[`@\x82\x01Ra\x1Ew\x83`\xC0\x84\x01a\x1DgV[``\x82\x01Ra\x1E\x8A\x83a\x01\0\x84\x01a\x1DgV[`\x80\x82\x01Ra\x1E\x9D\x83a\x01@\x84\x01a\x1DgV[`\xA0\x82\x01Ra\x1E\xB0\x83a\x01\x80\x84\x01a\x1DgV[`\xC0\x82\x01Ra\x1E\xC3\x83a\x01\xC0\x84\x01a\x1DgV[`\xE0\x82\x01Ra\x1E\xD6\x83a\x02\0\x84\x01a\x1DgV[a\x01\0\x82\x01Ra\x1E\xEA\x83a\x02@\x84\x01a\x1DgV[a\x01 \x82\x01Ra\x1E\xFE\x83a\x02\x80\x84\x01a\x1DgV[a\x01@\x82\x01Ra\x1F\x12\x83a\x02\xC0\x84\x01a\x1DgV[a\x01`\x82\x01Ra\x1F&\x83a\x03\0\x84\x01a\x1DgV[a\x01\x80\x82\x01Ra\x03@\x82\x015a\x01\xA0\x82\x01Ra\x03`\x82\x015a\x01\xC0\x82\x01Ra\x03\x80\x82\x015a\x01\xE0\x82\x01Ra\x03\xA0\x82\x015a\x02\0\x82\x01Ra\x03\xC0\x82\x015a\x02 \x82\x01Ra\x03\xE0\x82\x015a\x02@\x82\x01Ra\x04\0\x82\x015a\x02`\x82\x01Ra\x04 \x82\x015a\x02\x80\x82\x01Ra\x04@\x82\x015a\x02\xA0\x82\x01Ra\x04`\x90\x91\x015a\x02\xC0\x82\x01R\x91\x90PV[___\x83\x85\x03a\n \x81\x12\x15a\x1F\xBEW__\xFD[a\x05\0\x81\x12\x15a\x1F\xCCW__\xFD[Pa\x1F\xD5a\x1DCV[\x845\x81R` \x80\x86\x015\x90\x82\x01Ra\x1F\xF0\x86`@\x87\x01a\x1DgV[`@\x82\x01Ra \x02\x86`\x80\x87\x01a\x1DgV[``\x82\x01Ra \x14\x86`\xC0\x87\x01a\x1DgV[`\x80\x82\x01Ra '\x86a\x01\0\x87\x01a\x1DgV[`\xA0\x82\x01Ra :\x86a\x01@\x87\x01a\x1DgV[`\xC0\x82\x01Ra M\x86a\x01\x80\x87\x01a\x1DgV[`\xE0\x82\x01Ra `\x86a\x01\xC0\x87\x01a\x1DgV[a\x01\0\x82\x01Ra t\x86a\x02\0\x87\x01a\x1DgV[a\x01 \x82\x01Ra \x88\x86a\x02@\x87\x01a\x1DgV[a\x01@\x82\x01Ra \x9C\x86a\x02\x80\x87\x01a\x1DgV[a\x01`\x82\x01Ra \xB0\x86a\x02\xC0\x87\x01a\x1DgV[a\x01\x80\x82\x01Ra \xC4\x86a\x03\0\x87\x01a\x1DgV[a\x01\xA0\x82\x01Ra \xD8\x86a\x03@\x87\x01a\x1DgV[a\x01\xC0\x82\x01Ra \xEC\x86a\x03\x80\x87\x01a\x1DgV[a\x01\xE0\x82\x01Ra!\0\x86a\x03\xC0\x87\x01a\x1DgV[a\x02\0\x82\x01Ra!\x14\x86a\x04\0\x87\x01a\x1DgV[a\x02 \x82\x01Ra!(\x86a\x04@\x87\x01a\x1DgV[a\x02@\x82\x01Ra!<\x86a\x04\x80\x87\x01a\x1DgV[a\x02`\x82\x01Ra\x04\xC0\x85\x015a\x02\x80\x82\x01Ra\x04\xE0\x85\x015a\x02\xA0\x82\x01R\x92Pa!j\x85a\x05\0\x86\x01a\x1D\xB4V[\x91Pa!z\x85a\x05\xA0\x86\x01a\x1E\x1FV[\x90P\x92P\x92P\x92V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a!\xB6WcNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x92\x91PPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a!\xEAWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x06\x90V\xFE0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\xA1dsolcC\0\x08\x1C\0\n",
3139 );
3140 #[rustfmt::skip]
3146 #[allow(clippy::all)]
3147 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
3148 b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\x046\x10a\0\x9BW_5`\xE0\x1C\x80c\x83LE*\x11a\0nW\x80c\x83LE*\x14a\x01JW\x80c\xAF\x19k\xA2\x14a\x01qW\x80c\xDE$\xAC\x0F\x14a\x01\x98W\x80c\xE3Q-V\x14a\x01\xBFW\x80c\xF5\x14C&\x14a\x01\xE6W__\xFD[\x80c\x0CU\x1F?\x14a\0\x9FW\x80cKG4\xE3\x14a\0\xD9W\x80cT\xE8\xBDg\x14a\x01\0W\x80cZ\x14\xC0\xFE\x14a\x01#W[__\xFD[a\0\xC6\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xC6\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^U\x81V[a\x01\x13a\x01\x0E6`\x04a\x1F\xAAV[a\x02\rV[`@Q\x90\x15\x15\x81R` \x01a\0\xD0V[a\0\xC6\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n\x81V[a\0\xC6\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1\x81V[a\0\xC6\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0\x81V[a\0\xC6\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81\x81V[a\0\xC6\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ\x81V[a\0\xC6\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4\x81V[_a\x02\x17\x82a\x02hV[a\x02'\x83_[` \x02\x01Qa\x03\xA3V[a\x022\x83`\x01a\x02\x1DV[a\x02=\x83`\x02a\x02\x1DV[a\x02H\x83`\x03a\x02\x1DV[a\x02S\x83`\x04a\x02\x1DV[a\x02^\x84\x84\x84a\x03\xD5V[\x90P[\x93\x92PPPV[\x80Qa\x02s\x90a\x05\xC9V[a\x02\x80\x81` \x01Qa\x05\xC9V[a\x02\x8D\x81`@\x01Qa\x05\xC9V[a\x02\x9A\x81``\x01Qa\x05\xC9V[a\x02\xA7\x81`\x80\x01Qa\x05\xC9V[a\x02\xB4\x81`\xA0\x01Qa\x05\xC9V[a\x02\xC1\x81`\xC0\x01Qa\x05\xC9V[a\x02\xCE\x81`\xE0\x01Qa\x05\xC9V[a\x02\xDC\x81a\x01\0\x01Qa\x05\xC9V[a\x02\xEA\x81a\x01 \x01Qa\x05\xC9V[a\x02\xF8\x81a\x01@\x01Qa\x05\xC9V[a\x03\x06\x81a\x01`\x01Qa\x05\xC9V[a\x03\x14\x81a\x01\x80\x01Qa\x05\xC9V[a\x03\"\x81a\x01\xA0\x01Qa\x03\xA3V[a\x030\x81a\x01\xC0\x01Qa\x03\xA3V[a\x03>\x81a\x01\xE0\x01Qa\x03\xA3V[a\x03L\x81a\x02\0\x01Qa\x03\xA3V[a\x03Z\x81a\x02 \x01Qa\x03\xA3V[a\x03h\x81a\x02@\x01Qa\x03\xA3V[a\x03v\x81a\x02`\x01Qa\x03\xA3V[a\x03\x84\x81a\x02\x80\x01Qa\x03\xA3V[a\x03\x92\x81a\x02\xA0\x01Qa\x03\xA3V[a\x03\xA0\x81a\x02\xC0\x01Qa\x03\xA3V[PV[_Q` a!\xF0_9_Q\x90_R\x81\x10\x80a\x03\xD1W`@Qc\x01l\x173`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[_\x83` \x01Q`\x05\x14a\x03\xFBW`@Qc \xFA\x9D\x89`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[_a\x04\x07\x85\x85\x85a\x06HV[\x90P_a\x04\x16\x86_\x01Qa\x0B\x92V[\x90P_a\x04(\x82\x84`\xA0\x01Q\x88a\x0E\x8CV[\x90Pa\x04E`@Q\x80`@\x01`@R\x80_\x81R` \x01_\x81RP\x90V[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x04y\x87a\x01`\x01Qa\x04t\x89a\x01\x80\x01Q\x88`\xE0\x01Qa\x0E\xE9V[a\x0FLV[\x91P__a\x04\x89\x8B\x88\x87\x8Ca\x0F\xB3V[\x91P\x91Pa\x04\x9A\x81a\x04t\x84a\x11\xEBV[\x92Pa\x04\xB3\x83a\x04t\x8Ba\x01`\x01Q\x8A`\xA0\x01Qa\x0E\xE9V[`\xA0\x88\x01Q`@\x88\x01Q` \x01Q\x91\x94P_Q` a!\xF0_9_Q\x90_R\x91\x82\x90\x82\t\x90P\x81`\xE0\x8A\x01Q\x82\t\x90Pa\x04\xF6\x85a\x04t\x8Da\x01\x80\x01Q\x84a\x0E\xE9V[\x94P_`@Q\x80`\x80\x01`@R\x80\x7F\x01\x18\xC4\xD5\xB87\xBC\xC2\xBC\x89\xB5\xB3\x98\xB5\x97N\x9FYD\x07;2\x07\x8B~#\x1F\xEC\x93\x88\x83\xB0\x81R` \x01\x7F&\x0E\x01\xB2Q\xF6\xF1\xC7\xE7\xFFNX\x07\x91\xDE\xE8\xEAQ\xD8z5\x8E\x03\x8BN\xFE0\xFA\xC0\x93\x83\xC1\x81R` \x01\x7F\"\xFE\xBD\xA3\xC0\xC0c*VG[B\x14\xE5a^\x11\xE6\xDD?\x96\xE6\xCE\xA2\x85J\x87\xD4\xDA\xCC^U\x81R` \x01\x7F\x04\xFCci\xF7\x11\x0F\xE3\xD2QV\xC1\xBB\x9Ar\x85\x9C\xF2\xA0FA\xF9\x9B\xA4\xEEA<\x80\xDAj_\xE4\x81RP\x90Pa\x05\xB7\x87\x82a\x05\xAA\x89a\x11\xEBV[a\x05\xB2a\x12\x88V[a\x13UV[\x9E\x9DPPPPPPPPPPPPPPV[\x80Q` \x82\x01Q_\x91\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x91\x15\x90\x15\x16\x15a\x06\x02WPPPV[\x82Q` \x84\x01Q\x82`\x03\x84\x85\x85\x86\t\x85\t\x08\x83\x82\x83\t\x14\x83\x82\x10\x84\x84\x10\x16\x16\x93PPP\x81a\x06CW`@Qc'\x9E4S`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[a\x06\x88`@Q\x80a\x01\0\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[__Q` a!\xF0_9_Q\x90_R\x90P`@Q` \x81\x01_\x81R`\xFE`\xE0\x1B\x81R\x86Q`\xC0\x1B`\x04\x82\x01R` \x87\x01Q`\xC0\x1B`\x0C\x82\x01Ra\x02\x80\x87\x01Q` \x82\x01Ra\x02\xA0\x87\x01Q`@\x82\x01R`\x01``\x82\x01R\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ`\x80\x82\x01R\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%`\xA0\x82\x01R\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n`\xC0\x82\x01R\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81`\xE0\x82\x01R`\xE0\x87\x01Q\x80Qa\x01\0\x83\x01R` \x81\x01Qa\x01 \x83\x01RPa\x01\0\x87\x01Q\x80Qa\x01@\x83\x01R` \x81\x01Qa\x01`\x83\x01RPa\x01 \x87\x01Q\x80Qa\x01\x80\x83\x01R` \x81\x01Qa\x01\xA0\x83\x01RPa\x01@\x87\x01Q\x80Qa\x01\xC0\x83\x01R` \x81\x01Qa\x01\xE0\x83\x01RPa\x01`\x87\x01Q\x80Qa\x02\0\x83\x01R` \x81\x01Qa\x02 \x83\x01RPa\x01\x80\x87\x01Q\x80Qa\x02@\x83\x01R` \x81\x01Qa\x02`\x83\x01RPa\x01\xE0\x87\x01Q\x80Qa\x02\x80\x83\x01R` \x81\x01Qa\x02\xA0\x83\x01RPa\x02\0\x87\x01Q\x80Qa\x02\xC0\x83\x01R` \x81\x01Qa\x02\xE0\x83\x01RPa\x02 \x87\x01Q\x80Qa\x03\0\x83\x01R` \x81\x01Qa\x03 \x83\x01RPa\x02@\x87\x01Q\x80Qa\x03@\x83\x01R` \x81\x01Qa\x03`\x83\x01RPa\x01\xA0\x87\x01Q\x80Qa\x03\x80\x83\x01R` \x81\x01Qa\x03\xA0\x83\x01RPa\x01\xC0\x87\x01Q\x80Qa\x03\xC0\x83\x01R` \x81\x01Qa\x03\xE0\x83\x01RPa\x02`\x87\x01Q\x80Qa\x04\0\x83\x01R` \x81\x01Qa\x04 \x83\x01RP`@\x87\x01Q\x80Qa\x04@\x83\x01R` \x81\x01Qa\x04`\x83\x01RP``\x87\x01Q\x80Qa\x04\x80\x83\x01R` \x81\x01Qa\x04\xA0\x83\x01RP`\x80\x87\x01Q\x80Qa\x04\xC0\x83\x01R` \x81\x01Qa\x04\xE0\x83\x01RP`\xA0\x87\x01Q\x80Qa\x05\0\x83\x01R` \x81\x01Qa\x05 \x83\x01RP`\xC0\x87\x01Q\x80Qa\x05@\x83\x01R` \x81\x01Qa\x05`\x83\x01RP\x85Qa\x05\x80\x82\x01R` \x86\x01Qa\x05\xA0\x82\x01R`@\x86\x01Qa\x05\xC0\x82\x01R``\x86\x01Qa\x05\xE0\x82\x01R`\x80\x86\x01Qa\x06\0\x82\x01R\x84Q\x80Qa\x06 \x83\x01R` \x81\x01Qa\x06@\x83\x01RP` \x85\x01Q\x80Qa\x06`\x83\x01R` \x81\x01Qa\x06\x80\x83\x01RP`@\x85\x01Q\x80Qa\x06\xA0\x83\x01R` \x81\x01Qa\x06\xC0\x83\x01RP``\x85\x01Q\x80Qa\x06\xE0\x83\x01R` \x81\x01Qa\x07\0\x83\x01RP`\x80\x85\x01Q\x80Qa\x07 \x83\x01R` \x81\x01Qa\x07@\x83\x01RP_\x82Ra\x07\x80\x82 \x82R\x82\x82Q\x06``\x85\x01R` \x82 \x82R\x82\x82Q\x06`\x80\x85\x01R`\xA0\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RP``\x82 \x80\x83R\x83\x81\x06\x85R\x83\x81\x82\t\x84\x82\x82\t\x91P\x80` \x87\x01RP\x80`@\x86\x01RP`\xC0\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RP`\xE0\x85\x01Q\x80Q`@\x83\x01R` \x81\x01Q``\x83\x01RPa\x01\0\x85\x01Q\x80Q`\x80\x83\x01R` \x81\x01Q`\xA0\x83\x01RPa\x01 \x85\x01Q\x80Q`\xC0\x83\x01R` \x81\x01Q`\xE0\x83\x01RPa\x01@\x85\x01Q\x80Qa\x01\0\x83\x01R` \x81\x01Qa\x01 \x83\x01RPa\x01`\x82 \x82R\x82\x82Q\x06`\xA0\x85\x01Ra\x01\xA0\x85\x01Q\x81Ra\x01\xC0\x85\x01Q` \x82\x01Ra\x01\xE0\x85\x01Q`@\x82\x01Ra\x02\0\x85\x01Q``\x82\x01Ra\x02 \x85\x01Q`\x80\x82\x01Ra\x02@\x85\x01Q`\xA0\x82\x01Ra\x02`\x85\x01Q`\xC0\x82\x01Ra\x02\x80\x85\x01Q`\xE0\x82\x01Ra\x02\xA0\x85\x01Qa\x01\0\x82\x01Ra\x02\xC0\x85\x01Qa\x01 \x82\x01Ra\x01`\x82 \x82R\x82\x82Q\x06`\xC0\x85\x01Ra\x01`\x85\x01Q\x80Q\x82R` \x81\x01Q` \x83\x01RPa\x01\x80\x85\x01Q\x80Q`@\x83\x01R` \x81\x01Q``\x83\x01RPP`\xA0\x81 \x82\x81\x06`\xE0\x85\x01RPPP\x93\x92PPPV[a\x0B\x9Aa\x1C\x87V[\x81b\x01\0\0\x03a\x0C\x8DW`@Q\x80``\x01`@R\x80`\x10\x81R` \x01\x7F0d\x1E\x0E\x92\xBE\xBE\xF8\x18&\x8Df;\xCA\xD6\xDB\xCF\xD6\xC0\x14\x91p\xF6\xD7\xD3P\xB1\xB1\xFAl\x10\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01~\xEE\xB2\xCBY\x81\xEDEd\x9A\xBE\xBD\xE0\x81\xDC\xFF\x16\xC8`\x1D\xE44~}\xD1b\x8B\xA2\xDA\xACC\xB7\x81R` \x01\x7F-\x1B\xA6oYA\xDC\x91\x01qq\xFAi\xEC+\xD0\x02**-A\x15\xA0\t\xA94X\xFDN&\xEC\xFB\x81R` \x01\x7F\x08h\x12\xA0\n\xC4>\xA8\x01f\x9Cd\x01q <A\xA4\x96g\x1B\xFB\xC0e\xAC\x8D\xB2MR\xCF1\xE5\x81R` \x01\x7F-\x96VQ\xCD\xD9\xE4\x81\x1FNQ\xB8\r\xDC\xA8\xA8\xB4\xA9>\xE1t \xAA\xE6\xAD\xAA\x01\xC2a|n\x85\x81RP\x81RP\x90P\x91\x90PV[\x81b\x10\0\0\x03a\r\x81W`@Q\x80``\x01`@R\x80`\x14\x81R` \x01\x7F0dKl\x9CJr\x16\x9EM\xAA1}%\xF0E\x12\xAE\x15\xC5;4\xE8\xF5\xAC\xD8\xE1U\xD0\xA6\xC1\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01\x7F&\x12]\xA1\n\x0E\xD0c'P\x8A\xBA\x06\xD1\xE3\x03\xACaf2\xDB\xED4\x9FSB-\xA9S3xW\x81R` \x01\x7F\"`\xE7$\x84K\xCARQ\x82\x93S\x96\x8EI\x150RXA\x83WG:\\\x1DY\x7Fa?l\xBD\x81R` \x01\x7F \x87\xEA,\xD6d'\x86\x08\xFB\x0E\xBD\xB8 \x90\x7FY\x85\x02\xC8\x1Bf\x90\xC1\x85\xE2\xBF\x15\xCB\x93_B\x81R` \x01\x7F\x19\xDD\xBC\xAF:\x8DF\xC1\\\x01v\xFB\xB5\xB9^M\xC5p\x88\xFF\x13\xF4\xD1\xBD\x84\xC6\xBF\xA5}\xCD\xC0\xE0\x81RP\x81RP\x90P\x91\x90PV[\x81` \x03a\x0EsW`@Q\x80``\x01`@R\x80`\x05\x81R` \x01\x7F.\xE1+\xFFJ(\x13(j\x8D\xC3\x88\xCDuM\x9A>\xF2I\x065\xEB\xA5\x0C\xB9\xC2\xE5\xE7P\x80\0\x01\x81R` \x01`@Q\x80`\xA0\x01`@R\x80`\x01\x81R` \x01\x7F\t\xC52\xC60k\x93\xD2\x96x \rG\xC0\xB2\xA9\x9C\x18\xD5\x1B\x83\x8E\xEB\x1D>\xEDLS;\xB5\x12\xD0\x81R` \x01\x7F!\x08,\xA2\x16\xCB\xBFN\x1CnOE\x94\xDDP\x8C\x99m\xFB\xE1\x17N\xFB\x98\xB1\x15\t\xC6\xE3\x06F\x0B\x81R` \x01\x7F\x12w\xAEd\x15\xF0\xEF\x18\xF2\xBA_\xB1b\xC3\x9E\xB71\x1F8n-&\xD6D\x01\xF4\xA2]\xA7|%;\x81R` \x01\x7F+3}\xE1\xC8\xC1O\"\xEC\x9B\x9E/\x96\xAF\xEF6Rbsf\xF8\x17\n\n\x94\x8D\xADJ\xC1\xBD^\x80\x81RP\x81RP\x90P\x91\x90PV[`@Qc\xE2\xEF\t\xE5`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xAD`@Q\x80``\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81RP\x90V[a\x0E\xB7\x84\x84a\x14\x06V[\x80\x82Ra\x0E\xC7\x90\x85\x90\x85\x90a\x14WV[` \x82\x01R\x80Qa\x0E\xDD\x90\x85\x90\x84\x90\x86\x90a\x14\xC6V[`@\x82\x01R\x93\x92PPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x0F\x04a\x1C\xABV[\x83Q\x81R` \x80\x85\x01Q\x90\x82\x01R`@\x80\x82\x01\x84\x90R_\x90\x83``\x84`\x07Z\xFA\x90P\x80a\x0FDW`@Qc\x03;qM`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PP\x92\x91PPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01Ra\x0Fga\x1C\xC9V[\x83Q\x81R` \x80\x85\x01Q\x81\x83\x01R\x83Q`@\x80\x84\x01\x91\x90\x91R\x90\x84\x01Q``\x83\x01R_\x90\x83`\x80\x84`\x06Z\xFA\x90P\x80a\x0FDW`@Qc0*\xED\xB5`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R_a\x0F\xE6\x87\x87\x87\x87a\x16\x14V[\x90P_Q` a!\xF0_9_Q\x90_R_a\x10\x02\x88\x87\x89a\x1A\xDEV[\x90Pa\x10\x0E\x81\x83a!\x97V[`\xC0\x89\x01Qa\x01\xA0\x88\x01Q\x91\x92P\x90\x81\x90\x84\x90\x81\x90\x83\t\x84\x08\x92Pa\x10:\x85a\x04t\x8A_\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x01\xC0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10b\x86a\x04t\x8A` \x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x01\xE0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10\x8A\x86a\x04t\x8A`@\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\0\x8A\x01Q\x83\t\x84\x08\x92Pa\x10\xB2\x86a\x04t\x8A``\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02 \x8A\x01Q\x83\t\x84\x08\x92Pa\x10\xDA\x86a\x04t\x8A`\x80\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02@\x8A\x01Q\x83\t\x84\x08\x92Pa\x11\x02\x86a\x04t\x8D`@\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02`\x8A\x01Q\x83\t\x84\x08\x92Pa\x11*\x86a\x04t\x8D``\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\x80\x8A\x01Q\x83\t\x84\x08\x92Pa\x11R\x86a\x04t\x8D`\x80\x01Q\x84a\x0E\xE9V[\x95P\x83\x82\x82\t\x90P\x83\x84a\x02\xA0\x8A\x01Q\x83\t\x84\x08\x92Pa\x11z\x86a\x04t\x8D`\xA0\x01Q\x84a\x0E\xE9V[\x95P_\x8A`\xE0\x01Q\x90P\x84\x85a\x02\xC0\x8B\x01Q\x83\t\x85\x08\x93Pa\x11\xA4\x87a\x04t\x8B`\xA0\x01Q\x84a\x0E\xE9V[\x96Pa\x11\xDAa\x11\xD4`@\x80Q\x80\x82\x01\x82R_\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92R`\x01\x82R`\x02\x90\x82\x01R\x90V[\x85a\x0E\xE9V[\x97PPPPPPP\x94P\x94\x92PPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R\x81Q` \x83\x01Q\x15\x90\x15\x16\x15a\x12\x12WP\x90V[`@Q\x80`@\x01`@R\x80\x83_\x01Q\x81R` \x01\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDG\x84` \x01Qa\x12V\x91\x90a!\xD0V[a\x12\x80\x90\x7F0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X]\x97\x81j\x91hq\xCA\x8D< \x8C\x16\xD8|\xFDGa!\x97V[\x90R\x92\x91PPV[a\x12\xAF`@Q\x80`\x80\x01`@R\x80_\x81R` \x01_\x81R` \x01_\x81R` \x01_\x81RP\x90V[`@Q\x80`\x80\x01`@R\x80\x7F\x18\0\xDE\xEF\x12\x1F\x1EvBj\0f^\\DygC\"\xD4\xF7^\xDA\xDDF\xDE\xBD\\\xD9\x92\xF6\xED\x81R` \x01\x7F\x19\x8E\x93\x93\x92\rH:r`\xBF\xB71\xFB]%\xF1\xAAI35\xA9\xE7\x12\x97\xE4\x85\xB7\xAE\xF3\x12\xC2\x81R` \x01\x7F\x12\xC8^\xA5\xDB\x8Cm\xEBJ\xABq\x80\x8D\xCB@\x8F\xE3\xD1\xE7i\x0CC\xD3{L\xE6\xCC\x01f\xFA}\xAA\x81R` \x01\x7F\t\x06\x89\xD0X_\xF0u\xEC\x9E\x99\xADi\x0C3\x95\xBCK13p\xB3\x8E\xF3U\xAC\xDA\xDC\xD1\"\x97[\x81RP\x90P\x90V[___`@Q\x87Q\x81R` \x88\x01Q` \x82\x01R` \x87\x01Q`@\x82\x01R\x86Q``\x82\x01R``\x87\x01Q`\x80\x82\x01R`@\x87\x01Q`\xA0\x82\x01R\x85Q`\xC0\x82\x01R` \x86\x01Q`\xE0\x82\x01R` \x85\x01Qa\x01\0\x82\x01R\x84Qa\x01 \x82\x01R``\x85\x01Qa\x01@\x82\x01R`@\x85\x01Qa\x01`\x82\x01R` _a\x01\x80\x83`\x08Z\xFA\x91PP_Q\x91P\x80a\x13\xF8W`@Qc\xC2\x063O`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x15\x15\x90P[\x94\x93PPPPV[\x81Q_\x90_Q` a!\xF0_9_Q\x90_R\x90\x83\x80\x15a\x14GW\x84\x93P_[\x82\x81\x10\x15a\x14;W\x83\x85\x86\t\x94P`\x01\x01a\x14%V[P`\x01\x84\x03\x93Pa\x14NV[`\x01\x83\x03\x93P[PPP\x92\x91PPV[_\x82`\x01\x03a\x14hWP`\x01a\x02aV[\x81_\x03a\x14vWP_a\x02aV[` \x84\x01Q_Q` a!\xF0_9_Q\x90_R\x90_\x90\x82\x81\x86\t\x90P\x85\x80\x15a\x14\xA4W`\x01\x87\x03\x92Pa\x14\xABV[`\x01\x84\x03\x92P[Pa\x14\xB5\x82a\x1B\xC9V[\x91P\x82\x82\x82\t\x97\x96PPPPPPPV[__Q` a!\xF0_9_Q\x90_R\x82\x82\x03a\x15?W`\x01_[`\x05\x81\x10\x15a\x154W\x81\x86\x03a\x15\x11W\x86\x81`\x05\x81\x10a\x15\x02Wa\x15\x02a!\x83V[` \x02\x01Q\x93PPPPa\x13\xFEV[\x82\x80a\x15\x1FWa\x15\x1Fa!\xBCV[`@\x89\x01Q` \x01Q\x83\t\x91P`\x01\x01a\x14\xE0V[P_\x92PPPa\x13\xFEV[a\x15Ga\x1C\xE7V[`@\x87\x01Q`\x01`\x80\x83\x81\x01\x82\x81R\x92\x01\x90\x80[`\x05\x81\x10\x15a\x15\x88W` \x84\x03\x93P\x85\x86\x8A\x85Q\x89\x03\x08\x83\t\x80\x85R`\x1F\x19\x90\x93\x01\x92\x91P`\x01\x01a\x15[V[PPPP___\x90P`\x01\x83\x89`@\x8C\x01Q_[`\x05\x81\x10\x15a\x15\xDCW\x88\x82Q\x8A\x85Q\x8C\x88Q\x8A\t\t\t\x89\x81\x88\x08\x96PP\x88\x89\x8D\x84Q\x8C\x03\x08\x86\t\x94P` \x93\x84\x01\x93\x92\x83\x01\x92\x91\x90\x91\x01\x90`\x01\x01a\x15\x9CV[PPPP\x80\x92PP_a\x15\xEE\x83a\x1B\xC9V[\x90P` \x8A\x01Q\x85\x81\x89\t\x96PP\x84\x81\x87\t\x95P\x84\x82\x87\t\x9A\x99PPPPPPPPPPV[`@\x80Q\x80\x82\x01\x90\x91R_\x80\x82R` \x82\x01R______Q` a!\xF0_9_Q\x90_R\x90P`\x80\x89\x01Q\x81` \x8A\x01Q` \x8C\x01Q\t\x95P\x89Q\x94P\x81`\xA0\x8B\x01Q``\x8C\x01Q\t\x93P\x81a\x01\xA0\x89\x01Q\x85\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F/\x8D\xD1\xF1\xA7X<B\xC4\xE1*D\xE1\x10@Ls\xCAl\x94\x81?\x85\x83]\xA4\xFB{\xB10\x1DJ\x85\t\x92P\x81a\x01\xC0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F\x1E\xE6x\xA0G\nu\xA6\xEA\xA8\xFE\x83p`I\x8B\xA8(\xA3p;1\x1D\x0Fw\xF0\x10BJ\xFE\xB0%\x85\t\x92P\x81a\x01\xE0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F B\xA5\x87\xA9\x0C\x18{\n\x08|\x03\xE2\x9C\x96\x8B\x95\x0B\x1D\xB2m\\\x82\xD6f\x90Zh\x95y\x0C\n\x85\t\x92P\x81a\x02\0\x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92P\x81\x85\x84\t\x94P\x81\x7F.+\x91Ea\x03i\x8A\xDFW\xB7\x99\x96\x9D\xEA\x1C\x8Fs\x9D\xA5\xD8\xD4\r\xD3\xEB\x92\"\xDB|\x81\xE8\x81\x85\t\x92P\x81a\x02 \x89\x01Q\x84\x08\x92P\x81\x81\x84\x08\x92PP\x80\x84\x83\t\x93P\x80\x84\x86\x08\x94Pa\x17\x81\x87`\xA0\x01Q\x86a\x0E\xE9V[\x95P\x88Q``\x8A\x01Q`\x80\x8B\x01Q\x83\x82\x84\t\x97P\x83a\x02\xC0\x8B\x01Q\x89\t\x97P\x83a\x02@\x8B\x01Q\x83\t\x95P\x83a\x01\xA0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02`\x8B\x01Q\x83\t\x95P\x83a\x01\xC0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02\x80\x8B\x01Q\x83\t\x95P\x83a\x01\xE0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95P\x83\x86\x89\t\x97P\x83a\x02\xA0\x8B\x01Q\x83\t\x95P\x83a\x02\0\x8B\x01Q\x87\x08\x95P\x83\x81\x87\x08\x95PPPP\x80\x83\x86\t\x94Pa\x18H\x86a\x04t\x8C`\xC0\x01Q\x88\x85a\x18C\x91\x90a!\x97V[a\x0E\xE9V[\x95Pa\x18a\x86a\x04t\x8C`\xE0\x01Q\x8Aa\x01\xA0\x01Qa\x0E\xE9V[\x95Pa\x18{\x86a\x04t\x8Ca\x01\0\x01Q\x8Aa\x01\xC0\x01Qa\x0E\xE9V[\x95Pa\x18\x95\x86a\x04t\x8Ca\x01 \x01Q\x8Aa\x01\xE0\x01Qa\x0E\xE9V[\x95Pa\x18\xAF\x86a\x04t\x8Ca\x01@\x01Q\x8Aa\x02\0\x01Qa\x0E\xE9V[\x95P\x80a\x01\xC0\x88\x01Qa\x01\xA0\x89\x01Q\t\x92Pa\x18\xD4\x86a\x04t\x8Ca\x01`\x01Q\x86a\x0E\xE9V[\x95P\x80a\x02\0\x88\x01Qa\x01\xE0\x89\x01Q\t\x92Pa\x18\xF9\x86a\x04t\x8Ca\x01\x80\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xA0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19(\x86a\x04t\x8Ca\x01\xE0\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xC0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19W\x86a\x04t\x8Ca\x02\0\x01Q\x86a\x0E\xE9V[\x95Pa\x01\xE0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19\x86\x86a\x04t\x8Ca\x02 \x01Q\x86a\x0E\xE9V[\x95Pa\x02\0\x87\x01Q\x92P\x80\x83\x84\t\x91P\x80\x82\x83\t\x91P\x80\x82\x84\t\x92Pa\x19\xB5\x86a\x04t\x8Ca\x02@\x01Q\x86a\x0E\xE9V[\x95Pa\x19\xD2\x86a\x04t\x8Ca\x01\xA0\x01Qa\x18C\x8Ba\x02 \x01Qa\x1C[V[\x95Pa\x19\xE3\x86\x8Ba\x01\xC0\x01Qa\x0FLV[\x95P\x80a\x01\xC0\x88\x01Qa\x01\xA0\x89\x01Q\t\x92P\x80a\x01\xE0\x88\x01Q\x84\t\x92P\x80a\x02\0\x88\x01Q\x84\t\x92P\x80a\x02 \x88\x01Q\x84\t\x92Pa\x1A)\x86a\x04t\x8Ca\x02`\x01Q\x86a\x0E\xE9V[\x95Pa\x1A7\x88_\x01Qa\x1C[V[\x94Pa\x1AK\x86a\x04t\x89`\xC0\x01Q\x88a\x0E\xE9V[\x95P\x80`\x01\x89Q\x08`\xA0\x8A\x01Q\x90\x93P\x81\x90\x80\t\x91P\x80\x82\x84\t\x92P\x80\x83\x86\t\x94Pa\x1A\x7F\x86a\x04t\x89`\xE0\x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\x9A\x86a\x04t\x89a\x01\0\x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\xB5\x86a\x04t\x89a\x01 \x01Q\x88a\x0E\xE9V[\x95P\x80\x83\x86\t\x94Pa\x1A\xD0\x86a\x04t\x89a\x01@\x01Q\x88a\x0E\xE9V[\x9A\x99PPPPPPPPPPV[___Q` a!\xF0_9_Q\x90_R\x90P_\x83` \x01Q\x90P_\x84`@\x01Q\x90P_`\x01\x90P``\x88\x01Q`\x80\x89\x01Qa\x01\xA0\x89\x01Qa\x02@\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x01\xC0\x89\x01Qa\x02`\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x01\xE0\x89\x01Qa\x02\x80\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x02\0\x89\x01Qa\x02\xA0\x8A\x01Q\x87\x88\x89\x83\x87\t\x8A\x86\x86\x08\x08\x86\t\x94PPPa\x02 \x89\x01Q\x91Pa\x02\xC0\x89\x01Q\x86\x87\x82\x89\x85\x87\x08\t\x85\t\x93PPPP\x87Q` \x89\x01Q\x85\x86\x86\x83\t\x87\x03\x85\x08\x96PP\x84\x85\x83\x83\t\x86\x03\x87\x08\x99\x98PPPPPPPPPV[_\x81_\x03a\x1B\xEAW`@Qc\xD6\xDB\xBB\r`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[___Q` a!\xF0_9_Q\x90_R\x90P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x84``\x82\x01R`\x02\x82\x03`\x80\x82\x01R\x81`\xA0\x82\x01R` _`\xC0\x83`\x05Z\xFA\x92PP_Q\x92P\x81a\x1CTW`@Qc\x0C\x9D>\x99`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PP\x91\x90PV[__Q` a!\xF0_9_Q\x90_R\x82\x15`\x01\x81\x14a\x1C~W\x83\x82\x03\x92Pa\x1CTV[P_\x93\x92PPPV[`@Q\x80``\x01`@R\x80_\x81R` \x01_\x81R` \x01a\x1C\xA6a\x1C\xE7V[\x90R\x90V[`@Q\x80``\x01`@R\x80`\x03\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\x80\x01`@R\x80`\x04\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[`@Q\x80`\xA0\x01`@R\x80`\x05\x90` \x82\x02\x806\x837P\x91\x92\x91PPV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[`@Qa\x02\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D=Wa\x1D=a\x1D\x05V[`@R\x90V[`@Qa\x02\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D=Wa\x1D=a\x1D\x05V[_`@\x82\x84\x03\x12\x15a\x1DwW__\xFD[`@\x80Q\x90\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D\x9AWa\x1D\x9Aa\x1D\x05V[`@R\x825\x81R` \x92\x83\x015\x92\x81\x01\x92\x90\x92RP\x91\x90PV[_\x82`\x1F\x83\x01\x12a\x1D\xC3W__\xFD[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1D\xE6Wa\x1D\xE6a\x1D\x05V[`@R\x80`\xA0\x84\x01\x85\x81\x11\x15a\x1D\xFAW__\xFD[\x84[\x81\x81\x10\x15a\x1E\x14W\x805\x83R` \x92\x83\x01\x92\x01a\x1D\xFCV[P\x91\x95\x94PPPPPV[_a\x04\x80\x82\x84\x03\x12\x15a\x1E0W__\xFD[a\x1E8a\x1D\x19V[\x90Pa\x1ED\x83\x83a\x1DgV[\x81Ra\x1ES\x83`@\x84\x01a\x1DgV[` \x82\x01Ra\x1Ee\x83`\x80\x84\x01a\x1DgV[`@\x82\x01Ra\x1Ew\x83`\xC0\x84\x01a\x1DgV[``\x82\x01Ra\x1E\x8A\x83a\x01\0\x84\x01a\x1DgV[`\x80\x82\x01Ra\x1E\x9D\x83a\x01@\x84\x01a\x1DgV[`\xA0\x82\x01Ra\x1E\xB0\x83a\x01\x80\x84\x01a\x1DgV[`\xC0\x82\x01Ra\x1E\xC3\x83a\x01\xC0\x84\x01a\x1DgV[`\xE0\x82\x01Ra\x1E\xD6\x83a\x02\0\x84\x01a\x1DgV[a\x01\0\x82\x01Ra\x1E\xEA\x83a\x02@\x84\x01a\x1DgV[a\x01 \x82\x01Ra\x1E\xFE\x83a\x02\x80\x84\x01a\x1DgV[a\x01@\x82\x01Ra\x1F\x12\x83a\x02\xC0\x84\x01a\x1DgV[a\x01`\x82\x01Ra\x1F&\x83a\x03\0\x84\x01a\x1DgV[a\x01\x80\x82\x01Ra\x03@\x82\x015a\x01\xA0\x82\x01Ra\x03`\x82\x015a\x01\xC0\x82\x01Ra\x03\x80\x82\x015a\x01\xE0\x82\x01Ra\x03\xA0\x82\x015a\x02\0\x82\x01Ra\x03\xC0\x82\x015a\x02 \x82\x01Ra\x03\xE0\x82\x015a\x02@\x82\x01Ra\x04\0\x82\x015a\x02`\x82\x01Ra\x04 \x82\x015a\x02\x80\x82\x01Ra\x04@\x82\x015a\x02\xA0\x82\x01Ra\x04`\x90\x91\x015a\x02\xC0\x82\x01R\x91\x90PV[___\x83\x85\x03a\n \x81\x12\x15a\x1F\xBEW__\xFD[a\x05\0\x81\x12\x15a\x1F\xCCW__\xFD[Pa\x1F\xD5a\x1DCV[\x845\x81R` \x80\x86\x015\x90\x82\x01Ra\x1F\xF0\x86`@\x87\x01a\x1DgV[`@\x82\x01Ra \x02\x86`\x80\x87\x01a\x1DgV[``\x82\x01Ra \x14\x86`\xC0\x87\x01a\x1DgV[`\x80\x82\x01Ra '\x86a\x01\0\x87\x01a\x1DgV[`\xA0\x82\x01Ra :\x86a\x01@\x87\x01a\x1DgV[`\xC0\x82\x01Ra M\x86a\x01\x80\x87\x01a\x1DgV[`\xE0\x82\x01Ra `\x86a\x01\xC0\x87\x01a\x1DgV[a\x01\0\x82\x01Ra t\x86a\x02\0\x87\x01a\x1DgV[a\x01 \x82\x01Ra \x88\x86a\x02@\x87\x01a\x1DgV[a\x01@\x82\x01Ra \x9C\x86a\x02\x80\x87\x01a\x1DgV[a\x01`\x82\x01Ra \xB0\x86a\x02\xC0\x87\x01a\x1DgV[a\x01\x80\x82\x01Ra \xC4\x86a\x03\0\x87\x01a\x1DgV[a\x01\xA0\x82\x01Ra \xD8\x86a\x03@\x87\x01a\x1DgV[a\x01\xC0\x82\x01Ra \xEC\x86a\x03\x80\x87\x01a\x1DgV[a\x01\xE0\x82\x01Ra!\0\x86a\x03\xC0\x87\x01a\x1DgV[a\x02\0\x82\x01Ra!\x14\x86a\x04\0\x87\x01a\x1DgV[a\x02 \x82\x01Ra!(\x86a\x04@\x87\x01a\x1DgV[a\x02@\x82\x01Ra!<\x86a\x04\x80\x87\x01a\x1DgV[a\x02`\x82\x01Ra\x04\xC0\x85\x015a\x02\x80\x82\x01Ra\x04\xE0\x85\x015a\x02\xA0\x82\x01R\x92Pa!j\x85a\x05\0\x86\x01a\x1D\xB4V[\x91Pa!z\x85a\x05\xA0\x86\x01a\x1E\x1FV[\x90P\x92P\x92P\x92V[cNH{q`\xE0\x1B_R`2`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a!\xB6WcNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[\x92\x91PPV[cNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[_\x82a!\xEAWcNH{q`\xE0\x1B_R`\x12`\x04R`$_\xFD[P\x06\x90V\xFE0dNr\xE11\xA0)\xB8PE\xB6\x81\x81X](3\xE8Hy\xB9p\x91C\xE1\xF5\x93\xF0\0\0\x01\xA1dsolcC\0\x08\x1C\0\n",
3149 );
3150 #[derive(serde::Serialize, serde::Deserialize)]
3151 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3152 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3157 #[derive(Clone)]
3158 pub struct BN254G1AddFailed;
3159 #[allow(
3160 non_camel_case_types,
3161 non_snake_case,
3162 clippy::pub_underscore_fields,
3163 clippy::style
3164 )]
3165 const _: () = {
3166 use alloy::sol_types as alloy_sol_types;
3167 #[doc(hidden)]
3168 #[allow(dead_code)]
3169 type UnderlyingSolTuple<'a> = ();
3170 #[doc(hidden)]
3171 type UnderlyingRustTuple<'a> = ();
3172 #[cfg(test)]
3173 #[allow(dead_code, unreachable_patterns)]
3174 fn _type_assertion(
3175 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3176 ) {
3177 match _t {
3178 alloy_sol_types::private::AssertTypeEq::<
3179 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3180 >(_) => {}
3181 }
3182 }
3183 #[automatically_derived]
3184 #[doc(hidden)]
3185 impl ::core::convert::From<BN254G1AddFailed> for UnderlyingRustTuple<'_> {
3186 fn from(value: BN254G1AddFailed) -> Self {
3187 ()
3188 }
3189 }
3190 #[automatically_derived]
3191 #[doc(hidden)]
3192 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BN254G1AddFailed {
3193 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3194 Self
3195 }
3196 }
3197 #[automatically_derived]
3198 impl alloy_sol_types::SolError for BN254G1AddFailed {
3199 type Parameters<'a> = UnderlyingSolTuple<'a>;
3200 type Token<'a> = <Self::Parameters<
3201 'a,
3202 > as alloy_sol_types::SolType>::Token<'a>;
3203 const SIGNATURE: &'static str = "BN254G1AddFailed()";
3204 const SELECTOR: [u8; 4] = [96u8, 85u8, 219u8, 106u8];
3205 #[inline]
3206 fn new<'a>(
3207 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3208 ) -> Self {
3209 tuple.into()
3210 }
3211 #[inline]
3212 fn tokenize(&self) -> Self::Token<'_> {
3213 ()
3214 }
3215 #[inline]
3216 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3217 <Self::Parameters<
3218 '_,
3219 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3220 .map(Self::new)
3221 }
3222 }
3223 };
3224 #[derive(serde::Serialize, serde::Deserialize)]
3225 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3226 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3231 #[derive(Clone)]
3232 pub struct BN254PairingProdFailed;
3233 #[allow(
3234 non_camel_case_types,
3235 non_snake_case,
3236 clippy::pub_underscore_fields,
3237 clippy::style
3238 )]
3239 const _: () = {
3240 use alloy::sol_types as alloy_sol_types;
3241 #[doc(hidden)]
3242 #[allow(dead_code)]
3243 type UnderlyingSolTuple<'a> = ();
3244 #[doc(hidden)]
3245 type UnderlyingRustTuple<'a> = ();
3246 #[cfg(test)]
3247 #[allow(dead_code, unreachable_patterns)]
3248 fn _type_assertion(
3249 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3250 ) {
3251 match _t {
3252 alloy_sol_types::private::AssertTypeEq::<
3253 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3254 >(_) => {}
3255 }
3256 }
3257 #[automatically_derived]
3258 #[doc(hidden)]
3259 impl ::core::convert::From<BN254PairingProdFailed> for UnderlyingRustTuple<'_> {
3260 fn from(value: BN254PairingProdFailed) -> Self {
3261 ()
3262 }
3263 }
3264 #[automatically_derived]
3265 #[doc(hidden)]
3266 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BN254PairingProdFailed {
3267 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3268 Self
3269 }
3270 }
3271 #[automatically_derived]
3272 impl alloy_sol_types::SolError for BN254PairingProdFailed {
3273 type Parameters<'a> = UnderlyingSolTuple<'a>;
3274 type Token<'a> = <Self::Parameters<
3275 'a,
3276 > as alloy_sol_types::SolType>::Token<'a>;
3277 const SIGNATURE: &'static str = "BN254PairingProdFailed()";
3278 const SELECTOR: [u8; 4] = [194u8, 6u8, 51u8, 79u8];
3279 #[inline]
3280 fn new<'a>(
3281 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3282 ) -> Self {
3283 tuple.into()
3284 }
3285 #[inline]
3286 fn tokenize(&self) -> Self::Token<'_> {
3287 ()
3288 }
3289 #[inline]
3290 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3291 <Self::Parameters<
3292 '_,
3293 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3294 .map(Self::new)
3295 }
3296 }
3297 };
3298 #[derive(serde::Serialize, serde::Deserialize)]
3299 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3300 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3305 #[derive(Clone)]
3306 pub struct BN254ScalarInvZero;
3307 #[allow(
3308 non_camel_case_types,
3309 non_snake_case,
3310 clippy::pub_underscore_fields,
3311 clippy::style
3312 )]
3313 const _: () = {
3314 use alloy::sol_types as alloy_sol_types;
3315 #[doc(hidden)]
3316 #[allow(dead_code)]
3317 type UnderlyingSolTuple<'a> = ();
3318 #[doc(hidden)]
3319 type UnderlyingRustTuple<'a> = ();
3320 #[cfg(test)]
3321 #[allow(dead_code, unreachable_patterns)]
3322 fn _type_assertion(
3323 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3324 ) {
3325 match _t {
3326 alloy_sol_types::private::AssertTypeEq::<
3327 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3328 >(_) => {}
3329 }
3330 }
3331 #[automatically_derived]
3332 #[doc(hidden)]
3333 impl ::core::convert::From<BN254ScalarInvZero> for UnderlyingRustTuple<'_> {
3334 fn from(value: BN254ScalarInvZero) -> Self {
3335 ()
3336 }
3337 }
3338 #[automatically_derived]
3339 #[doc(hidden)]
3340 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BN254ScalarInvZero {
3341 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3342 Self
3343 }
3344 }
3345 #[automatically_derived]
3346 impl alloy_sol_types::SolError for BN254ScalarInvZero {
3347 type Parameters<'a> = UnderlyingSolTuple<'a>;
3348 type Token<'a> = <Self::Parameters<
3349 'a,
3350 > as alloy_sol_types::SolType>::Token<'a>;
3351 const SIGNATURE: &'static str = "BN254ScalarInvZero()";
3352 const SELECTOR: [u8; 4] = [214u8, 219u8, 187u8, 13u8];
3353 #[inline]
3354 fn new<'a>(
3355 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3356 ) -> Self {
3357 tuple.into()
3358 }
3359 #[inline]
3360 fn tokenize(&self) -> Self::Token<'_> {
3361 ()
3362 }
3363 #[inline]
3364 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3365 <Self::Parameters<
3366 '_,
3367 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3368 .map(Self::new)
3369 }
3370 }
3371 };
3372 #[derive(serde::Serialize, serde::Deserialize)]
3373 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3374 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3379 #[derive(Clone)]
3380 pub struct BN254ScalarMulFailed;
3381 #[allow(
3382 non_camel_case_types,
3383 non_snake_case,
3384 clippy::pub_underscore_fields,
3385 clippy::style
3386 )]
3387 const _: () = {
3388 use alloy::sol_types as alloy_sol_types;
3389 #[doc(hidden)]
3390 #[allow(dead_code)]
3391 type UnderlyingSolTuple<'a> = ();
3392 #[doc(hidden)]
3393 type UnderlyingRustTuple<'a> = ();
3394 #[cfg(test)]
3395 #[allow(dead_code, unreachable_patterns)]
3396 fn _type_assertion(
3397 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3398 ) {
3399 match _t {
3400 alloy_sol_types::private::AssertTypeEq::<
3401 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3402 >(_) => {}
3403 }
3404 }
3405 #[automatically_derived]
3406 #[doc(hidden)]
3407 impl ::core::convert::From<BN254ScalarMulFailed> for UnderlyingRustTuple<'_> {
3408 fn from(value: BN254ScalarMulFailed) -> Self {
3409 ()
3410 }
3411 }
3412 #[automatically_derived]
3413 #[doc(hidden)]
3414 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BN254ScalarMulFailed {
3415 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3416 Self
3417 }
3418 }
3419 #[automatically_derived]
3420 impl alloy_sol_types::SolError for BN254ScalarMulFailed {
3421 type Parameters<'a> = UnderlyingSolTuple<'a>;
3422 type Token<'a> = <Self::Parameters<
3423 'a,
3424 > as alloy_sol_types::SolType>::Token<'a>;
3425 const SIGNATURE: &'static str = "BN254ScalarMulFailed()";
3426 const SELECTOR: [u8; 4] = [25u8, 219u8, 138u8, 104u8];
3427 #[inline]
3428 fn new<'a>(
3429 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3430 ) -> Self {
3431 tuple.into()
3432 }
3433 #[inline]
3434 fn tokenize(&self) -> Self::Token<'_> {
3435 ()
3436 }
3437 #[inline]
3438 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3439 <Self::Parameters<
3440 '_,
3441 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3442 .map(Self::new)
3443 }
3444 }
3445 };
3446 #[derive(serde::Serialize, serde::Deserialize)]
3447 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3448 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3453 #[derive(Clone)]
3454 pub struct InvalidG1;
3455 #[allow(
3456 non_camel_case_types,
3457 non_snake_case,
3458 clippy::pub_underscore_fields,
3459 clippy::style
3460 )]
3461 const _: () = {
3462 use alloy::sol_types as alloy_sol_types;
3463 #[doc(hidden)]
3464 #[allow(dead_code)]
3465 type UnderlyingSolTuple<'a> = ();
3466 #[doc(hidden)]
3467 type UnderlyingRustTuple<'a> = ();
3468 #[cfg(test)]
3469 #[allow(dead_code, unreachable_patterns)]
3470 fn _type_assertion(
3471 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3472 ) {
3473 match _t {
3474 alloy_sol_types::private::AssertTypeEq::<
3475 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3476 >(_) => {}
3477 }
3478 }
3479 #[automatically_derived]
3480 #[doc(hidden)]
3481 impl ::core::convert::From<InvalidG1> for UnderlyingRustTuple<'_> {
3482 fn from(value: InvalidG1) -> Self {
3483 ()
3484 }
3485 }
3486 #[automatically_derived]
3487 #[doc(hidden)]
3488 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidG1 {
3489 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3490 Self
3491 }
3492 }
3493 #[automatically_derived]
3494 impl alloy_sol_types::SolError for InvalidG1 {
3495 type Parameters<'a> = UnderlyingSolTuple<'a>;
3496 type Token<'a> = <Self::Parameters<
3497 'a,
3498 > as alloy_sol_types::SolType>::Token<'a>;
3499 const SIGNATURE: &'static str = "InvalidG1()";
3500 const SELECTOR: [u8; 4] = [158u8, 120u8, 209u8, 76u8];
3501 #[inline]
3502 fn new<'a>(
3503 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3504 ) -> Self {
3505 tuple.into()
3506 }
3507 #[inline]
3508 fn tokenize(&self) -> Self::Token<'_> {
3509 ()
3510 }
3511 #[inline]
3512 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3513 <Self::Parameters<
3514 '_,
3515 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3516 .map(Self::new)
3517 }
3518 }
3519 };
3520 #[derive(serde::Serialize, serde::Deserialize)]
3521 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3522 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3527 #[derive(Clone)]
3528 pub struct InvalidPlonkArgs;
3529 #[allow(
3530 non_camel_case_types,
3531 non_snake_case,
3532 clippy::pub_underscore_fields,
3533 clippy::style
3534 )]
3535 const _: () = {
3536 use alloy::sol_types as alloy_sol_types;
3537 #[doc(hidden)]
3538 #[allow(dead_code)]
3539 type UnderlyingSolTuple<'a> = ();
3540 #[doc(hidden)]
3541 type UnderlyingRustTuple<'a> = ();
3542 #[cfg(test)]
3543 #[allow(dead_code, unreachable_patterns)]
3544 fn _type_assertion(
3545 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3546 ) {
3547 match _t {
3548 alloy_sol_types::private::AssertTypeEq::<
3549 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3550 >(_) => {}
3551 }
3552 }
3553 #[automatically_derived]
3554 #[doc(hidden)]
3555 impl ::core::convert::From<InvalidPlonkArgs> for UnderlyingRustTuple<'_> {
3556 fn from(value: InvalidPlonkArgs) -> Self {
3557 ()
3558 }
3559 }
3560 #[automatically_derived]
3561 #[doc(hidden)]
3562 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidPlonkArgs {
3563 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3564 Self
3565 }
3566 }
3567 #[automatically_derived]
3568 impl alloy_sol_types::SolError for InvalidPlonkArgs {
3569 type Parameters<'a> = UnderlyingSolTuple<'a>;
3570 type Token<'a> = <Self::Parameters<
3571 'a,
3572 > as alloy_sol_types::SolType>::Token<'a>;
3573 const SIGNATURE: &'static str = "InvalidPlonkArgs()";
3574 const SELECTOR: [u8; 4] = [253u8, 154u8, 45u8, 27u8];
3575 #[inline]
3576 fn new<'a>(
3577 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3578 ) -> Self {
3579 tuple.into()
3580 }
3581 #[inline]
3582 fn tokenize(&self) -> Self::Token<'_> {
3583 ()
3584 }
3585 #[inline]
3586 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3587 <Self::Parameters<
3588 '_,
3589 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3590 .map(Self::new)
3591 }
3592 }
3593 };
3594 #[derive(serde::Serialize, serde::Deserialize)]
3595 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3596 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3601 #[derive(Clone)]
3602 pub struct InvalidScalar;
3603 #[allow(
3604 non_camel_case_types,
3605 non_snake_case,
3606 clippy::pub_underscore_fields,
3607 clippy::style
3608 )]
3609 const _: () = {
3610 use alloy::sol_types as alloy_sol_types;
3611 #[doc(hidden)]
3612 #[allow(dead_code)]
3613 type UnderlyingSolTuple<'a> = ();
3614 #[doc(hidden)]
3615 type UnderlyingRustTuple<'a> = ();
3616 #[cfg(test)]
3617 #[allow(dead_code, unreachable_patterns)]
3618 fn _type_assertion(
3619 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3620 ) {
3621 match _t {
3622 alloy_sol_types::private::AssertTypeEq::<
3623 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3624 >(_) => {}
3625 }
3626 }
3627 #[automatically_derived]
3628 #[doc(hidden)]
3629 impl ::core::convert::From<InvalidScalar> for UnderlyingRustTuple<'_> {
3630 fn from(value: InvalidScalar) -> Self {
3631 ()
3632 }
3633 }
3634 #[automatically_derived]
3635 #[doc(hidden)]
3636 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidScalar {
3637 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3638 Self
3639 }
3640 }
3641 #[automatically_derived]
3642 impl alloy_sol_types::SolError for InvalidScalar {
3643 type Parameters<'a> = UnderlyingSolTuple<'a>;
3644 type Token<'a> = <Self::Parameters<
3645 'a,
3646 > as alloy_sol_types::SolType>::Token<'a>;
3647 const SIGNATURE: &'static str = "InvalidScalar()";
3648 const SELECTOR: [u8; 4] = [5u8, 176u8, 92u8, 204u8];
3649 #[inline]
3650 fn new<'a>(
3651 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3652 ) -> Self {
3653 tuple.into()
3654 }
3655 #[inline]
3656 fn tokenize(&self) -> Self::Token<'_> {
3657 ()
3658 }
3659 #[inline]
3660 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3661 <Self::Parameters<
3662 '_,
3663 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3664 .map(Self::new)
3665 }
3666 }
3667 };
3668 #[derive(serde::Serialize, serde::Deserialize)]
3669 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3670 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3675 #[derive(Clone)]
3676 pub struct PowPrecompileFailed;
3677 #[allow(
3678 non_camel_case_types,
3679 non_snake_case,
3680 clippy::pub_underscore_fields,
3681 clippy::style
3682 )]
3683 const _: () = {
3684 use alloy::sol_types as alloy_sol_types;
3685 #[doc(hidden)]
3686 #[allow(dead_code)]
3687 type UnderlyingSolTuple<'a> = ();
3688 #[doc(hidden)]
3689 type UnderlyingRustTuple<'a> = ();
3690 #[cfg(test)]
3691 #[allow(dead_code, unreachable_patterns)]
3692 fn _type_assertion(
3693 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3694 ) {
3695 match _t {
3696 alloy_sol_types::private::AssertTypeEq::<
3697 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3698 >(_) => {}
3699 }
3700 }
3701 #[automatically_derived]
3702 #[doc(hidden)]
3703 impl ::core::convert::From<PowPrecompileFailed> for UnderlyingRustTuple<'_> {
3704 fn from(value: PowPrecompileFailed) -> Self {
3705 ()
3706 }
3707 }
3708 #[automatically_derived]
3709 #[doc(hidden)]
3710 impl ::core::convert::From<UnderlyingRustTuple<'_>> for PowPrecompileFailed {
3711 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3712 Self
3713 }
3714 }
3715 #[automatically_derived]
3716 impl alloy_sol_types::SolError for PowPrecompileFailed {
3717 type Parameters<'a> = UnderlyingSolTuple<'a>;
3718 type Token<'a> = <Self::Parameters<
3719 'a,
3720 > as alloy_sol_types::SolType>::Token<'a>;
3721 const SIGNATURE: &'static str = "PowPrecompileFailed()";
3722 const SELECTOR: [u8; 4] = [50u8, 116u8, 250u8, 100u8];
3723 #[inline]
3724 fn new<'a>(
3725 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3726 ) -> Self {
3727 tuple.into()
3728 }
3729 #[inline]
3730 fn tokenize(&self) -> Self::Token<'_> {
3731 ()
3732 }
3733 #[inline]
3734 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3735 <Self::Parameters<
3736 '_,
3737 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3738 .map(Self::new)
3739 }
3740 }
3741 };
3742 #[derive(serde::Serialize, serde::Deserialize)]
3743 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3744 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3749 #[derive(Clone)]
3750 pub struct UnsupportedDegree;
3751 #[allow(
3752 non_camel_case_types,
3753 non_snake_case,
3754 clippy::pub_underscore_fields,
3755 clippy::style
3756 )]
3757 const _: () = {
3758 use alloy::sol_types as alloy_sol_types;
3759 #[doc(hidden)]
3760 #[allow(dead_code)]
3761 type UnderlyingSolTuple<'a> = ();
3762 #[doc(hidden)]
3763 type UnderlyingRustTuple<'a> = ();
3764 #[cfg(test)]
3765 #[allow(dead_code, unreachable_patterns)]
3766 fn _type_assertion(
3767 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3768 ) {
3769 match _t {
3770 alloy_sol_types::private::AssertTypeEq::<
3771 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3772 >(_) => {}
3773 }
3774 }
3775 #[automatically_derived]
3776 #[doc(hidden)]
3777 impl ::core::convert::From<UnsupportedDegree> for UnderlyingRustTuple<'_> {
3778 fn from(value: UnsupportedDegree) -> Self {
3779 ()
3780 }
3781 }
3782 #[automatically_derived]
3783 #[doc(hidden)]
3784 impl ::core::convert::From<UnderlyingRustTuple<'_>> for UnsupportedDegree {
3785 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3786 Self
3787 }
3788 }
3789 #[automatically_derived]
3790 impl alloy_sol_types::SolError for UnsupportedDegree {
3791 type Parameters<'a> = UnderlyingSolTuple<'a>;
3792 type Token<'a> = <Self::Parameters<
3793 'a,
3794 > as alloy_sol_types::SolType>::Token<'a>;
3795 const SIGNATURE: &'static str = "UnsupportedDegree()";
3796 const SELECTOR: [u8; 4] = [226u8, 239u8, 9u8, 229u8];
3797 #[inline]
3798 fn new<'a>(
3799 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3800 ) -> Self {
3801 tuple.into()
3802 }
3803 #[inline]
3804 fn tokenize(&self) -> Self::Token<'_> {
3805 ()
3806 }
3807 #[inline]
3808 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3809 <Self::Parameters<
3810 '_,
3811 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3812 .map(Self::new)
3813 }
3814 }
3815 };
3816 #[derive(serde::Serialize, serde::Deserialize)]
3817 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3818 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3823 #[derive(Clone)]
3824 pub struct WrongPlonkVK;
3825 #[allow(
3826 non_camel_case_types,
3827 non_snake_case,
3828 clippy::pub_underscore_fields,
3829 clippy::style
3830 )]
3831 const _: () = {
3832 use alloy::sol_types as alloy_sol_types;
3833 #[doc(hidden)]
3834 #[allow(dead_code)]
3835 type UnderlyingSolTuple<'a> = ();
3836 #[doc(hidden)]
3837 type UnderlyingRustTuple<'a> = ();
3838 #[cfg(test)]
3839 #[allow(dead_code, unreachable_patterns)]
3840 fn _type_assertion(
3841 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3842 ) {
3843 match _t {
3844 alloy_sol_types::private::AssertTypeEq::<
3845 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3846 >(_) => {}
3847 }
3848 }
3849 #[automatically_derived]
3850 #[doc(hidden)]
3851 impl ::core::convert::From<WrongPlonkVK> for UnderlyingRustTuple<'_> {
3852 fn from(value: WrongPlonkVK) -> Self {
3853 ()
3854 }
3855 }
3856 #[automatically_derived]
3857 #[doc(hidden)]
3858 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WrongPlonkVK {
3859 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3860 Self
3861 }
3862 }
3863 #[automatically_derived]
3864 impl alloy_sol_types::SolError for WrongPlonkVK {
3865 type Parameters<'a> = UnderlyingSolTuple<'a>;
3866 type Token<'a> = <Self::Parameters<
3867 'a,
3868 > as alloy_sol_types::SolType>::Token<'a>;
3869 const SIGNATURE: &'static str = "WrongPlonkVK()";
3870 const SELECTOR: [u8; 4] = [65u8, 245u8, 59u8, 18u8];
3871 #[inline]
3872 fn new<'a>(
3873 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3874 ) -> Self {
3875 tuple.into()
3876 }
3877 #[inline]
3878 fn tokenize(&self) -> Self::Token<'_> {
3879 ()
3880 }
3881 #[inline]
3882 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3883 <Self::Parameters<
3884 '_,
3885 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3886 .map(Self::new)
3887 }
3888 }
3889 };
3890 #[derive(serde::Serialize, serde::Deserialize)]
3891 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3892 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3897 #[derive(Clone)]
3898 pub struct BETA_H_X0Call;
3899 #[derive(serde::Serialize, serde::Deserialize)]
3900 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3901 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3903 #[derive(Clone)]
3904 pub struct BETA_H_X0Return {
3905 #[allow(missing_docs)]
3906 pub _0: alloy::sol_types::private::primitives::aliases::U256,
3907 }
3908 #[allow(
3909 non_camel_case_types,
3910 non_snake_case,
3911 clippy::pub_underscore_fields,
3912 clippy::style
3913 )]
3914 const _: () = {
3915 use alloy::sol_types as alloy_sol_types;
3916 {
3917 #[doc(hidden)]
3918 #[allow(dead_code)]
3919 type UnderlyingSolTuple<'a> = ();
3920 #[doc(hidden)]
3921 type UnderlyingRustTuple<'a> = ();
3922 #[cfg(test)]
3923 #[allow(dead_code, unreachable_patterns)]
3924 fn _type_assertion(
3925 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3926 ) {
3927 match _t {
3928 alloy_sol_types::private::AssertTypeEq::<
3929 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3930 >(_) => {}
3931 }
3932 }
3933 #[automatically_derived]
3934 #[doc(hidden)]
3935 impl ::core::convert::From<BETA_H_X0Call> for UnderlyingRustTuple<'_> {
3936 fn from(value: BETA_H_X0Call) -> Self {
3937 ()
3938 }
3939 }
3940 #[automatically_derived]
3941 #[doc(hidden)]
3942 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_X0Call {
3943 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3944 Self
3945 }
3946 }
3947 }
3948 {
3949 #[doc(hidden)]
3950 #[allow(dead_code)]
3951 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3952 #[doc(hidden)]
3953 type UnderlyingRustTuple<'a> = (
3954 alloy::sol_types::private::primitives::aliases::U256,
3955 );
3956 #[cfg(test)]
3957 #[allow(dead_code, unreachable_patterns)]
3958 fn _type_assertion(
3959 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3960 ) {
3961 match _t {
3962 alloy_sol_types::private::AssertTypeEq::<
3963 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3964 >(_) => {}
3965 }
3966 }
3967 #[automatically_derived]
3968 #[doc(hidden)]
3969 impl ::core::convert::From<BETA_H_X0Return> for UnderlyingRustTuple<'_> {
3970 fn from(value: BETA_H_X0Return) -> Self {
3971 (value._0,)
3972 }
3973 }
3974 #[automatically_derived]
3975 #[doc(hidden)]
3976 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_X0Return {
3977 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3978 Self { _0: tuple.0 }
3979 }
3980 }
3981 }
3982 #[automatically_derived]
3983 impl alloy_sol_types::SolCall for BETA_H_X0Call {
3984 type Parameters<'a> = ();
3985 type Token<'a> = <Self::Parameters<
3986 'a,
3987 > as alloy_sol_types::SolType>::Token<'a>;
3988 type Return = alloy::sol_types::private::primitives::aliases::U256;
3989 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3990 type ReturnToken<'a> = <Self::ReturnTuple<
3991 'a,
3992 > as alloy_sol_types::SolType>::Token<'a>;
3993 const SIGNATURE: &'static str = "BETA_H_X0()";
3994 const SELECTOR: [u8; 4] = [131u8, 76u8, 69u8, 42u8];
3995 #[inline]
3996 fn new<'a>(
3997 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3998 ) -> Self {
3999 tuple.into()
4000 }
4001 #[inline]
4002 fn tokenize(&self) -> Self::Token<'_> {
4003 ()
4004 }
4005 #[inline]
4006 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4007 (
4008 <alloy::sol_types::sol_data::Uint<
4009 256,
4010 > as alloy_sol_types::SolType>::tokenize(ret),
4011 )
4012 }
4013 #[inline]
4014 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4015 <Self::ReturnTuple<
4016 '_,
4017 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4018 .map(|r| {
4019 let r: BETA_H_X0Return = r.into();
4020 r._0
4021 })
4022 }
4023 #[inline]
4024 fn abi_decode_returns_validate(
4025 data: &[u8],
4026 ) -> alloy_sol_types::Result<Self::Return> {
4027 <Self::ReturnTuple<
4028 '_,
4029 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4030 .map(|r| {
4031 let r: BETA_H_X0Return = r.into();
4032 r._0
4033 })
4034 }
4035 }
4036 };
4037 #[derive(serde::Serialize, serde::Deserialize)]
4038 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4039 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4044 #[derive(Clone)]
4045 pub struct BETA_H_X1Call;
4046 #[derive(serde::Serialize, serde::Deserialize)]
4047 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4048 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4050 #[derive(Clone)]
4051 pub struct BETA_H_X1Return {
4052 #[allow(missing_docs)]
4053 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4054 }
4055 #[allow(
4056 non_camel_case_types,
4057 non_snake_case,
4058 clippy::pub_underscore_fields,
4059 clippy::style
4060 )]
4061 const _: () = {
4062 use alloy::sol_types as alloy_sol_types;
4063 {
4064 #[doc(hidden)]
4065 #[allow(dead_code)]
4066 type UnderlyingSolTuple<'a> = ();
4067 #[doc(hidden)]
4068 type UnderlyingRustTuple<'a> = ();
4069 #[cfg(test)]
4070 #[allow(dead_code, unreachable_patterns)]
4071 fn _type_assertion(
4072 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4073 ) {
4074 match _t {
4075 alloy_sol_types::private::AssertTypeEq::<
4076 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4077 >(_) => {}
4078 }
4079 }
4080 #[automatically_derived]
4081 #[doc(hidden)]
4082 impl ::core::convert::From<BETA_H_X1Call> for UnderlyingRustTuple<'_> {
4083 fn from(value: BETA_H_X1Call) -> Self {
4084 ()
4085 }
4086 }
4087 #[automatically_derived]
4088 #[doc(hidden)]
4089 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_X1Call {
4090 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4091 Self
4092 }
4093 }
4094 }
4095 {
4096 #[doc(hidden)]
4097 #[allow(dead_code)]
4098 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4099 #[doc(hidden)]
4100 type UnderlyingRustTuple<'a> = (
4101 alloy::sol_types::private::primitives::aliases::U256,
4102 );
4103 #[cfg(test)]
4104 #[allow(dead_code, unreachable_patterns)]
4105 fn _type_assertion(
4106 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4107 ) {
4108 match _t {
4109 alloy_sol_types::private::AssertTypeEq::<
4110 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4111 >(_) => {}
4112 }
4113 }
4114 #[automatically_derived]
4115 #[doc(hidden)]
4116 impl ::core::convert::From<BETA_H_X1Return> for UnderlyingRustTuple<'_> {
4117 fn from(value: BETA_H_X1Return) -> Self {
4118 (value._0,)
4119 }
4120 }
4121 #[automatically_derived]
4122 #[doc(hidden)]
4123 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_X1Return {
4124 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4125 Self { _0: tuple.0 }
4126 }
4127 }
4128 }
4129 #[automatically_derived]
4130 impl alloy_sol_types::SolCall for BETA_H_X1Call {
4131 type Parameters<'a> = ();
4132 type Token<'a> = <Self::Parameters<
4133 'a,
4134 > as alloy_sol_types::SolType>::Token<'a>;
4135 type Return = alloy::sol_types::private::primitives::aliases::U256;
4136 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4137 type ReturnToken<'a> = <Self::ReturnTuple<
4138 'a,
4139 > as alloy_sol_types::SolType>::Token<'a>;
4140 const SIGNATURE: &'static str = "BETA_H_X1()";
4141 const SELECTOR: [u8; 4] = [175u8, 25u8, 107u8, 162u8];
4142 #[inline]
4143 fn new<'a>(
4144 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4145 ) -> Self {
4146 tuple.into()
4147 }
4148 #[inline]
4149 fn tokenize(&self) -> Self::Token<'_> {
4150 ()
4151 }
4152 #[inline]
4153 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4154 (
4155 <alloy::sol_types::sol_data::Uint<
4156 256,
4157 > as alloy_sol_types::SolType>::tokenize(ret),
4158 )
4159 }
4160 #[inline]
4161 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4162 <Self::ReturnTuple<
4163 '_,
4164 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4165 .map(|r| {
4166 let r: BETA_H_X1Return = r.into();
4167 r._0
4168 })
4169 }
4170 #[inline]
4171 fn abi_decode_returns_validate(
4172 data: &[u8],
4173 ) -> alloy_sol_types::Result<Self::Return> {
4174 <Self::ReturnTuple<
4175 '_,
4176 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4177 .map(|r| {
4178 let r: BETA_H_X1Return = r.into();
4179 r._0
4180 })
4181 }
4182 }
4183 };
4184 #[derive(serde::Serialize, serde::Deserialize)]
4185 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4186 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4191 #[derive(Clone)]
4192 pub struct BETA_H_Y0Call;
4193 #[derive(serde::Serialize, serde::Deserialize)]
4194 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4195 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4197 #[derive(Clone)]
4198 pub struct BETA_H_Y0Return {
4199 #[allow(missing_docs)]
4200 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4201 }
4202 #[allow(
4203 non_camel_case_types,
4204 non_snake_case,
4205 clippy::pub_underscore_fields,
4206 clippy::style
4207 )]
4208 const _: () = {
4209 use alloy::sol_types as alloy_sol_types;
4210 {
4211 #[doc(hidden)]
4212 #[allow(dead_code)]
4213 type UnderlyingSolTuple<'a> = ();
4214 #[doc(hidden)]
4215 type UnderlyingRustTuple<'a> = ();
4216 #[cfg(test)]
4217 #[allow(dead_code, unreachable_patterns)]
4218 fn _type_assertion(
4219 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4220 ) {
4221 match _t {
4222 alloy_sol_types::private::AssertTypeEq::<
4223 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4224 >(_) => {}
4225 }
4226 }
4227 #[automatically_derived]
4228 #[doc(hidden)]
4229 impl ::core::convert::From<BETA_H_Y0Call> for UnderlyingRustTuple<'_> {
4230 fn from(value: BETA_H_Y0Call) -> Self {
4231 ()
4232 }
4233 }
4234 #[automatically_derived]
4235 #[doc(hidden)]
4236 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_Y0Call {
4237 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4238 Self
4239 }
4240 }
4241 }
4242 {
4243 #[doc(hidden)]
4244 #[allow(dead_code)]
4245 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4246 #[doc(hidden)]
4247 type UnderlyingRustTuple<'a> = (
4248 alloy::sol_types::private::primitives::aliases::U256,
4249 );
4250 #[cfg(test)]
4251 #[allow(dead_code, unreachable_patterns)]
4252 fn _type_assertion(
4253 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4254 ) {
4255 match _t {
4256 alloy_sol_types::private::AssertTypeEq::<
4257 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4258 >(_) => {}
4259 }
4260 }
4261 #[automatically_derived]
4262 #[doc(hidden)]
4263 impl ::core::convert::From<BETA_H_Y0Return> for UnderlyingRustTuple<'_> {
4264 fn from(value: BETA_H_Y0Return) -> Self {
4265 (value._0,)
4266 }
4267 }
4268 #[automatically_derived]
4269 #[doc(hidden)]
4270 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_Y0Return {
4271 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4272 Self { _0: tuple.0 }
4273 }
4274 }
4275 }
4276 #[automatically_derived]
4277 impl alloy_sol_types::SolCall for BETA_H_Y0Call {
4278 type Parameters<'a> = ();
4279 type Token<'a> = <Self::Parameters<
4280 'a,
4281 > as alloy_sol_types::SolType>::Token<'a>;
4282 type Return = alloy::sol_types::private::primitives::aliases::U256;
4283 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4284 type ReturnToken<'a> = <Self::ReturnTuple<
4285 'a,
4286 > as alloy_sol_types::SolType>::Token<'a>;
4287 const SIGNATURE: &'static str = "BETA_H_Y0()";
4288 const SELECTOR: [u8; 4] = [245u8, 20u8, 67u8, 38u8];
4289 #[inline]
4290 fn new<'a>(
4291 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4292 ) -> Self {
4293 tuple.into()
4294 }
4295 #[inline]
4296 fn tokenize(&self) -> Self::Token<'_> {
4297 ()
4298 }
4299 #[inline]
4300 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4301 (
4302 <alloy::sol_types::sol_data::Uint<
4303 256,
4304 > as alloy_sol_types::SolType>::tokenize(ret),
4305 )
4306 }
4307 #[inline]
4308 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4309 <Self::ReturnTuple<
4310 '_,
4311 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4312 .map(|r| {
4313 let r: BETA_H_Y0Return = r.into();
4314 r._0
4315 })
4316 }
4317 #[inline]
4318 fn abi_decode_returns_validate(
4319 data: &[u8],
4320 ) -> alloy_sol_types::Result<Self::Return> {
4321 <Self::ReturnTuple<
4322 '_,
4323 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4324 .map(|r| {
4325 let r: BETA_H_Y0Return = r.into();
4326 r._0
4327 })
4328 }
4329 }
4330 };
4331 #[derive(serde::Serialize, serde::Deserialize)]
4332 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4333 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4338 #[derive(Clone)]
4339 pub struct BETA_H_Y1Call;
4340 #[derive(serde::Serialize, serde::Deserialize)]
4341 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4342 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4344 #[derive(Clone)]
4345 pub struct BETA_H_Y1Return {
4346 #[allow(missing_docs)]
4347 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4348 }
4349 #[allow(
4350 non_camel_case_types,
4351 non_snake_case,
4352 clippy::pub_underscore_fields,
4353 clippy::style
4354 )]
4355 const _: () = {
4356 use alloy::sol_types as alloy_sol_types;
4357 {
4358 #[doc(hidden)]
4359 #[allow(dead_code)]
4360 type UnderlyingSolTuple<'a> = ();
4361 #[doc(hidden)]
4362 type UnderlyingRustTuple<'a> = ();
4363 #[cfg(test)]
4364 #[allow(dead_code, unreachable_patterns)]
4365 fn _type_assertion(
4366 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4367 ) {
4368 match _t {
4369 alloy_sol_types::private::AssertTypeEq::<
4370 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4371 >(_) => {}
4372 }
4373 }
4374 #[automatically_derived]
4375 #[doc(hidden)]
4376 impl ::core::convert::From<BETA_H_Y1Call> for UnderlyingRustTuple<'_> {
4377 fn from(value: BETA_H_Y1Call) -> Self {
4378 ()
4379 }
4380 }
4381 #[automatically_derived]
4382 #[doc(hidden)]
4383 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_Y1Call {
4384 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4385 Self
4386 }
4387 }
4388 }
4389 {
4390 #[doc(hidden)]
4391 #[allow(dead_code)]
4392 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4393 #[doc(hidden)]
4394 type UnderlyingRustTuple<'a> = (
4395 alloy::sol_types::private::primitives::aliases::U256,
4396 );
4397 #[cfg(test)]
4398 #[allow(dead_code, unreachable_patterns)]
4399 fn _type_assertion(
4400 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4401 ) {
4402 match _t {
4403 alloy_sol_types::private::AssertTypeEq::<
4404 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4405 >(_) => {}
4406 }
4407 }
4408 #[automatically_derived]
4409 #[doc(hidden)]
4410 impl ::core::convert::From<BETA_H_Y1Return> for UnderlyingRustTuple<'_> {
4411 fn from(value: BETA_H_Y1Return) -> Self {
4412 (value._0,)
4413 }
4414 }
4415 #[automatically_derived]
4416 #[doc(hidden)]
4417 impl ::core::convert::From<UnderlyingRustTuple<'_>> for BETA_H_Y1Return {
4418 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4419 Self { _0: tuple.0 }
4420 }
4421 }
4422 }
4423 #[automatically_derived]
4424 impl alloy_sol_types::SolCall for BETA_H_Y1Call {
4425 type Parameters<'a> = ();
4426 type Token<'a> = <Self::Parameters<
4427 'a,
4428 > as alloy_sol_types::SolType>::Token<'a>;
4429 type Return = alloy::sol_types::private::primitives::aliases::U256;
4430 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4431 type ReturnToken<'a> = <Self::ReturnTuple<
4432 'a,
4433 > as alloy_sol_types::SolType>::Token<'a>;
4434 const SIGNATURE: &'static str = "BETA_H_Y1()";
4435 const SELECTOR: [u8; 4] = [75u8, 71u8, 52u8, 227u8];
4436 #[inline]
4437 fn new<'a>(
4438 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4439 ) -> Self {
4440 tuple.into()
4441 }
4442 #[inline]
4443 fn tokenize(&self) -> Self::Token<'_> {
4444 ()
4445 }
4446 #[inline]
4447 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4448 (
4449 <alloy::sol_types::sol_data::Uint<
4450 256,
4451 > as alloy_sol_types::SolType>::tokenize(ret),
4452 )
4453 }
4454 #[inline]
4455 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4456 <Self::ReturnTuple<
4457 '_,
4458 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4459 .map(|r| {
4460 let r: BETA_H_Y1Return = r.into();
4461 r._0
4462 })
4463 }
4464 #[inline]
4465 fn abi_decode_returns_validate(
4466 data: &[u8],
4467 ) -> alloy_sol_types::Result<Self::Return> {
4468 <Self::ReturnTuple<
4469 '_,
4470 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4471 .map(|r| {
4472 let r: BETA_H_Y1Return = r.into();
4473 r._0
4474 })
4475 }
4476 }
4477 };
4478 #[derive(serde::Serialize, serde::Deserialize)]
4479 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4480 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4485 #[derive(Clone)]
4486 pub struct COSET_K1Call;
4487 #[derive(serde::Serialize, serde::Deserialize)]
4488 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4489 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4491 #[derive(Clone)]
4492 pub struct COSET_K1Return {
4493 #[allow(missing_docs)]
4494 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4495 }
4496 #[allow(
4497 non_camel_case_types,
4498 non_snake_case,
4499 clippy::pub_underscore_fields,
4500 clippy::style
4501 )]
4502 const _: () = {
4503 use alloy::sol_types as alloy_sol_types;
4504 {
4505 #[doc(hidden)]
4506 #[allow(dead_code)]
4507 type UnderlyingSolTuple<'a> = ();
4508 #[doc(hidden)]
4509 type UnderlyingRustTuple<'a> = ();
4510 #[cfg(test)]
4511 #[allow(dead_code, unreachable_patterns)]
4512 fn _type_assertion(
4513 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4514 ) {
4515 match _t {
4516 alloy_sol_types::private::AssertTypeEq::<
4517 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4518 >(_) => {}
4519 }
4520 }
4521 #[automatically_derived]
4522 #[doc(hidden)]
4523 impl ::core::convert::From<COSET_K1Call> for UnderlyingRustTuple<'_> {
4524 fn from(value: COSET_K1Call) -> Self {
4525 ()
4526 }
4527 }
4528 #[automatically_derived]
4529 #[doc(hidden)]
4530 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K1Call {
4531 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4532 Self
4533 }
4534 }
4535 }
4536 {
4537 #[doc(hidden)]
4538 #[allow(dead_code)]
4539 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4540 #[doc(hidden)]
4541 type UnderlyingRustTuple<'a> = (
4542 alloy::sol_types::private::primitives::aliases::U256,
4543 );
4544 #[cfg(test)]
4545 #[allow(dead_code, unreachable_patterns)]
4546 fn _type_assertion(
4547 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4548 ) {
4549 match _t {
4550 alloy_sol_types::private::AssertTypeEq::<
4551 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4552 >(_) => {}
4553 }
4554 }
4555 #[automatically_derived]
4556 #[doc(hidden)]
4557 impl ::core::convert::From<COSET_K1Return> for UnderlyingRustTuple<'_> {
4558 fn from(value: COSET_K1Return) -> Self {
4559 (value._0,)
4560 }
4561 }
4562 #[automatically_derived]
4563 #[doc(hidden)]
4564 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K1Return {
4565 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4566 Self { _0: tuple.0 }
4567 }
4568 }
4569 }
4570 #[automatically_derived]
4571 impl alloy_sol_types::SolCall for COSET_K1Call {
4572 type Parameters<'a> = ();
4573 type Token<'a> = <Self::Parameters<
4574 'a,
4575 > as alloy_sol_types::SolType>::Token<'a>;
4576 type Return = alloy::sol_types::private::primitives::aliases::U256;
4577 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4578 type ReturnToken<'a> = <Self::ReturnTuple<
4579 'a,
4580 > as alloy_sol_types::SolType>::Token<'a>;
4581 const SIGNATURE: &'static str = "COSET_K1()";
4582 const SELECTOR: [u8; 4] = [227u8, 81u8, 45u8, 86u8];
4583 #[inline]
4584 fn new<'a>(
4585 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4586 ) -> Self {
4587 tuple.into()
4588 }
4589 #[inline]
4590 fn tokenize(&self) -> Self::Token<'_> {
4591 ()
4592 }
4593 #[inline]
4594 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4595 (
4596 <alloy::sol_types::sol_data::Uint<
4597 256,
4598 > as alloy_sol_types::SolType>::tokenize(ret),
4599 )
4600 }
4601 #[inline]
4602 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4603 <Self::ReturnTuple<
4604 '_,
4605 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4606 .map(|r| {
4607 let r: COSET_K1Return = r.into();
4608 r._0
4609 })
4610 }
4611 #[inline]
4612 fn abi_decode_returns_validate(
4613 data: &[u8],
4614 ) -> alloy_sol_types::Result<Self::Return> {
4615 <Self::ReturnTuple<
4616 '_,
4617 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4618 .map(|r| {
4619 let r: COSET_K1Return = r.into();
4620 r._0
4621 })
4622 }
4623 }
4624 };
4625 #[derive(serde::Serialize, serde::Deserialize)]
4626 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4627 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4632 #[derive(Clone)]
4633 pub struct COSET_K2Call;
4634 #[derive(serde::Serialize, serde::Deserialize)]
4635 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4636 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4638 #[derive(Clone)]
4639 pub struct COSET_K2Return {
4640 #[allow(missing_docs)]
4641 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4642 }
4643 #[allow(
4644 non_camel_case_types,
4645 non_snake_case,
4646 clippy::pub_underscore_fields,
4647 clippy::style
4648 )]
4649 const _: () = {
4650 use alloy::sol_types as alloy_sol_types;
4651 {
4652 #[doc(hidden)]
4653 #[allow(dead_code)]
4654 type UnderlyingSolTuple<'a> = ();
4655 #[doc(hidden)]
4656 type UnderlyingRustTuple<'a> = ();
4657 #[cfg(test)]
4658 #[allow(dead_code, unreachable_patterns)]
4659 fn _type_assertion(
4660 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4661 ) {
4662 match _t {
4663 alloy_sol_types::private::AssertTypeEq::<
4664 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4665 >(_) => {}
4666 }
4667 }
4668 #[automatically_derived]
4669 #[doc(hidden)]
4670 impl ::core::convert::From<COSET_K2Call> for UnderlyingRustTuple<'_> {
4671 fn from(value: COSET_K2Call) -> Self {
4672 ()
4673 }
4674 }
4675 #[automatically_derived]
4676 #[doc(hidden)]
4677 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K2Call {
4678 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4679 Self
4680 }
4681 }
4682 }
4683 {
4684 #[doc(hidden)]
4685 #[allow(dead_code)]
4686 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4687 #[doc(hidden)]
4688 type UnderlyingRustTuple<'a> = (
4689 alloy::sol_types::private::primitives::aliases::U256,
4690 );
4691 #[cfg(test)]
4692 #[allow(dead_code, unreachable_patterns)]
4693 fn _type_assertion(
4694 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4695 ) {
4696 match _t {
4697 alloy_sol_types::private::AssertTypeEq::<
4698 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4699 >(_) => {}
4700 }
4701 }
4702 #[automatically_derived]
4703 #[doc(hidden)]
4704 impl ::core::convert::From<COSET_K2Return> for UnderlyingRustTuple<'_> {
4705 fn from(value: COSET_K2Return) -> Self {
4706 (value._0,)
4707 }
4708 }
4709 #[automatically_derived]
4710 #[doc(hidden)]
4711 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K2Return {
4712 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4713 Self { _0: tuple.0 }
4714 }
4715 }
4716 }
4717 #[automatically_derived]
4718 impl alloy_sol_types::SolCall for COSET_K2Call {
4719 type Parameters<'a> = ();
4720 type Token<'a> = <Self::Parameters<
4721 'a,
4722 > as alloy_sol_types::SolType>::Token<'a>;
4723 type Return = alloy::sol_types::private::primitives::aliases::U256;
4724 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4725 type ReturnToken<'a> = <Self::ReturnTuple<
4726 'a,
4727 > as alloy_sol_types::SolType>::Token<'a>;
4728 const SIGNATURE: &'static str = "COSET_K2()";
4729 const SELECTOR: [u8; 4] = [12u8, 85u8, 31u8, 63u8];
4730 #[inline]
4731 fn new<'a>(
4732 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4733 ) -> Self {
4734 tuple.into()
4735 }
4736 #[inline]
4737 fn tokenize(&self) -> Self::Token<'_> {
4738 ()
4739 }
4740 #[inline]
4741 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4742 (
4743 <alloy::sol_types::sol_data::Uint<
4744 256,
4745 > as alloy_sol_types::SolType>::tokenize(ret),
4746 )
4747 }
4748 #[inline]
4749 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4750 <Self::ReturnTuple<
4751 '_,
4752 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4753 .map(|r| {
4754 let r: COSET_K2Return = r.into();
4755 r._0
4756 })
4757 }
4758 #[inline]
4759 fn abi_decode_returns_validate(
4760 data: &[u8],
4761 ) -> alloy_sol_types::Result<Self::Return> {
4762 <Self::ReturnTuple<
4763 '_,
4764 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4765 .map(|r| {
4766 let r: COSET_K2Return = r.into();
4767 r._0
4768 })
4769 }
4770 }
4771 };
4772 #[derive(serde::Serialize, serde::Deserialize)]
4773 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4774 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4779 #[derive(Clone)]
4780 pub struct COSET_K3Call;
4781 #[derive(serde::Serialize, serde::Deserialize)]
4782 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4783 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4785 #[derive(Clone)]
4786 pub struct COSET_K3Return {
4787 #[allow(missing_docs)]
4788 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4789 }
4790 #[allow(
4791 non_camel_case_types,
4792 non_snake_case,
4793 clippy::pub_underscore_fields,
4794 clippy::style
4795 )]
4796 const _: () = {
4797 use alloy::sol_types as alloy_sol_types;
4798 {
4799 #[doc(hidden)]
4800 #[allow(dead_code)]
4801 type UnderlyingSolTuple<'a> = ();
4802 #[doc(hidden)]
4803 type UnderlyingRustTuple<'a> = ();
4804 #[cfg(test)]
4805 #[allow(dead_code, unreachable_patterns)]
4806 fn _type_assertion(
4807 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4808 ) {
4809 match _t {
4810 alloy_sol_types::private::AssertTypeEq::<
4811 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4812 >(_) => {}
4813 }
4814 }
4815 #[automatically_derived]
4816 #[doc(hidden)]
4817 impl ::core::convert::From<COSET_K3Call> for UnderlyingRustTuple<'_> {
4818 fn from(value: COSET_K3Call) -> Self {
4819 ()
4820 }
4821 }
4822 #[automatically_derived]
4823 #[doc(hidden)]
4824 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K3Call {
4825 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4826 Self
4827 }
4828 }
4829 }
4830 {
4831 #[doc(hidden)]
4832 #[allow(dead_code)]
4833 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4834 #[doc(hidden)]
4835 type UnderlyingRustTuple<'a> = (
4836 alloy::sol_types::private::primitives::aliases::U256,
4837 );
4838 #[cfg(test)]
4839 #[allow(dead_code, unreachable_patterns)]
4840 fn _type_assertion(
4841 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4842 ) {
4843 match _t {
4844 alloy_sol_types::private::AssertTypeEq::<
4845 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4846 >(_) => {}
4847 }
4848 }
4849 #[automatically_derived]
4850 #[doc(hidden)]
4851 impl ::core::convert::From<COSET_K3Return> for UnderlyingRustTuple<'_> {
4852 fn from(value: COSET_K3Return) -> Self {
4853 (value._0,)
4854 }
4855 }
4856 #[automatically_derived]
4857 #[doc(hidden)]
4858 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K3Return {
4859 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4860 Self { _0: tuple.0 }
4861 }
4862 }
4863 }
4864 #[automatically_derived]
4865 impl alloy_sol_types::SolCall for COSET_K3Call {
4866 type Parameters<'a> = ();
4867 type Token<'a> = <Self::Parameters<
4868 'a,
4869 > as alloy_sol_types::SolType>::Token<'a>;
4870 type Return = alloy::sol_types::private::primitives::aliases::U256;
4871 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4872 type ReturnToken<'a> = <Self::ReturnTuple<
4873 'a,
4874 > as alloy_sol_types::SolType>::Token<'a>;
4875 const SIGNATURE: &'static str = "COSET_K3()";
4876 const SELECTOR: [u8; 4] = [90u8, 20u8, 192u8, 254u8];
4877 #[inline]
4878 fn new<'a>(
4879 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4880 ) -> Self {
4881 tuple.into()
4882 }
4883 #[inline]
4884 fn tokenize(&self) -> Self::Token<'_> {
4885 ()
4886 }
4887 #[inline]
4888 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4889 (
4890 <alloy::sol_types::sol_data::Uint<
4891 256,
4892 > as alloy_sol_types::SolType>::tokenize(ret),
4893 )
4894 }
4895 #[inline]
4896 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4897 <Self::ReturnTuple<
4898 '_,
4899 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4900 .map(|r| {
4901 let r: COSET_K3Return = r.into();
4902 r._0
4903 })
4904 }
4905 #[inline]
4906 fn abi_decode_returns_validate(
4907 data: &[u8],
4908 ) -> alloy_sol_types::Result<Self::Return> {
4909 <Self::ReturnTuple<
4910 '_,
4911 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4912 .map(|r| {
4913 let r: COSET_K3Return = r.into();
4914 r._0
4915 })
4916 }
4917 }
4918 };
4919 #[derive(serde::Serialize, serde::Deserialize)]
4920 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4921 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4926 #[derive(Clone)]
4927 pub struct COSET_K4Call;
4928 #[derive(serde::Serialize, serde::Deserialize)]
4929 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4930 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4932 #[derive(Clone)]
4933 pub struct COSET_K4Return {
4934 #[allow(missing_docs)]
4935 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4936 }
4937 #[allow(
4938 non_camel_case_types,
4939 non_snake_case,
4940 clippy::pub_underscore_fields,
4941 clippy::style
4942 )]
4943 const _: () = {
4944 use alloy::sol_types as alloy_sol_types;
4945 {
4946 #[doc(hidden)]
4947 #[allow(dead_code)]
4948 type UnderlyingSolTuple<'a> = ();
4949 #[doc(hidden)]
4950 type UnderlyingRustTuple<'a> = ();
4951 #[cfg(test)]
4952 #[allow(dead_code, unreachable_patterns)]
4953 fn _type_assertion(
4954 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4955 ) {
4956 match _t {
4957 alloy_sol_types::private::AssertTypeEq::<
4958 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4959 >(_) => {}
4960 }
4961 }
4962 #[automatically_derived]
4963 #[doc(hidden)]
4964 impl ::core::convert::From<COSET_K4Call> for UnderlyingRustTuple<'_> {
4965 fn from(value: COSET_K4Call) -> Self {
4966 ()
4967 }
4968 }
4969 #[automatically_derived]
4970 #[doc(hidden)]
4971 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K4Call {
4972 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4973 Self
4974 }
4975 }
4976 }
4977 {
4978 #[doc(hidden)]
4979 #[allow(dead_code)]
4980 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4981 #[doc(hidden)]
4982 type UnderlyingRustTuple<'a> = (
4983 alloy::sol_types::private::primitives::aliases::U256,
4984 );
4985 #[cfg(test)]
4986 #[allow(dead_code, unreachable_patterns)]
4987 fn _type_assertion(
4988 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4989 ) {
4990 match _t {
4991 alloy_sol_types::private::AssertTypeEq::<
4992 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4993 >(_) => {}
4994 }
4995 }
4996 #[automatically_derived]
4997 #[doc(hidden)]
4998 impl ::core::convert::From<COSET_K4Return> for UnderlyingRustTuple<'_> {
4999 fn from(value: COSET_K4Return) -> Self {
5000 (value._0,)
5001 }
5002 }
5003 #[automatically_derived]
5004 #[doc(hidden)]
5005 impl ::core::convert::From<UnderlyingRustTuple<'_>> for COSET_K4Return {
5006 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5007 Self { _0: tuple.0 }
5008 }
5009 }
5010 }
5011 #[automatically_derived]
5012 impl alloy_sol_types::SolCall for COSET_K4Call {
5013 type Parameters<'a> = ();
5014 type Token<'a> = <Self::Parameters<
5015 'a,
5016 > as alloy_sol_types::SolType>::Token<'a>;
5017 type Return = alloy::sol_types::private::primitives::aliases::U256;
5018 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
5019 type ReturnToken<'a> = <Self::ReturnTuple<
5020 'a,
5021 > as alloy_sol_types::SolType>::Token<'a>;
5022 const SIGNATURE: &'static str = "COSET_K4()";
5023 const SELECTOR: [u8; 4] = [222u8, 36u8, 172u8, 15u8];
5024 #[inline]
5025 fn new<'a>(
5026 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5027 ) -> Self {
5028 tuple.into()
5029 }
5030 #[inline]
5031 fn tokenize(&self) -> Self::Token<'_> {
5032 ()
5033 }
5034 #[inline]
5035 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5036 (
5037 <alloy::sol_types::sol_data::Uint<
5038 256,
5039 > as alloy_sol_types::SolType>::tokenize(ret),
5040 )
5041 }
5042 #[inline]
5043 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5044 <Self::ReturnTuple<
5045 '_,
5046 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5047 .map(|r| {
5048 let r: COSET_K4Return = r.into();
5049 r._0
5050 })
5051 }
5052 #[inline]
5053 fn abi_decode_returns_validate(
5054 data: &[u8],
5055 ) -> alloy_sol_types::Result<Self::Return> {
5056 <Self::ReturnTuple<
5057 '_,
5058 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5059 .map(|r| {
5060 let r: COSET_K4Return = r.into();
5061 r._0
5062 })
5063 }
5064 }
5065 };
5066 #[derive(serde::Serialize, serde::Deserialize)]
5067 #[derive()]
5068 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5073 #[derive(Clone)]
5074 pub struct verifyCall {
5075 #[allow(missing_docs)]
5076 pub verifyingKey: <IPlonkVerifier::VerifyingKey as alloy::sol_types::SolType>::RustType,
5077 #[allow(missing_docs)]
5078 pub publicInput: [alloy::sol_types::private::primitives::aliases::U256; 5usize],
5079 #[allow(missing_docs)]
5080 pub proof: <IPlonkVerifier::PlonkProof as alloy::sol_types::SolType>::RustType,
5081 }
5082 #[derive(serde::Serialize, serde::Deserialize)]
5083 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5084 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5086 #[derive(Clone)]
5087 pub struct verifyReturn {
5088 #[allow(missing_docs)]
5089 pub _0: bool,
5090 }
5091 #[allow(
5092 non_camel_case_types,
5093 non_snake_case,
5094 clippy::pub_underscore_fields,
5095 clippy::style
5096 )]
5097 const _: () = {
5098 use alloy::sol_types as alloy_sol_types;
5099 {
5100 #[doc(hidden)]
5101 #[allow(dead_code)]
5102 type UnderlyingSolTuple<'a> = (
5103 IPlonkVerifier::VerifyingKey,
5104 alloy::sol_types::sol_data::FixedArray<
5105 alloy::sol_types::sol_data::Uint<256>,
5106 5usize,
5107 >,
5108 IPlonkVerifier::PlonkProof,
5109 );
5110 #[doc(hidden)]
5111 type UnderlyingRustTuple<'a> = (
5112 <IPlonkVerifier::VerifyingKey as alloy::sol_types::SolType>::RustType,
5113 [alloy::sol_types::private::primitives::aliases::U256; 5usize],
5114 <IPlonkVerifier::PlonkProof as alloy::sol_types::SolType>::RustType,
5115 );
5116 #[cfg(test)]
5117 #[allow(dead_code, unreachable_patterns)]
5118 fn _type_assertion(
5119 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5120 ) {
5121 match _t {
5122 alloy_sol_types::private::AssertTypeEq::<
5123 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5124 >(_) => {}
5125 }
5126 }
5127 #[automatically_derived]
5128 #[doc(hidden)]
5129 impl ::core::convert::From<verifyCall> for UnderlyingRustTuple<'_> {
5130 fn from(value: verifyCall) -> Self {
5131 (value.verifyingKey, value.publicInput, value.proof)
5132 }
5133 }
5134 #[automatically_derived]
5135 #[doc(hidden)]
5136 impl ::core::convert::From<UnderlyingRustTuple<'_>> for verifyCall {
5137 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5138 Self {
5139 verifyingKey: tuple.0,
5140 publicInput: tuple.1,
5141 proof: tuple.2,
5142 }
5143 }
5144 }
5145 }
5146 {
5147 #[doc(hidden)]
5148 #[allow(dead_code)]
5149 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5150 #[doc(hidden)]
5151 type UnderlyingRustTuple<'a> = (bool,);
5152 #[cfg(test)]
5153 #[allow(dead_code, unreachable_patterns)]
5154 fn _type_assertion(
5155 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5156 ) {
5157 match _t {
5158 alloy_sol_types::private::AssertTypeEq::<
5159 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5160 >(_) => {}
5161 }
5162 }
5163 #[automatically_derived]
5164 #[doc(hidden)]
5165 impl ::core::convert::From<verifyReturn> for UnderlyingRustTuple<'_> {
5166 fn from(value: verifyReturn) -> Self {
5167 (value._0,)
5168 }
5169 }
5170 #[automatically_derived]
5171 #[doc(hidden)]
5172 impl ::core::convert::From<UnderlyingRustTuple<'_>> for verifyReturn {
5173 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5174 Self { _0: tuple.0 }
5175 }
5176 }
5177 }
5178 #[automatically_derived]
5179 impl alloy_sol_types::SolCall for verifyCall {
5180 type Parameters<'a> = (
5181 IPlonkVerifier::VerifyingKey,
5182 alloy::sol_types::sol_data::FixedArray<
5183 alloy::sol_types::sol_data::Uint<256>,
5184 5usize,
5185 >,
5186 IPlonkVerifier::PlonkProof,
5187 );
5188 type Token<'a> = <Self::Parameters<
5189 'a,
5190 > as alloy_sol_types::SolType>::Token<'a>;
5191 type Return = bool;
5192 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5193 type ReturnToken<'a> = <Self::ReturnTuple<
5194 'a,
5195 > as alloy_sol_types::SolType>::Token<'a>;
5196 const SIGNATURE: &'static str = "verify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),bytes32,bytes32),uint256[5],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))";
5197 const SELECTOR: [u8; 4] = [91u8, 208u8, 38u8, 72u8];
5198 #[inline]
5199 fn new<'a>(
5200 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5201 ) -> Self {
5202 tuple.into()
5203 }
5204 #[inline]
5205 fn tokenize(&self) -> Self::Token<'_> {
5206 (
5207 <IPlonkVerifier::VerifyingKey as alloy_sol_types::SolType>::tokenize(
5208 &self.verifyingKey,
5209 ),
5210 <alloy::sol_types::sol_data::FixedArray<
5211 alloy::sol_types::sol_data::Uint<256>,
5212 5usize,
5213 > as alloy_sol_types::SolType>::tokenize(&self.publicInput),
5214 <IPlonkVerifier::PlonkProof as alloy_sol_types::SolType>::tokenize(
5215 &self.proof,
5216 ),
5217 )
5218 }
5219 #[inline]
5220 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5221 (
5222 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
5223 ret,
5224 ),
5225 )
5226 }
5227 #[inline]
5228 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5229 <Self::ReturnTuple<
5230 '_,
5231 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5232 .map(|r| {
5233 let r: verifyReturn = r.into();
5234 r._0
5235 })
5236 }
5237 #[inline]
5238 fn abi_decode_returns_validate(
5239 data: &[u8],
5240 ) -> alloy_sol_types::Result<Self::Return> {
5241 <Self::ReturnTuple<
5242 '_,
5243 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5244 .map(|r| {
5245 let r: verifyReturn = r.into();
5246 r._0
5247 })
5248 }
5249 }
5250 };
5251 #[derive(serde::Serialize, serde::Deserialize)]
5253 #[derive()]
5254 pub enum PlonkVerifierV3Calls {
5255 #[allow(missing_docs)]
5256 BETA_H_X0(BETA_H_X0Call),
5257 #[allow(missing_docs)]
5258 BETA_H_X1(BETA_H_X1Call),
5259 #[allow(missing_docs)]
5260 BETA_H_Y0(BETA_H_Y0Call),
5261 #[allow(missing_docs)]
5262 BETA_H_Y1(BETA_H_Y1Call),
5263 #[allow(missing_docs)]
5264 COSET_K1(COSET_K1Call),
5265 #[allow(missing_docs)]
5266 COSET_K2(COSET_K2Call),
5267 #[allow(missing_docs)]
5268 COSET_K3(COSET_K3Call),
5269 #[allow(missing_docs)]
5270 COSET_K4(COSET_K4Call),
5271 #[allow(missing_docs)]
5272 verify(verifyCall),
5273 }
5274 #[automatically_derived]
5275 impl PlonkVerifierV3Calls {
5276 pub const SELECTORS: &'static [[u8; 4usize]] = &[
5283 [12u8, 85u8, 31u8, 63u8],
5284 [75u8, 71u8, 52u8, 227u8],
5285 [90u8, 20u8, 192u8, 254u8],
5286 [91u8, 208u8, 38u8, 72u8],
5287 [131u8, 76u8, 69u8, 42u8],
5288 [175u8, 25u8, 107u8, 162u8],
5289 [222u8, 36u8, 172u8, 15u8],
5290 [227u8, 81u8, 45u8, 86u8],
5291 [245u8, 20u8, 67u8, 38u8],
5292 ];
5293 }
5294 #[automatically_derived]
5295 impl alloy_sol_types::SolInterface for PlonkVerifierV3Calls {
5296 const NAME: &'static str = "PlonkVerifierV3Calls";
5297 const MIN_DATA_LENGTH: usize = 0usize;
5298 const COUNT: usize = 9usize;
5299 #[inline]
5300 fn selector(&self) -> [u8; 4] {
5301 match self {
5302 Self::BETA_H_X0(_) => {
5303 <BETA_H_X0Call as alloy_sol_types::SolCall>::SELECTOR
5304 }
5305 Self::BETA_H_X1(_) => {
5306 <BETA_H_X1Call as alloy_sol_types::SolCall>::SELECTOR
5307 }
5308 Self::BETA_H_Y0(_) => {
5309 <BETA_H_Y0Call as alloy_sol_types::SolCall>::SELECTOR
5310 }
5311 Self::BETA_H_Y1(_) => {
5312 <BETA_H_Y1Call as alloy_sol_types::SolCall>::SELECTOR
5313 }
5314 Self::COSET_K1(_) => <COSET_K1Call as alloy_sol_types::SolCall>::SELECTOR,
5315 Self::COSET_K2(_) => <COSET_K2Call as alloy_sol_types::SolCall>::SELECTOR,
5316 Self::COSET_K3(_) => <COSET_K3Call as alloy_sol_types::SolCall>::SELECTOR,
5317 Self::COSET_K4(_) => <COSET_K4Call as alloy_sol_types::SolCall>::SELECTOR,
5318 Self::verify(_) => <verifyCall as alloy_sol_types::SolCall>::SELECTOR,
5319 }
5320 }
5321 #[inline]
5322 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
5323 Self::SELECTORS.get(i).copied()
5324 }
5325 #[inline]
5326 fn valid_selector(selector: [u8; 4]) -> bool {
5327 Self::SELECTORS.binary_search(&selector).is_ok()
5328 }
5329 #[inline]
5330 #[allow(non_snake_case)]
5331 fn abi_decode_raw(
5332 selector: [u8; 4],
5333 data: &[u8],
5334 ) -> alloy_sol_types::Result<Self> {
5335 static DECODE_SHIMS: &[fn(
5336 &[u8],
5337 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls>] = &[
5338 {
5339 fn COSET_K2(
5340 data: &[u8],
5341 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5342 <COSET_K2Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5343 .map(PlonkVerifierV3Calls::COSET_K2)
5344 }
5345 COSET_K2
5346 },
5347 {
5348 fn BETA_H_Y1(
5349 data: &[u8],
5350 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5351 <BETA_H_Y1Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5352 .map(PlonkVerifierV3Calls::BETA_H_Y1)
5353 }
5354 BETA_H_Y1
5355 },
5356 {
5357 fn COSET_K3(
5358 data: &[u8],
5359 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5360 <COSET_K3Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5361 .map(PlonkVerifierV3Calls::COSET_K3)
5362 }
5363 COSET_K3
5364 },
5365 {
5366 fn verify(
5367 data: &[u8],
5368 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5369 <verifyCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
5370 .map(PlonkVerifierV3Calls::verify)
5371 }
5372 verify
5373 },
5374 {
5375 fn BETA_H_X0(
5376 data: &[u8],
5377 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5378 <BETA_H_X0Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5379 .map(PlonkVerifierV3Calls::BETA_H_X0)
5380 }
5381 BETA_H_X0
5382 },
5383 {
5384 fn BETA_H_X1(
5385 data: &[u8],
5386 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5387 <BETA_H_X1Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5388 .map(PlonkVerifierV3Calls::BETA_H_X1)
5389 }
5390 BETA_H_X1
5391 },
5392 {
5393 fn COSET_K4(
5394 data: &[u8],
5395 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5396 <COSET_K4Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5397 .map(PlonkVerifierV3Calls::COSET_K4)
5398 }
5399 COSET_K4
5400 },
5401 {
5402 fn COSET_K1(
5403 data: &[u8],
5404 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5405 <COSET_K1Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5406 .map(PlonkVerifierV3Calls::COSET_K1)
5407 }
5408 COSET_K1
5409 },
5410 {
5411 fn BETA_H_Y0(
5412 data: &[u8],
5413 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5414 <BETA_H_Y0Call as alloy_sol_types::SolCall>::abi_decode_raw(data)
5415 .map(PlonkVerifierV3Calls::BETA_H_Y0)
5416 }
5417 BETA_H_Y0
5418 },
5419 ];
5420 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5421 return Err(
5422 alloy_sol_types::Error::unknown_selector(
5423 <Self as alloy_sol_types::SolInterface>::NAME,
5424 selector,
5425 ),
5426 );
5427 };
5428 DECODE_SHIMS[idx](data)
5429 }
5430 #[inline]
5431 #[allow(non_snake_case)]
5432 fn abi_decode_raw_validate(
5433 selector: [u8; 4],
5434 data: &[u8],
5435 ) -> alloy_sol_types::Result<Self> {
5436 static DECODE_VALIDATE_SHIMS: &[fn(
5437 &[u8],
5438 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls>] = &[
5439 {
5440 fn COSET_K2(
5441 data: &[u8],
5442 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5443 <COSET_K2Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5444 data,
5445 )
5446 .map(PlonkVerifierV3Calls::COSET_K2)
5447 }
5448 COSET_K2
5449 },
5450 {
5451 fn BETA_H_Y1(
5452 data: &[u8],
5453 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5454 <BETA_H_Y1Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5455 data,
5456 )
5457 .map(PlonkVerifierV3Calls::BETA_H_Y1)
5458 }
5459 BETA_H_Y1
5460 },
5461 {
5462 fn COSET_K3(
5463 data: &[u8],
5464 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5465 <COSET_K3Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5466 data,
5467 )
5468 .map(PlonkVerifierV3Calls::COSET_K3)
5469 }
5470 COSET_K3
5471 },
5472 {
5473 fn verify(
5474 data: &[u8],
5475 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5476 <verifyCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5477 data,
5478 )
5479 .map(PlonkVerifierV3Calls::verify)
5480 }
5481 verify
5482 },
5483 {
5484 fn BETA_H_X0(
5485 data: &[u8],
5486 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5487 <BETA_H_X0Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5488 data,
5489 )
5490 .map(PlonkVerifierV3Calls::BETA_H_X0)
5491 }
5492 BETA_H_X0
5493 },
5494 {
5495 fn BETA_H_X1(
5496 data: &[u8],
5497 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5498 <BETA_H_X1Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5499 data,
5500 )
5501 .map(PlonkVerifierV3Calls::BETA_H_X1)
5502 }
5503 BETA_H_X1
5504 },
5505 {
5506 fn COSET_K4(
5507 data: &[u8],
5508 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5509 <COSET_K4Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5510 data,
5511 )
5512 .map(PlonkVerifierV3Calls::COSET_K4)
5513 }
5514 COSET_K4
5515 },
5516 {
5517 fn COSET_K1(
5518 data: &[u8],
5519 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5520 <COSET_K1Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5521 data,
5522 )
5523 .map(PlonkVerifierV3Calls::COSET_K1)
5524 }
5525 COSET_K1
5526 },
5527 {
5528 fn BETA_H_Y0(
5529 data: &[u8],
5530 ) -> alloy_sol_types::Result<PlonkVerifierV3Calls> {
5531 <BETA_H_Y0Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5532 data,
5533 )
5534 .map(PlonkVerifierV3Calls::BETA_H_Y0)
5535 }
5536 BETA_H_Y0
5537 },
5538 ];
5539 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5540 return Err(
5541 alloy_sol_types::Error::unknown_selector(
5542 <Self as alloy_sol_types::SolInterface>::NAME,
5543 selector,
5544 ),
5545 );
5546 };
5547 DECODE_VALIDATE_SHIMS[idx](data)
5548 }
5549 #[inline]
5550 fn abi_encoded_size(&self) -> usize {
5551 match self {
5552 Self::BETA_H_X0(inner) => {
5553 <BETA_H_X0Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5554 }
5555 Self::BETA_H_X1(inner) => {
5556 <BETA_H_X1Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5557 }
5558 Self::BETA_H_Y0(inner) => {
5559 <BETA_H_Y0Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5560 }
5561 Self::BETA_H_Y1(inner) => {
5562 <BETA_H_Y1Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5563 }
5564 Self::COSET_K1(inner) => {
5565 <COSET_K1Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5566 }
5567 Self::COSET_K2(inner) => {
5568 <COSET_K2Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5569 }
5570 Self::COSET_K3(inner) => {
5571 <COSET_K3Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5572 }
5573 Self::COSET_K4(inner) => {
5574 <COSET_K4Call as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5575 }
5576 Self::verify(inner) => {
5577 <verifyCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5578 }
5579 }
5580 }
5581 #[inline]
5582 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
5583 match self {
5584 Self::BETA_H_X0(inner) => {
5585 <BETA_H_X0Call as alloy_sol_types::SolCall>::abi_encode_raw(
5586 inner,
5587 out,
5588 )
5589 }
5590 Self::BETA_H_X1(inner) => {
5591 <BETA_H_X1Call as alloy_sol_types::SolCall>::abi_encode_raw(
5592 inner,
5593 out,
5594 )
5595 }
5596 Self::BETA_H_Y0(inner) => {
5597 <BETA_H_Y0Call as alloy_sol_types::SolCall>::abi_encode_raw(
5598 inner,
5599 out,
5600 )
5601 }
5602 Self::BETA_H_Y1(inner) => {
5603 <BETA_H_Y1Call as alloy_sol_types::SolCall>::abi_encode_raw(
5604 inner,
5605 out,
5606 )
5607 }
5608 Self::COSET_K1(inner) => {
5609 <COSET_K1Call as alloy_sol_types::SolCall>::abi_encode_raw(
5610 inner,
5611 out,
5612 )
5613 }
5614 Self::COSET_K2(inner) => {
5615 <COSET_K2Call as alloy_sol_types::SolCall>::abi_encode_raw(
5616 inner,
5617 out,
5618 )
5619 }
5620 Self::COSET_K3(inner) => {
5621 <COSET_K3Call as alloy_sol_types::SolCall>::abi_encode_raw(
5622 inner,
5623 out,
5624 )
5625 }
5626 Self::COSET_K4(inner) => {
5627 <COSET_K4Call as alloy_sol_types::SolCall>::abi_encode_raw(
5628 inner,
5629 out,
5630 )
5631 }
5632 Self::verify(inner) => {
5633 <verifyCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
5634 }
5635 }
5636 }
5637 }
5638 #[derive(serde::Serialize, serde::Deserialize)]
5640 #[derive(Debug, PartialEq, Eq, Hash)]
5641 pub enum PlonkVerifierV3Errors {
5642 #[allow(missing_docs)]
5643 BN254G1AddFailed(BN254G1AddFailed),
5644 #[allow(missing_docs)]
5645 BN254PairingProdFailed(BN254PairingProdFailed),
5646 #[allow(missing_docs)]
5647 BN254ScalarInvZero(BN254ScalarInvZero),
5648 #[allow(missing_docs)]
5649 BN254ScalarMulFailed(BN254ScalarMulFailed),
5650 #[allow(missing_docs)]
5651 InvalidG1(InvalidG1),
5652 #[allow(missing_docs)]
5653 InvalidPlonkArgs(InvalidPlonkArgs),
5654 #[allow(missing_docs)]
5655 InvalidScalar(InvalidScalar),
5656 #[allow(missing_docs)]
5657 PowPrecompileFailed(PowPrecompileFailed),
5658 #[allow(missing_docs)]
5659 UnsupportedDegree(UnsupportedDegree),
5660 #[allow(missing_docs)]
5661 WrongPlonkVK(WrongPlonkVK),
5662 }
5663 #[automatically_derived]
5664 impl PlonkVerifierV3Errors {
5665 pub const SELECTORS: &'static [[u8; 4usize]] = &[
5672 [5u8, 176u8, 92u8, 204u8],
5673 [25u8, 219u8, 138u8, 104u8],
5674 [50u8, 116u8, 250u8, 100u8],
5675 [65u8, 245u8, 59u8, 18u8],
5676 [96u8, 85u8, 219u8, 106u8],
5677 [158u8, 120u8, 209u8, 76u8],
5678 [194u8, 6u8, 51u8, 79u8],
5679 [214u8, 219u8, 187u8, 13u8],
5680 [226u8, 239u8, 9u8, 229u8],
5681 [253u8, 154u8, 45u8, 27u8],
5682 ];
5683 }
5684 #[automatically_derived]
5685 impl alloy_sol_types::SolInterface for PlonkVerifierV3Errors {
5686 const NAME: &'static str = "PlonkVerifierV3Errors";
5687 const MIN_DATA_LENGTH: usize = 0usize;
5688 const COUNT: usize = 10usize;
5689 #[inline]
5690 fn selector(&self) -> [u8; 4] {
5691 match self {
5692 Self::BN254G1AddFailed(_) => {
5693 <BN254G1AddFailed as alloy_sol_types::SolError>::SELECTOR
5694 }
5695 Self::BN254PairingProdFailed(_) => {
5696 <BN254PairingProdFailed as alloy_sol_types::SolError>::SELECTOR
5697 }
5698 Self::BN254ScalarInvZero(_) => {
5699 <BN254ScalarInvZero as alloy_sol_types::SolError>::SELECTOR
5700 }
5701 Self::BN254ScalarMulFailed(_) => {
5702 <BN254ScalarMulFailed as alloy_sol_types::SolError>::SELECTOR
5703 }
5704 Self::InvalidG1(_) => <InvalidG1 as alloy_sol_types::SolError>::SELECTOR,
5705 Self::InvalidPlonkArgs(_) => {
5706 <InvalidPlonkArgs as alloy_sol_types::SolError>::SELECTOR
5707 }
5708 Self::InvalidScalar(_) => {
5709 <InvalidScalar as alloy_sol_types::SolError>::SELECTOR
5710 }
5711 Self::PowPrecompileFailed(_) => {
5712 <PowPrecompileFailed as alloy_sol_types::SolError>::SELECTOR
5713 }
5714 Self::UnsupportedDegree(_) => {
5715 <UnsupportedDegree as alloy_sol_types::SolError>::SELECTOR
5716 }
5717 Self::WrongPlonkVK(_) => {
5718 <WrongPlonkVK as alloy_sol_types::SolError>::SELECTOR
5719 }
5720 }
5721 }
5722 #[inline]
5723 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
5724 Self::SELECTORS.get(i).copied()
5725 }
5726 #[inline]
5727 fn valid_selector(selector: [u8; 4]) -> bool {
5728 Self::SELECTORS.binary_search(&selector).is_ok()
5729 }
5730 #[inline]
5731 #[allow(non_snake_case)]
5732 fn abi_decode_raw(
5733 selector: [u8; 4],
5734 data: &[u8],
5735 ) -> alloy_sol_types::Result<Self> {
5736 static DECODE_SHIMS: &[fn(
5737 &[u8],
5738 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors>] = &[
5739 {
5740 fn InvalidScalar(
5741 data: &[u8],
5742 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5743 <InvalidScalar as alloy_sol_types::SolError>::abi_decode_raw(
5744 data,
5745 )
5746 .map(PlonkVerifierV3Errors::InvalidScalar)
5747 }
5748 InvalidScalar
5749 },
5750 {
5751 fn BN254ScalarMulFailed(
5752 data: &[u8],
5753 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5754 <BN254ScalarMulFailed as alloy_sol_types::SolError>::abi_decode_raw(
5755 data,
5756 )
5757 .map(PlonkVerifierV3Errors::BN254ScalarMulFailed)
5758 }
5759 BN254ScalarMulFailed
5760 },
5761 {
5762 fn PowPrecompileFailed(
5763 data: &[u8],
5764 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5765 <PowPrecompileFailed as alloy_sol_types::SolError>::abi_decode_raw(
5766 data,
5767 )
5768 .map(PlonkVerifierV3Errors::PowPrecompileFailed)
5769 }
5770 PowPrecompileFailed
5771 },
5772 {
5773 fn WrongPlonkVK(
5774 data: &[u8],
5775 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5776 <WrongPlonkVK as alloy_sol_types::SolError>::abi_decode_raw(data)
5777 .map(PlonkVerifierV3Errors::WrongPlonkVK)
5778 }
5779 WrongPlonkVK
5780 },
5781 {
5782 fn BN254G1AddFailed(
5783 data: &[u8],
5784 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5785 <BN254G1AddFailed as alloy_sol_types::SolError>::abi_decode_raw(
5786 data,
5787 )
5788 .map(PlonkVerifierV3Errors::BN254G1AddFailed)
5789 }
5790 BN254G1AddFailed
5791 },
5792 {
5793 fn InvalidG1(
5794 data: &[u8],
5795 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5796 <InvalidG1 as alloy_sol_types::SolError>::abi_decode_raw(data)
5797 .map(PlonkVerifierV3Errors::InvalidG1)
5798 }
5799 InvalidG1
5800 },
5801 {
5802 fn BN254PairingProdFailed(
5803 data: &[u8],
5804 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5805 <BN254PairingProdFailed as alloy_sol_types::SolError>::abi_decode_raw(
5806 data,
5807 )
5808 .map(PlonkVerifierV3Errors::BN254PairingProdFailed)
5809 }
5810 BN254PairingProdFailed
5811 },
5812 {
5813 fn BN254ScalarInvZero(
5814 data: &[u8],
5815 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5816 <BN254ScalarInvZero as alloy_sol_types::SolError>::abi_decode_raw(
5817 data,
5818 )
5819 .map(PlonkVerifierV3Errors::BN254ScalarInvZero)
5820 }
5821 BN254ScalarInvZero
5822 },
5823 {
5824 fn UnsupportedDegree(
5825 data: &[u8],
5826 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5827 <UnsupportedDegree as alloy_sol_types::SolError>::abi_decode_raw(
5828 data,
5829 )
5830 .map(PlonkVerifierV3Errors::UnsupportedDegree)
5831 }
5832 UnsupportedDegree
5833 },
5834 {
5835 fn InvalidPlonkArgs(
5836 data: &[u8],
5837 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5838 <InvalidPlonkArgs as alloy_sol_types::SolError>::abi_decode_raw(
5839 data,
5840 )
5841 .map(PlonkVerifierV3Errors::InvalidPlonkArgs)
5842 }
5843 InvalidPlonkArgs
5844 },
5845 ];
5846 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5847 return Err(
5848 alloy_sol_types::Error::unknown_selector(
5849 <Self as alloy_sol_types::SolInterface>::NAME,
5850 selector,
5851 ),
5852 );
5853 };
5854 DECODE_SHIMS[idx](data)
5855 }
5856 #[inline]
5857 #[allow(non_snake_case)]
5858 fn abi_decode_raw_validate(
5859 selector: [u8; 4],
5860 data: &[u8],
5861 ) -> alloy_sol_types::Result<Self> {
5862 static DECODE_VALIDATE_SHIMS: &[fn(
5863 &[u8],
5864 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors>] = &[
5865 {
5866 fn InvalidScalar(
5867 data: &[u8],
5868 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5869 <InvalidScalar as alloy_sol_types::SolError>::abi_decode_raw_validate(
5870 data,
5871 )
5872 .map(PlonkVerifierV3Errors::InvalidScalar)
5873 }
5874 InvalidScalar
5875 },
5876 {
5877 fn BN254ScalarMulFailed(
5878 data: &[u8],
5879 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5880 <BN254ScalarMulFailed as alloy_sol_types::SolError>::abi_decode_raw_validate(
5881 data,
5882 )
5883 .map(PlonkVerifierV3Errors::BN254ScalarMulFailed)
5884 }
5885 BN254ScalarMulFailed
5886 },
5887 {
5888 fn PowPrecompileFailed(
5889 data: &[u8],
5890 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5891 <PowPrecompileFailed as alloy_sol_types::SolError>::abi_decode_raw_validate(
5892 data,
5893 )
5894 .map(PlonkVerifierV3Errors::PowPrecompileFailed)
5895 }
5896 PowPrecompileFailed
5897 },
5898 {
5899 fn WrongPlonkVK(
5900 data: &[u8],
5901 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5902 <WrongPlonkVK as alloy_sol_types::SolError>::abi_decode_raw_validate(
5903 data,
5904 )
5905 .map(PlonkVerifierV3Errors::WrongPlonkVK)
5906 }
5907 WrongPlonkVK
5908 },
5909 {
5910 fn BN254G1AddFailed(
5911 data: &[u8],
5912 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5913 <BN254G1AddFailed as alloy_sol_types::SolError>::abi_decode_raw_validate(
5914 data,
5915 )
5916 .map(PlonkVerifierV3Errors::BN254G1AddFailed)
5917 }
5918 BN254G1AddFailed
5919 },
5920 {
5921 fn InvalidG1(
5922 data: &[u8],
5923 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5924 <InvalidG1 as alloy_sol_types::SolError>::abi_decode_raw_validate(
5925 data,
5926 )
5927 .map(PlonkVerifierV3Errors::InvalidG1)
5928 }
5929 InvalidG1
5930 },
5931 {
5932 fn BN254PairingProdFailed(
5933 data: &[u8],
5934 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5935 <BN254PairingProdFailed as alloy_sol_types::SolError>::abi_decode_raw_validate(
5936 data,
5937 )
5938 .map(PlonkVerifierV3Errors::BN254PairingProdFailed)
5939 }
5940 BN254PairingProdFailed
5941 },
5942 {
5943 fn BN254ScalarInvZero(
5944 data: &[u8],
5945 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5946 <BN254ScalarInvZero as alloy_sol_types::SolError>::abi_decode_raw_validate(
5947 data,
5948 )
5949 .map(PlonkVerifierV3Errors::BN254ScalarInvZero)
5950 }
5951 BN254ScalarInvZero
5952 },
5953 {
5954 fn UnsupportedDegree(
5955 data: &[u8],
5956 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5957 <UnsupportedDegree as alloy_sol_types::SolError>::abi_decode_raw_validate(
5958 data,
5959 )
5960 .map(PlonkVerifierV3Errors::UnsupportedDegree)
5961 }
5962 UnsupportedDegree
5963 },
5964 {
5965 fn InvalidPlonkArgs(
5966 data: &[u8],
5967 ) -> alloy_sol_types::Result<PlonkVerifierV3Errors> {
5968 <InvalidPlonkArgs as alloy_sol_types::SolError>::abi_decode_raw_validate(
5969 data,
5970 )
5971 .map(PlonkVerifierV3Errors::InvalidPlonkArgs)
5972 }
5973 InvalidPlonkArgs
5974 },
5975 ];
5976 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5977 return Err(
5978 alloy_sol_types::Error::unknown_selector(
5979 <Self as alloy_sol_types::SolInterface>::NAME,
5980 selector,
5981 ),
5982 );
5983 };
5984 DECODE_VALIDATE_SHIMS[idx](data)
5985 }
5986 #[inline]
5987 fn abi_encoded_size(&self) -> usize {
5988 match self {
5989 Self::BN254G1AddFailed(inner) => {
5990 <BN254G1AddFailed as alloy_sol_types::SolError>::abi_encoded_size(
5991 inner,
5992 )
5993 }
5994 Self::BN254PairingProdFailed(inner) => {
5995 <BN254PairingProdFailed as alloy_sol_types::SolError>::abi_encoded_size(
5996 inner,
5997 )
5998 }
5999 Self::BN254ScalarInvZero(inner) => {
6000 <BN254ScalarInvZero as alloy_sol_types::SolError>::abi_encoded_size(
6001 inner,
6002 )
6003 }
6004 Self::BN254ScalarMulFailed(inner) => {
6005 <BN254ScalarMulFailed as alloy_sol_types::SolError>::abi_encoded_size(
6006 inner,
6007 )
6008 }
6009 Self::InvalidG1(inner) => {
6010 <InvalidG1 as alloy_sol_types::SolError>::abi_encoded_size(inner)
6011 }
6012 Self::InvalidPlonkArgs(inner) => {
6013 <InvalidPlonkArgs as alloy_sol_types::SolError>::abi_encoded_size(
6014 inner,
6015 )
6016 }
6017 Self::InvalidScalar(inner) => {
6018 <InvalidScalar as alloy_sol_types::SolError>::abi_encoded_size(inner)
6019 }
6020 Self::PowPrecompileFailed(inner) => {
6021 <PowPrecompileFailed as alloy_sol_types::SolError>::abi_encoded_size(
6022 inner,
6023 )
6024 }
6025 Self::UnsupportedDegree(inner) => {
6026 <UnsupportedDegree as alloy_sol_types::SolError>::abi_encoded_size(
6027 inner,
6028 )
6029 }
6030 Self::WrongPlonkVK(inner) => {
6031 <WrongPlonkVK as alloy_sol_types::SolError>::abi_encoded_size(inner)
6032 }
6033 }
6034 }
6035 #[inline]
6036 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
6037 match self {
6038 Self::BN254G1AddFailed(inner) => {
6039 <BN254G1AddFailed as alloy_sol_types::SolError>::abi_encode_raw(
6040 inner,
6041 out,
6042 )
6043 }
6044 Self::BN254PairingProdFailed(inner) => {
6045 <BN254PairingProdFailed as alloy_sol_types::SolError>::abi_encode_raw(
6046 inner,
6047 out,
6048 )
6049 }
6050 Self::BN254ScalarInvZero(inner) => {
6051 <BN254ScalarInvZero as alloy_sol_types::SolError>::abi_encode_raw(
6052 inner,
6053 out,
6054 )
6055 }
6056 Self::BN254ScalarMulFailed(inner) => {
6057 <BN254ScalarMulFailed as alloy_sol_types::SolError>::abi_encode_raw(
6058 inner,
6059 out,
6060 )
6061 }
6062 Self::InvalidG1(inner) => {
6063 <InvalidG1 as alloy_sol_types::SolError>::abi_encode_raw(inner, out)
6064 }
6065 Self::InvalidPlonkArgs(inner) => {
6066 <InvalidPlonkArgs as alloy_sol_types::SolError>::abi_encode_raw(
6067 inner,
6068 out,
6069 )
6070 }
6071 Self::InvalidScalar(inner) => {
6072 <InvalidScalar as alloy_sol_types::SolError>::abi_encode_raw(
6073 inner,
6074 out,
6075 )
6076 }
6077 Self::PowPrecompileFailed(inner) => {
6078 <PowPrecompileFailed as alloy_sol_types::SolError>::abi_encode_raw(
6079 inner,
6080 out,
6081 )
6082 }
6083 Self::UnsupportedDegree(inner) => {
6084 <UnsupportedDegree as alloy_sol_types::SolError>::abi_encode_raw(
6085 inner,
6086 out,
6087 )
6088 }
6089 Self::WrongPlonkVK(inner) => {
6090 <WrongPlonkVK as alloy_sol_types::SolError>::abi_encode_raw(
6091 inner,
6092 out,
6093 )
6094 }
6095 }
6096 }
6097 }
6098 use alloy::contract as alloy_contract;
6099 #[inline]
6103 pub const fn new<
6104 P: alloy_contract::private::Provider<N>,
6105 N: alloy_contract::private::Network,
6106 >(
6107 address: alloy_sol_types::private::Address,
6108 __provider: P,
6109 ) -> PlonkVerifierV3Instance<P, N> {
6110 PlonkVerifierV3Instance::<P, N>::new(address, __provider)
6111 }
6112 #[inline]
6118 pub fn deploy<
6119 P: alloy_contract::private::Provider<N>,
6120 N: alloy_contract::private::Network,
6121 >(
6122 __provider: P,
6123 ) -> impl ::core::future::Future<
6124 Output = alloy_contract::Result<PlonkVerifierV3Instance<P, N>>,
6125 > {
6126 PlonkVerifierV3Instance::<P, N>::deploy(__provider)
6127 }
6128 #[inline]
6134 pub fn deploy_builder<
6135 P: alloy_contract::private::Provider<N>,
6136 N: alloy_contract::private::Network,
6137 >(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
6138 PlonkVerifierV3Instance::<P, N>::deploy_builder(__provider)
6139 }
6140 #[derive(Clone)]
6152 pub struct PlonkVerifierV3Instance<P, N = alloy_contract::private::Ethereum> {
6153 address: alloy_sol_types::private::Address,
6154 provider: P,
6155 _network: ::core::marker::PhantomData<N>,
6156 }
6157 #[automatically_derived]
6158 impl<P, N> ::core::fmt::Debug for PlonkVerifierV3Instance<P, N> {
6159 #[inline]
6160 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6161 f.debug_tuple("PlonkVerifierV3Instance").field(&self.address).finish()
6162 }
6163 }
6164 #[automatically_derived]
6166 impl<
6167 P: alloy_contract::private::Provider<N>,
6168 N: alloy_contract::private::Network,
6169 > PlonkVerifierV3Instance<P, N> {
6170 #[inline]
6174 pub const fn new(
6175 address: alloy_sol_types::private::Address,
6176 __provider: P,
6177 ) -> Self {
6178 Self {
6179 address,
6180 provider: __provider,
6181 _network: ::core::marker::PhantomData,
6182 }
6183 }
6184 #[inline]
6190 pub async fn deploy(
6191 __provider: P,
6192 ) -> alloy_contract::Result<PlonkVerifierV3Instance<P, N>> {
6193 let call_builder = Self::deploy_builder(__provider);
6194 let contract_address = call_builder.deploy().await?;
6195 Ok(Self::new(contract_address, call_builder.provider))
6196 }
6197 #[inline]
6203 pub fn deploy_builder(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
6204 alloy_contract::RawCallBuilder::new_raw_deploy(
6205 __provider,
6206 ::core::clone::Clone::clone(&BYTECODE),
6207 )
6208 }
6209 #[inline]
6211 pub const fn address(&self) -> &alloy_sol_types::private::Address {
6212 &self.address
6213 }
6214 #[inline]
6216 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
6217 self.address = address;
6218 }
6219 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
6221 self.set_address(address);
6222 self
6223 }
6224 #[inline]
6226 pub const fn provider(&self) -> &P {
6227 &self.provider
6228 }
6229 }
6230 impl<P: ::core::clone::Clone, N> PlonkVerifierV3Instance<&P, N> {
6231 #[inline]
6233 pub fn with_cloned_provider(self) -> PlonkVerifierV3Instance<P, N> {
6234 PlonkVerifierV3Instance {
6235 address: self.address,
6236 provider: ::core::clone::Clone::clone(&self.provider),
6237 _network: ::core::marker::PhantomData,
6238 }
6239 }
6240 }
6241 #[automatically_derived]
6243 impl<
6244 P: alloy_contract::private::Provider<N>,
6245 N: alloy_contract::private::Network,
6246 > PlonkVerifierV3Instance<P, N> {
6247 pub fn call_builder<C: alloy_sol_types::SolCall>(
6252 &self,
6253 call: &C,
6254 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
6255 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
6256 }
6257 pub fn BETA_H_X0(&self) -> alloy_contract::SolCallBuilder<&P, BETA_H_X0Call, N> {
6259 self.call_builder(&BETA_H_X0Call)
6260 }
6261 pub fn BETA_H_X1(&self) -> alloy_contract::SolCallBuilder<&P, BETA_H_X1Call, N> {
6263 self.call_builder(&BETA_H_X1Call)
6264 }
6265 pub fn BETA_H_Y0(&self) -> alloy_contract::SolCallBuilder<&P, BETA_H_Y0Call, N> {
6267 self.call_builder(&BETA_H_Y0Call)
6268 }
6269 pub fn BETA_H_Y1(&self) -> alloy_contract::SolCallBuilder<&P, BETA_H_Y1Call, N> {
6271 self.call_builder(&BETA_H_Y1Call)
6272 }
6273 pub fn COSET_K1(&self) -> alloy_contract::SolCallBuilder<&P, COSET_K1Call, N> {
6275 self.call_builder(&COSET_K1Call)
6276 }
6277 pub fn COSET_K2(&self) -> alloy_contract::SolCallBuilder<&P, COSET_K2Call, N> {
6279 self.call_builder(&COSET_K2Call)
6280 }
6281 pub fn COSET_K3(&self) -> alloy_contract::SolCallBuilder<&P, COSET_K3Call, N> {
6283 self.call_builder(&COSET_K3Call)
6284 }
6285 pub fn COSET_K4(&self) -> alloy_contract::SolCallBuilder<&P, COSET_K4Call, N> {
6287 self.call_builder(&COSET_K4Call)
6288 }
6289 pub fn verify(
6291 &self,
6292 verifyingKey: <IPlonkVerifier::VerifyingKey as alloy::sol_types::SolType>::RustType,
6293 publicInput: [alloy::sol_types::private::primitives::aliases::U256; 5usize],
6294 proof: <IPlonkVerifier::PlonkProof as alloy::sol_types::SolType>::RustType,
6295 ) -> alloy_contract::SolCallBuilder<&P, verifyCall, N> {
6296 self.call_builder(
6297 &verifyCall {
6298 verifyingKey,
6299 publicInput,
6300 proof,
6301 },
6302 )
6303 }
6304 }
6305 #[automatically_derived]
6307 impl<
6308 P: alloy_contract::private::Provider<N>,
6309 N: alloy_contract::private::Network,
6310 > PlonkVerifierV3Instance<P, N> {
6311 pub fn event_filter<E: alloy_sol_types::SolEvent>(
6316 &self,
6317 ) -> alloy_contract::Event<&P, E, N> {
6318 alloy_contract::Event::new_sol(&self.provider, &self.address)
6319 }
6320 }
6321}